# 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) |