50 lines
1.5 KiB
Markdown
50 lines
1.5 KiB
Markdown
# ledger-extract.tsv
|
|
|
|
Per-extension file census derived from the wizardwork file manifest
|
|
(`wizardwork-file-manifest.tsv`: tab-separated, no header: path, size_bytes,
|
|
extension, top_dir).
|
|
|
|
## Artifact
|
|
|
|
- Table: `ledger-extract.tsv` (tab-separated, no header).
|
|
- Verifier: `check_ledger_extract.py` (re-derives the census from the manifest
|
|
and diffs every field against the table).
|
|
- Launcher: `CHECK` (runs the verifier; exit 0 = pass, nonzero = fail).
|
|
- Generator: `generate_ledger_extract.py` (the extraction script).
|
|
|
|
## Columns
|
|
|
|
| Column | Meaning |
|
|
| --- | --- |
|
|
| extension | File extension as recorded in the manifest (leading dots kept; empty → `(no ext)`). |
|
|
| file_count | Number of files with that extension. |
|
|
| bytes_total | Sum of `size_bytes` for the extension. |
|
|
| bytes_mean | `bytes_total / file_count`, 1 decimal place. |
|
|
| bytes_median | Median of `size_bytes`, 1 decimal place. |
|
|
| bytes_min | Smallest `size_bytes`. |
|
|
| bytes_max | Largest `size_bytes`. |
|
|
|
|
Rows are sorted by `file_count` descending, then `extension` ascending.
|
|
|
|
## How to re-verify
|
|
|
|
```bash
|
|
python3 /root/troupe-standup/wizard-work/ledger/check_ledger_extract.py
|
|
# exit code 0 = artifact matches the manifest-derived census
|
|
```
|
|
|
|
or from the repo root:
|
|
|
|
```bash
|
|
bash wizard-work/ledger/CHECK
|
|
```
|
|
|
|
## Provenance
|
|
|
|
| Item | Value |
|
|
| --- | --- |
|
|
| Source manifest | `wizard-work/ledger/wizardwork-file-manifest.tsv` |
|
|
| Source row count | 3426 files |
|
|
| Distinct extensions | recomputed by the verifier at run time |
|
|
| Extraction | `generate_ledger_extract.py` (stdlib only) |
|