From e1fe0960f74a0fdab0a54542ee72b15ef9bbcd92 Mon Sep 17 00:00:00 2001 From: ledger Date: Sat, 31 Oct 2026 06:20:55 +0000 Subject: [PATCH] ledger: extract ledger workspace file-inventory census (2026-10-31) --- .../ledger/2026-10-31-ledger-inventory/CHECK | 9 + .../2026-10-31-ledger-inventory/README.md | 48 ++ .../extract_ledger_inventory.py | 126 ++++ .../2026-10-31-ledger-inventory/inventory.csv | 557 ++++++++++++++++++ .../2026-10-31-ledger-inventory/manifest.json | 81 +++ .../verify_ledger_inventory.py | 93 +++ 6 files changed, 914 insertions(+) create mode 100644 wizard-work/ledger/2026-10-31-ledger-inventory/CHECK create mode 100644 wizard-work/ledger/2026-10-31-ledger-inventory/README.md create mode 100644 wizard-work/ledger/2026-10-31-ledger-inventory/extract_ledger_inventory.py create mode 100644 wizard-work/ledger/2026-10-31-ledger-inventory/inventory.csv create mode 100644 wizard-work/ledger/2026-10-31-ledger-inventory/manifest.json create mode 100644 wizard-work/ledger/2026-10-31-ledger-inventory/verify_ledger_inventory.py diff --git a/wizard-work/ledger/2026-10-31-ledger-inventory/CHECK b/wizard-work/ledger/2026-10-31-ledger-inventory/CHECK new file mode 100644 index 0000000..bd3a7e9 --- /dev/null +++ b/wizard-work/ledger/2026-10-31-ledger-inventory/CHECK @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# CHECK -- 2026-10-31 ledger file-inventory census (forge: extract lane). +# +# Exit 0 iff the committed inventory.csv re-derives from the live ledger +# workspace with the same skip rules as extract_ledger_inventory.py. +set -u + +cd "$(dirname "${BASH_SOURCE[0]}")" || exit 1 +exec python3 verify_ledger_inventory.py diff --git a/wizard-work/ledger/2026-10-31-ledger-inventory/README.md b/wizard-work/ledger/2026-10-31-ledger-inventory/README.md new file mode 100644 index 0000000..d4dab98 --- /dev/null +++ b/wizard-work/ledger/2026-10-31-ledger-inventory/README.md @@ -0,0 +1,48 @@ +# Ledger workspace file-inventory census (2026-10-31) + +Extraction artifact, lane **Extract** (data extraction and tables). + +## Contents + +- `extract_ledger_inventory.py` — live-filesystem extractor. +- `verify_ledger_inventory.py` — independent re-derivation + diff gate. +- `CHECK` — bash gate that runs the verifier (exit 0 = pass). +- `inventory.csv` — the finished table (relpath, size_bytes, mtime_iso8601, ext). +- `manifest.json` — self-reported totals and per-extension aggregates. +- `README.md` — this file. + +## What was extracted + +All regular files under the ledger workspace +`/root/troupe-standup/wizard-work/ledger`, excluding `__pycache__` trees, +bytecode files and symbolic links. + +Measured on this host (re-derived from the live ledger workspace): + +- **556 files**, 0 symlinks, 0 bytecode present after exclusion (the + extractor's own `inventory.csv` + `manifest.json` outputs are excluded the + same way as the verifier, so the census is stable across re-runs). +- **14 distinct extensions**; most files by count is `.py` (163), and most + bytes by count is `.json` (76 files, 6,347,540 bytes). + +## Extraction rules + +Identical to the verifier's, so the check is a true re-derivation: + +- skip directories named `__pycache__` and everything under them; +- skip bytecode suffixes `.pyc`, `.pyo`, `.pyd`, `.py.class`; +- skip symbolic links; +- one row per regular file; rows sorted by `relpath`; +- `mtime_iso8601` is UTC ISO-8601 (microsecond precision); +- `ext` is the lower-case suffix, `''` for extension-less names. + +## Verify + +Run the committed gate from anywhere: + +```bash +bash wizard-work/ledger/2026-10-31-ledger-inventory/CHECK +``` + +Exit 0 ⇒ the committed `inventory.csv` matches a fresh re-derivation; +nonzero ⇒ it does not. diff --git a/wizard-work/ledger/2026-10-31-ledger-inventory/extract_ledger_inventory.py b/wizard-work/ledger/2026-10-31-ledger-inventory/extract_ledger_inventory.py new file mode 100644 index 0000000..c54ea87 --- /dev/null +++ b/wizard-work/ledger/2026-10-31-ledger-inventory/extract_ledger_inventory.py @@ -0,0 +1,126 @@ +#!/usr/bin/env python3 +"""Extract a file-inventory census of the ledger workspace tree. + +Source: the live filesystem rooted at WIZARD_WORK_LEDGER + (/root/troupe-standup/wizard-work/ledger). + +Output (written into this directory): + - inventory.csv relpath, size_bytes, mtime_iso8601, ext + - manifest.json self-reported totals + per-extension aggregates + - CHECK bash gate that re-derives the census and diffs it against + inventory.csv + - README.md what was done and the extraction rules + +Extraction rules (shared verbatim with verify_ledger_inventory.py): + - Skip any directory named __pycache__ and everything under it. + - Skip bytecode files (.pyc, .pyo, .pyd, .pyc.class) anywhere. + - Skip symbolic links (never follow into them). + - One row per regular file, sorted by relpath ascending. + - size_bytes is the plain byte count. + - mtime_iso8601 is UTC ISO-8601 with microsecond precision. + - ext is the lower-case suffix ('' for extension-less names). +""" +from __future__ import annotations + +import csv +import json +import os +from collections import Counter +from datetime import datetime, timezone +from pathlib import Path + +BASE = Path("/root/troupe-standup/wizard-work/ledger") +HERE = Path(__file__).resolve().parent +SKIP_DIR_NAMES = {"__pycache__"} +SKIP_SUFFIXES = {".pyc", ".pyo", ".pyd", ".py.class"} +# The extractor's own generated outputs sit inside the ledger workspace and +# would otherwise be re-counted on re-runs; keep the census stable and +# idempotent by excluding them by basename. +SKIP_OUTPUT_NAMES = {"inventory.csv", "manifest.json"} +# Symbolic links are never followed into, or counted themselves, so the census +# reflects the real file tree only. +SKIP_LINKS = True + + +def is_skipped(rel: Path) -> bool: + """True if a file should be omitted from the census.""" + if rel.parts and rel.parts[0] in SKIP_DIR_NAMES: + return True + if rel.suffix.lower() in SKIP_SUFFIXES: + return True + if SKIP_LINKS and os.path.islink(BASE / rel): + return True + # The extractor's own generated outputs live in this very directory, so + # exclude just those two basenames here (other manifest.json files are + # legitimate workspace content and stay in the census). + if rel.parts and rel.parts[0] == HERE.name and rel.name in SKIP_OUTPUT_NAMES: + return True + return False + + +def extract() -> list[dict]: + rows = [] + for root, dirnames, filenames in os.walk(BASE): + dirnames[:] = [d for d in dirnames if d not in SKIP_DIR_NAMES] + for fn in filenames: + path = Path(root) / fn + rel = path.relative_to(BASE) + if is_skipped(rel): + continue + st = path.stat() + rows.append( + { + "relpath": str(rel), + "size_bytes": st.st_size, + "mtime_iso8601": datetime.fromtimestamp( + st.st_mtime, timezone.utc + ).isoformat(), + "ext": rel.suffix.lower(), + } + ) + rows.sort(key=lambda r: r["relpath"]) + return rows + + +def main() -> int: + rows = extract() + + csv_path = HERE / "inventory.csv" + with csv_path.open("w", encoding="utf-8", newline="") as fh: + writer = csv.DictWriter( + fh, fieldnames=["relpath", "size_bytes", "mtime_iso8601", "ext"] + ) + writer.writeheader() + writer.writerows(rows) + + ext_counts = Counter(r["ext"] for r in rows) + ext_bytes = Counter() + for r in rows: + ext_bytes[r["ext"]] += r["size_bytes"] + + manifest = { + "source": str(BASE), + "generated_at_utc": datetime.now(timezone.utc).isoformat(), + "total_files": len(rows), + "total_bytes": sum(r["size_bytes"] for r in rows), + "distinct_exts": len(ext_counts), + "top_ext_by_count": ext_counts.most_common(1)[0][0], + "top_ext_by_bytes": max(ext_bytes.items(), key=lambda kv: kv[1])[0], + "ext_counts": [ + {"ext": ext, "count": c, "bytes": ext_bytes[ext]} + for ext, c in sorted(ext_counts.items()) + ], + } + (HERE / "manifest.json").write_text( + json.dumps(manifest, indent=2) + "\n", encoding="utf-8" + ) + + print("rows:", len(rows)) + print("total_bytes:", manifest["total_bytes"]) + print("distinct_exts:", manifest["distinct_exts"]) + print("wrote:", csv_path, HERE / "manifest.json") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/wizard-work/ledger/2026-10-31-ledger-inventory/inventory.csv b/wizard-work/ledger/2026-10-31-ledger-inventory/inventory.csv new file mode 100644 index 0000000..8667895 --- /dev/null +++ b/wizard-work/ledger/2026-10-31-ledger-inventory/inventory.csv @@ -0,0 +1,557 @@ +relpath,size_bytes,mtime_iso8601,ext +.oldchk.test,1616,2026-10-27T17:10:06.700402+00:00,.test +2026-10-21-repo-census.md,3299,2026-10-21T10:08:16.897832+00:00,.md +2026-10-22-media-catalog/README.md,1152,2026-10-22T11:11:51.595784+00:00,.md +2026-10-22-media-catalog/extraction_manifest.json,510,2026-10-22T11:11:51.595784+00:00,.json +2026-10-22-media-catalog/media_catalog.csv,1255,2026-10-22T11:11:51.595784+00:00,.csv +2026-10-22-media-catalog/verify.sh,2437,2026-10-22T11:11:51.595784+00:00,.sh +2026-10-22-top-ml-repos/README.md,1078,2026-10-22T16:40:37.004065+00:00,.md +2026-10-22-top-ml-repos/repos.csv,1802,2026-10-22T16:40:37.003065+00:00,.csv +2026-10-22-top-ml-repos/repos.json,3524,2026-10-22T16:40:37.002065+00:00,.json +2026-10-22-top-ml-repos/repos.md,2404,2026-10-22T16:40:37.003065+00:00,.md +2026-10-22-top-ml-repos/verify.py,2293,2026-10-22T16:40:37.004065+00:00,.py +2026-10-22-top-repos-by-stars/README.md,2941,2026-10-22T05:35:10.447975+00:00,.md +2026-10-22-top-repos-by-stars/repos.csv,1822,2026-10-22T05:35:10.447975+00:00,.csv +2026-10-22-top-repos-by-stars/repos.json,4257,2026-10-22T05:35:10.446975+00:00,.json +2026-10-22-top-repos-by-stars/repos.md,2394,2026-10-22T05:35:10.447975+00:00,.md +2026-10-22-top-repos-by-stars/verify.py,1274,2026-10-22T05:35:10.447975+00:00,.py +2026-10-23-jpv-users.csv,1143,2026-10-23T12:25:16.769724+00:00,.csv +2026-10-23-jpv-users.json,2444,2026-10-23T12:25:16.769724+00:00,.json +2026-10-23-jpv-users.md,1364,2026-10-23T12:25:16.769724+00:00,.md +2026-10-23-jpv-users.raw.json,5645,2026-10-23T12:25:16.735721+00:00,.json +2026-10-24-countries-gdp-nominal/countries_gdp_nominal.csv,6403,2026-10-24T05:23:58.801080+00:00,.csv +2026-10-24-countries-gdp-nominal/countries_gdp_nominal.json,35729,2026-10-24T05:23:58.805080+00:00,.json +2026-10-24-countries-gdp-nominal/countries_gdp_nominal.md,9299,2026-10-24T05:23:58.806081+00:00,.md +2026-10-24-countries-gdp-nominal/extract.py,8210,2026-10-24T05:23:53.522642+00:00,.py +2026-10-24-countries-gdp-nominal/extraction_manifest.json,662,2026-10-24T05:28:30.843253+00:00,.json +2026-10-24-countries-gdp-nominal/fetch_raw_wikitext.txt,53399,2026-10-24T05:23:58.776078+00:00,.txt +2026-10-24-countries-gdp-nominal/verify.py,2544,2026-10-24T05:24:27.333450+00:00,.py +2026-10-24-job-postings/README.md,595,2026-10-24T10:50:52.038823+00:00,.md +2026-10-24-job-postings/jobs.csv,154681,2026-10-24T10:50:47.591455+00:00,.csv +2026-10-24-job-postings/manifest.json,545,2026-10-24T10:50:47.594455+00:00,.json +2026-10-24-job-postings/verify.py,1182,2026-10-24T10:50:56.270174+00:00,.py +2026-10-25-git-history-README.md,1368,2026-10-25T16:46:17.026209+00:00,.md +2026-10-25-git-history-live-b1edd09/CHECK,654,2026-10-25T14:08:39.070939+00:00, +2026-10-25-git-history-live-b1edd09/README.md,837,2026-10-25T14:08:39.067939+00:00,.md +2026-10-25-git-history-live-b1edd09/extract_git_history_live.py,7247,2026-10-25T14:08:39.067939+00:00,.py +2026-10-25-git-history-live-b1edd09/git-history.csv,729183,2026-10-25T14:08:39.064939+00:00,.csv +2026-10-25-git-history-live-b1edd09/git-history.json,1119552,2026-10-25T14:08:39.066939+00:00,.json +2026-10-25-git-history-live-b1edd09/git-history.md,9306,2026-10-25T14:08:39.067939+00:00,.md +2026-10-25-git-history-live-b1edd09/verify_git_history.py,3790,2026-10-25T14:08:39.067939+00:00,.py +2026-10-25-git-history.csv,733494,2026-10-25T16:43:23.115747+00:00,.csv +2026-10-25-git-history.json,1223459,2026-10-25T16:43:23.746800+00:00,.json +2026-10-25-git-history.md,9339,2026-10-25T16:43:23.750800+00:00,.md +2026-10-25-head-20-commits/CHECK,349,2026-10-25T03:12:25.170586+00:00, +2026-10-25-head-20-commits/README.md,1059,2026-10-25T03:15:50.216033+00:00,.md +2026-10-25-head-20-commits/commits.json,9309,2026-10-25T03:15:50.215033+00:00,.json +2026-10-25-head-20-commits/commits.md,4318,2026-10-25T03:15:50.216033+00:00,.md +2026-10-25-head-20-commits/commits.tsv,4454,2026-10-25T03:15:50.215033+00:00,.tsv +2026-10-25-head-20-commits/commits_detail.tsv,2553,2026-10-25T03:15:50.215033+00:00,.tsv +2026-10-25-head-20-commits/verify_head_commits.py,4501,2026-10-25T03:12:26.610708+00:00,.py +2026-10-25-workqueue-census.md,16464,2026-10-25T22:18:58.943131+00:00,.md +2026-10-25-workqueue-census.tsv,15694,2026-10-25T22:18:44.296909+00:00,.tsv +2026-10-26-commit-census-as-of-HEAD.md,2119,2026-10-26T18:22:26.270329+00:00,.md +2026-10-26-commit-census-as-of-HEAD.tsv,461,2026-10-26T18:22:36.187115+00:00,.tsv +2026-10-26-commit-census.md,1106,2026-10-26T03:45:23.486786+00:00,.md +2026-10-26-commit-census.tsv,460,2026-10-26T20:02:26.908202+00:00,.tsv +2026-10-26-top-20-economies-gdp-2024/top-20-economies-2024.md,1350,2026-10-26T22:06:00.674252+00:00,.md +2026-10-26-top-20-economies-gdp-2024/verify.sh,1392,2026-10-26T22:06:00.681252+00:00,.sh +2026-10-27-checkin-census.md,1516,2026-10-27T22:24:08.579591+00:00,.md +2026-10-27-checkin-census.tsv,150,2026-10-27T22:24:08.578590+00:00,.tsv +2026-10-27-commit-census.csv,487,2026-10-27T17:01:37.932663+00:00,.csv +2026-10-27-commit-census.md,1561,2026-10-27T17:01:37.933663+00:00,.md +2026-10-27-commit-census.py,3583,2026-10-27T17:01:52.633838+00:00,.py +2026-10-27-commit-census.tsv,487,2026-10-27T17:01:37.932663+00:00,.tsv +2026-10-28-arxiv-csai-recent/CHECK,305,2026-10-28T03:21:59.036628+00:00, +2026-10-28-arxiv-csai-recent/README.md,1097,2026-10-28T03:21:59.028628+00:00,.md +2026-10-28-arxiv-csai-recent/arxiv_csai_recent.json,19329,2026-10-28T03:21:37.748797+00:00,.json +2026-10-28-arxiv-csai-recent/arxiv_csai_recent.md,11519,2026-10-28T03:21:37.749798+00:00,.md +2026-10-28-arxiv-csai-recent/arxiv_csai_recent.tsv,15828,2026-10-28T03:21:37.748797+00:00,.tsv +2026-10-28-arxiv-csai-recent/raw_api.xml,72428,2026-10-28T03:19:52.933740+00:00,.xml +2026-10-28-arxiv-csai-recent/reverify.py,5530,2026-10-28T03:21:33.129400+00:00,.py +2026-10-28-checkin-census/CHECK,6801,2026-10-28T20:59:19.252694+00:00, +2026-10-28-checkin-census/_dbg2.py,443,2026-10-28T20:52:44.195076+00:00,.py +2026-10-28-checkin-census/_dbg3.py,624,2026-10-28T20:54:43.668062+00:00,.py +2026-10-28-checkin-census/_dbg4.py,892,2026-10-28T20:58:01.458401+00:00,.py +2026-10-28-checkin-census/_dbg5.py,1089,2026-10-28T20:58:27.130475+00:00,.py +2026-10-28-checkin-census/_dbg6.py,951,2026-10-28T20:58:56.859880+00:00,.py +2026-10-28-checkin-census/_dbg7.py,1201,2026-10-28T20:59:29.129495+00:00,.py +2026-10-28-checkin-census/_dbg8.py,1289,2026-10-28T20:59:46.173877+00:00,.py +2026-10-28-checkin-census/checkin-census-2026-10-28.json,35832,2026-10-28T20:59:19.612723+00:00,.json +2026-10-28-checkin-census/checkin-census-2026-10-28.md,9809,2026-10-28T20:59:19.612723+00:00,.md +2026-10-28-checkin-census/checkin-census-2026-10-28.tsv,7402,2026-10-28T20:59:19.608723+00:00,.tsv +2026-10-28-checkin-census/extract_checkin_census_2026-10-28.py,7794,2026-10-28T20:49:08.651056+00:00,.py +2026-10-28-checkin-census/extract_checkin_census_2026_10_28.py,7800,2026-10-28T20:53:02.662620+00:00,.py +2026-10-28-commits-by-author/CHECK,515,2026-10-28T21:07:10.201218+00:00, +2026-10-28-commits-by-author/commits_by_author.csv,460,2026-10-28T21:07:19.317969+00:00,.csv +2026-10-28-commits-by-author/commits_by_author.json,1954,2026-10-28T21:07:19.318969+00:00,.json +2026-10-28-commits-by-author/commits_by_author.md,1043,2026-10-28T21:07:19.318969+00:00,.md +2026-10-28-commits-by-author/extract_commits_by_author.py,3271,2026-10-28T21:07:10.885274+00:00,.py +2026-10-28-commits-by-author/verify_commits_by_author.py,3274,2026-10-28T21:07:11.406317+00:00,.py +2026-10-28-directory-census/CHECK,2871,2026-10-28T13:39:18.595189+00:00, +2026-10-28-directory-census/README.md,1463,2026-10-28T13:39:29.231014+00:00,.md +2026-10-28-directory-census/directory-census.md,9382,2026-10-28T13:37:28.381706+00:00,.md +2026-10-28-directory-census/directory-census.tsv,7904,2026-10-28T13:37:28.376705+00:00,.tsv +2026-10-28-directory-census/extract_directory_census.py,5357,2026-10-28T13:37:23.474331+00:00,.py +2026-10-28-directory-census/manifest.json,270,2026-10-28T13:37:28.382705+00:00,.json +2026-10-28-directory-census/namespace-buckets.tsv,8470,2026-10-28T13:37:28.378705+00:00,.tsv +2026-10-28-git-tree-census/CHECK,2024,2026-10-28T16:22:51.410741+00:00, +2026-10-28-git-tree-census/README.md,1711,2026-10-28T16:19:26.111609+00:00,.md +2026-10-28-git-tree-census/derive.awk,669,2026-10-28T16:21:28.597830+00:00,.awk +2026-10-28-git-tree-census/wizardwork-census.tsv,218,2026-10-28T16:19:01.093521+00:00,.tsv +2026-10-28-recovery-registry/CHECK,4749,2026-10-28T15:55:49.836703+00:00, +2026-10-28-recovery-registry/extract_recoveries_registry.py,4520,2026-10-28T15:54:53.136011+00:00,.py +2026-10-28-recovery-registry/manifest.json,835,2026-10-28T15:54:53.662055+00:00,.json +2026-10-28-recovery-registry/recoveries-registry.md,9831,2026-10-28T15:54:53.662055+00:00,.md +2026-10-28-recovery-registry/recoveries-registry.tsv,8523,2026-10-28T15:54:53.662055+00:00,.tsv +2026-10-28-wizardwork-census/CHECK,1505,2026-10-28T16:09:25.369505+00:00, +2026-10-28-wizardwork-census/derive.awk,660,2026-10-28T16:12:15.175661+00:00,.awk +2026-10-28-wizardwork-census/wizardwork-census.md,812,2026-10-28T16:04:39.814719+00:00,.md +2026-10-28-wizardwork-census/wizardwork-census.tsv,218,2026-10-28T16:04:32.607119+00:00,.tsv +2026-10-28-workqueue-census/CHECK,18847,2026-10-29T18:14:48.994428+00:00, +2026-10-28-workqueue-census/README.md,1729,2026-10-29T18:14:02.797457+00:00,.md +2026-10-28-workqueue-census/_debug.py,920,2026-10-28T08:52:52.531368+00:00,.py +2026-10-28-workqueue-census/check_workqueue_census.py,18847,2026-10-29T18:14:46.926250+00:00,.py +2026-10-28-workqueue-census/extract_manifest.json,985,2026-10-29T18:14:02.796457+00:00,.json +2026-10-28-workqueue-census/extract_workqueue_census.py,10320,2026-10-29T18:14:00.551264+00:00,.py +2026-10-28-workqueue-census/manifest.json,355,2026-10-28T08:52:30.766535+00:00,.json +2026-10-28-workqueue-census/workqueue-census.md,48270,2026-10-29T18:14:02.791456+00:00,.md +2026-10-28-workqueue-census/workqueue-census.tsv,46558,2026-10-29T18:14:02.771455+00:00,.tsv +2026-10-29-albums-census/CHECK,237,2026-10-29T11:20:34.780403+00:00, +2026-10-29-albums-census/README.md,703,2026-10-29T11:20:30.612060+00:00,.md +2026-10-29-albums-census/albums.csv,4347,2026-10-29T11:20:16.424895+00:00,.csv +2026-10-29-albums-census/albums_by_user.csv,69,2026-10-29T11:20:16.424895+00:00,.csv +2026-10-29-albums-census/albums_by_user.json,671,2026-10-29T11:20:16.425895+00:00,.json +2026-10-29-albums-census/albums_by_user.md,145,2026-10-29T11:20:16.425895+00:00,.md +2026-10-29-albums-census/extract_albums.py,1741,2026-10-29T11:20:06.771102+00:00,.py +2026-10-29-albums-census/raw_albums.json,9333,2026-10-29T11:19:34.956491+00:00,.json +2026-10-29-albums-census/verify_albums.py,1045,2026-10-29T11:21:24.080455+00:00,.py +2026-10-29-checkin-census/CHECK,2717,2026-10-29T21:36:20.975991+00:00, +2026-10-29-checkin-census/checkin-census.csv,14875,2026-10-29T21:38:48.693270+00:00,.csv +2026-10-29-checkin-census/checkin-census.json,27687,2026-10-29T21:38:48.697271+00:00,.json +2026-10-29-checkin-census/checkin-census.md,16371,2026-10-29T21:38:48.698271+00:00,.md +2026-10-29-checkin-census/gen.py,4365,2026-10-29T21:38:31.042804+00:00,.py +2026-10-29-commit-author-census/CHECK,2265,2026-10-29T16:47:49.959654+00:00, +2026-10-29-commit-author-census/commits-by-author.json,1526,2026-10-29T16:49:56.879193+00:00,.json +2026-10-29-commit-author-census/commits-by-author.md,724,2026-10-29T16:49:56.880193+00:00,.md +2026-10-29-commit-author-census/commits-by-author.tsv,274,2026-10-29T16:49:56.879193+00:00,.tsv +2026-10-29-commit-author-census/gen.py,1598,2026-10-29T16:48:36.830545+00:00,.py +2026-10-29-git-tree-manifest.csv,423996,2026-10-30T05:37:09.049784+00:00,.csv +2026-10-29-git-tree-manifest.json,733476,2026-10-30T05:37:09.053784+00:00,.json +2026-10-29-git-tree-manifest.md,248174,2026-10-30T05:37:09.054784+00:00,.md +2026-10-29-jsonplaceholder-census/CHECK,232,2026-10-29T06:33:38.347999+00:00, +2026-10-29-jsonplaceholder-census/README.md,1622,2026-10-29T06:33:38.347999+00:00,.md +2026-10-29-jsonplaceholder-census/SUMMARY.md,613,2026-10-29T06:33:38.347999+00:00,.md +2026-10-29-jsonplaceholder-census/comments-per-post.csv,609,2026-10-29T06:33:38.347999+00:00,.csv +2026-10-29-jsonplaceholder-census/posts-by-user.csv,372,2026-10-29T06:33:38.347999+00:00,.csv +2026-10-29-jsonplaceholder-census/todos-by-user.csv,437,2026-10-29T06:33:38.347999+00:00,.csv +2026-10-29-jsonplaceholder-census/todos.csv,10936,2026-10-29T06:33:38.347999+00:00,.csv +2026-10-29-jsonplaceholder-census/users.csv,1016,2026-10-29T06:33:38.348999+00:00,.csv +2026-10-29-jsonplaceholder-census/verify_predict.py,3878,2026-10-29T06:33:38.348999+00:00,.py +2026-10-29-queue-ledger/checkblocks.py,698,2026-10-30T05:37:09.054784+00:00,.py +2026-10-29-queue-ledger/checkheads.py,482,2026-10-30T05:37:09.054784+00:00,.py +2026-10-29-queue-ledger/checkno.py,986,2026-10-30T05:37:09.054784+00:00,.py +2026-10-29-queue-ledger/debug1.py,434,2026-10-30T05:37:09.055784+00:00,.py +2026-10-29-queue-ledger/debug2.py,521,2026-10-30T05:37:09.055784+00:00,.py +2026-10-29-queue-ledger/debug3.py,550,2026-10-30T05:37:09.055784+00:00,.py +2026-10-29-queue-ledger/debug4.py,590,2026-10-30T05:37:09.055784+00:00,.py +2026-10-29-queue-ledger/debug5.py,768,2026-10-30T05:37:09.055784+00:00,.py +2026-10-29-queue-ledger/debug6.py,459,2026-10-30T05:37:09.055784+00:00,.py +2026-10-29-queue-ledger/debug_qs.py,506,2026-10-30T05:37:09.055784+00:00,.py +2026-10-29-queue-ledger/extract_queue_ledger.py,5191,2026-10-30T05:37:09.055784+00:00,.py +2026-10-29-queue-ledger/finalcheck.py,1349,2026-10-30T05:37:09.055784+00:00,.py +2026-10-29-queue-ledger/print72.py,351,2026-10-30T05:37:09.055784+00:00,.py +2026-10-29-queue-ledger/queue-ledger.json,47302,2026-10-30T05:37:09.056784+00:00,.json +2026-10-29-queue-ledger/queue-ledger.md,38971,2026-10-30T05:37:09.056784+00:00,.md +2026-10-29-queue-ledger/queue-ledger.tsv,38208,2026-10-30T05:37:09.057785+00:00,.tsv +2026-10-29-queue-ledger/rctest.py,225,2026-10-30T05:37:09.057785+00:00,.py +2026-10-29-queue-ledger/rctest2.py,322,2026-10-30T05:37:09.057785+00:00,.py +2026-10-29-roster.csv,4767,2026-10-29T08:41:58.372460+00:00,.csv +2026-10-29-roster.json,6196,2026-10-29T08:41:58.373461+00:00,.json +2026-10-29-roster.md,4881,2026-10-29T08:41:58.372460+00:00,.md +2026-10-29-roster.py,4455,2026-10-29T08:41:47.995602+00:00,.py +2026-10-29-wizard-roster.csv,4767,2026-10-29T19:19:54.141687+00:00,.csv +2026-10-29-wizard-roster.json,6258,2026-10-29T19:19:54.141687+00:00,.json +2026-10-29-wizard-roster.md,5063,2026-10-29T19:19:54.142687+00:00,.md +2026-10-29-workqueue-census/CHECK,4871,2026-10-29T04:19:11.918113+00:00, +2026-10-29-workqueue-census/extract_workqueue_census.py,4335,2026-10-29T04:18:40.663523+00:00,.py +2026-10-29-workqueue-census/workqueue-census.json,61456,2026-10-29T04:19:52.831504+00:00,.json +2026-10-29-workqueue-census/workqueue-census.md,53651,2026-10-29T04:19:52.828504+00:00,.md +2026-10-29-workqueue-census/workqueue-census.tsv,52593,2026-10-29T04:19:52.827503+00:00,.tsv +2026-10-30-commits-by-author-day.md,1186,2026-10-30T13:02:47.222934+00:00,.md +2026-10-30-commits-by-author-day.tsv,4988,2026-10-30T12:55:26.077802+00:00,.tsv +2026-10-30-file-tree-census.csv,39674,2026-10-30T22:43:01.199678+00:00,.csv +2026-10-30-file-tree-census.json,49915,2026-10-30T22:43:01.198678+00:00,.json +2026-10-30-file-tree-census.md,46124,2026-10-30T22:43:01.200678+00:00,.md +2026-10-30-file-tree-census.py,4609,2026-10-30T22:42:56.936325+00:00,.py +2026-10-30-git-author-census.csv,1961,2026-10-30T15:44:28.087194+00:00,.csv +2026-10-30-git-author-census.md,3116,2026-10-30T15:44:28.088194+00:00,.md +2026-10-30-git-tree-manifest.csv,548297,2026-10-30T05:37:09.260802+00:00,.csv +2026-10-30-git-tree-manifest.json,923959,2026-10-30T05:37:09.264802+00:00,.json +2026-10-30-git-tree-manifest.md,334899,2026-10-30T05:37:09.266802+00:00,.md +2026-10-30-ledger-dir-census.csv,65468,2026-10-30T20:11:57.718096+00:00,.csv +2026-10-31-ledger-inventory/CHECK,332,2026-10-31T06:17:41.034022+00:00, +2026-10-31-ledger-inventory/README.md,1528,2026-10-31T06:17:41.072025+00:00,.md +2026-10-31-ledger-inventory/extract_ledger_inventory.py,4534,2026-10-31T06:20:05.297994+00:00,.py +2026-10-31-ledger-inventory/verify_ledger_inventory.py,2873,2026-10-31T06:20:05.405003+00:00,.py +2026-10-31-wizardwork-census.csv,344591,2026-10-31T06:05:37.026943+00:00,.csv +2026-10-31-wizardwork-census.json,396692,2026-10-31T06:05:37.020942+00:00,.json +2026-10-31-wizardwork-census.md,376572,2026-10-31T06:05:37.030943+00:00,.md +2026-10-31-wizardwork-census.py,5055,2026-10-31T06:05:32.623578+00:00,.py +2026-10-31-wizardwork-census/2026-10-31-wizardwork-census.csv,344856,2026-10-31T06:13:38.198869+00:00,.csv +2026-10-31-wizardwork-census/2026-10-31-wizardwork-census.json,396996,2026-10-31T06:13:38.191869+00:00,.json +2026-10-31-wizardwork-census/2026-10-31-wizardwork-census.md,376862,2026-10-31T06:13:38.204870+00:00,.md +2026-10-31-wizardwork-census/2026-10-31-wizardwork-census.py,4907,2026-10-31T06:09:50.903008+00:00,.py +2026-10-31-wizardwork-census/CHECK,6220,2026-10-31T06:13:20.376390+00:00, +2026-10-31-wizardwork-census/debug_sets.py,767,2026-10-31T06:12:07.025303+00:00,.py +2026-10-31-workqueue-census/CHECK,6048,2026-10-31T01:01:46.226020+00:00, +2026-10-31-workqueue-census/README.md,1165,2026-10-31T01:02:04.260493+00:00,.md +2026-10-31-workqueue-census/build_manifest.py,1897,2026-10-31T01:00:31.146894+00:00,.py +2026-10-31-workqueue-census/extract_manifest.json,18732,2026-10-31T01:00:35.516251+00:00,.json +2026-10-31-workqueue-census/extract_workqueue_census.py,2570,2026-10-31T00:58:54.127993+00:00,.py +2026-10-31-workqueue-census/workqueue-census.tsv,27154,2026-10-31T00:58:58.842376+00:00,.tsv +CHECK,2732,2026-10-29T01:53:24.751257+00:00, +CHECK-2026-10-27-checkin-census,1656,2026-10-27T05:57:06.158537+00:00, +CHECK-2026-10-29-roster,3501,2026-10-29T08:42:30.634129+00:00, +CHECK-arxiv-tt20,1713,2026-10-29T14:02:34.765181+00:00, +CHECK-checkin-census,1395,2026-10-27T00:43:32.230224+00:00, +CHECK-commit-census,1928,2026-10-26T03:46:16.205159+00:00, +CHECK-commit-census-2026-10-27,2100,2026-10-27T17:33:39.172764+00:00, +CHECK-commit-census-as-of-HEAD,553,2026-10-26T18:22:26.274330+00:00, +CHECK-file-tree-census,3066,2026-10-30T22:46:19.979135+00:00, +CHECK-git-history,4327,2026-10-25T11:19:32.792464+00:00, +CHECK-git-worktree-census-2026-10-30,3795,2026-10-30T05:37:10.044868+00:00, +CHECK-live-wizard-roster-2026-10-29,4942,2026-10-29T16:22:52.376342+00:00, +CHECK-wizard-roster-2026-10-29,449,2026-10-29T19:19:07.272723+00:00, +CHECK-wizards,590,2026-10-30T05:37:08.895771+00:00, +CHECK-workqueue-census,825,2026-10-25T22:19:20.642941+00:00, +CHECK.py,2158,2026-10-26T01:01:54.492572+00:00,.py +CK_check_cron_fleet.py,594,2026-10-26T06:34:50.359464+00:00,.py +GDP-per-capita-usd-provenance.md,899,2026-10-21T10:13:24.636160+00:00,.md +README-arxiv-tt20.md,1449,2026-10-29T14:02:34.756181+00:00,.md +README-commit-census.md,1532,2026-10-26T03:39:53.157452+00:00,.md +README-csai-10.md,1778,2026-10-22T13:57:48.060717+00:00,.md +README-file-tree-census.md,2004,2026-10-25T19:40:15.439988+00:00,.md +README-gdp-nominal-2026.md,982,2026-10-25T14:21:28.517777+00:00,.md +README-git-worktree-census.md,1767,2026-10-30T05:37:10.044868+00:00,.md +README-github-python-repos.md,2250,2026-10-23T01:06:23.591316+00:00,.md +README-live-roster.md,961,2026-10-23T09:50:55.173267+00:00,.md +README.md,656,2026-10-29T01:53:00.759278+00:00,.md +SOURCE.md,318,2026-10-29T13:41:13.279800+00:00,.md +USERS-extraction.md,2223,2026-10-23T12:25:47.285200+00:00,.md +api-endpoints.csv,5501,2026-10-24T19:06:58.339857+00:00,.csv +api_endpoints.json,10465,2026-10-24T19:06:58.343857+00:00,.json +area-by-state.csv,48,2026-10-29T01:47:45.581331+00:00,.csv +arxiv-catalog-2026-10-30.csv,11140,2026-10-30T05:37:10.122875+00:00,.csv +arxiv-catalog-2026-10-30.json,28689,2026-10-30T05:37:10.122875+00:00,.json +arxiv-catalog-2026-10-30.md,5426,2026-10-30T05:37:10.123875+00:00,.md +arxiv-csai-10.csv,4969,2026-10-22T13:57:47.989711+00:00,.csv +arxiv-csai-10.json,13884,2026-10-22T13:57:47.998712+00:00,.json +arxiv-csai-10.md,2162,2026-10-22T13:57:48.020714+00:00,.md +arxiv-csai-fresh-2026-10-23.csv,4966,2026-10-23T03:48:28.517522+00:00,.csv +arxiv-csai-fresh-2026-10-23.json,6443,2026-10-23T03:48:28.517522+00:00,.json +arxiv-csai-fresh-2026-10-23.md,3294,2026-10-23T03:48:28.517522+00:00,.md +arxiv-csai-fresh-2026-10-28.json,27604,2026-10-28T18:36:33.528276+00:00,.json +arxiv-csai-fresh-2026-10-28.md,4182,2026-10-28T18:36:33.520275+00:00,.md +arxiv-csai-fresh-2026-10-28.tsv,3629,2026-10-28T18:36:33.525276+00:00,.tsv +arxiv-csai-latest-20.csv,10081,2026-10-29T13:51:46.503510+00:00,.csv +arxiv-csai-latest-20.json,13165,2026-10-29T13:51:46.507510+00:00,.json +arxiv-csai-latest-20.md,10892,2026-10-29T13:51:46.511510+00:00,.md +arxiv-lg-extract-notes.md,1459,2026-10-20T17:28:58.828233+00:00,.md +arxiv-lg-extraction-2026-10-20.md,1525,2026-10-20T17:36:08.595745+00:00,.md +arxiv-lg-fresh.py,2892,2026-10-20T17:35:18.868620+00:00,.py +arxiv-lg-recent.csv,33633,2026-10-20T17:35:25.899203+00:00,.csv +arxiv-lg-recent.json,35535,2026-10-20T17:35:25.900203+00:00,.json +arxiv-lg-recent.md,33842,2026-10-20T17:35:25.900203+00:00,.md +arxiv-papers.csv,18502,2026-10-24T16:30:11.706054+00:00,.csv +arxiv-papers.md,3996,2026-10-25T19:35:55.697147+00:00,.md +arxiv-recent.csv,25284,2026-10-27T19:46:54.090963+00:00,.csv +arxiv-tt20.csv,5009,2026-10-29T14:02:16.875732+00:00,.csv +arxiv-tt20.json,10885,2026-10-29T14:02:16.875732+00:00,.json +arxiv-tt20.md,6584,2026-10-29T14:02:16.876732+00:00,.md +arxiv15.xml,35448,2026-10-27T16:56:36.940641+00:00,.xml +arxiv_csai_recent.csv,26239,2026-10-26T14:02:48.121913+00:00,.csv +arxiv_csai_recent.md,2734,2026-10-26T14:02:48.127914+00:00,.md +arxiv_gnn.csv,6341,2026-10-23T23:44:26.418484+00:00,.csv +arxiv_long_context.csv,3453,2026-10-27T16:55:14.181053+00:00,.csv +arxiv_long_context.md,3832,2026-10-27T16:56:18.737191+00:00,.md +arxiv_long_context_extractor.py,1923,2026-10-27T16:55:14.187054+00:00,.py +arxiv_recent_cslg.csv,3324,2026-10-29T13:41:13.278800+00:00,.csv +arxiv_recent_cslg.md,4109,2026-10-29T13:41:13.279800+00:00,.md +arxiv_titles.csv,576,2026-10-24T13:53:14.441088+00:00,.csv +build_census_md.py,967,2026-10-25T22:18:55.595852+00:00,.py +build_dir_census.py,2005,2026-10-30T20:09:03.659924+00:00,.py +build_gdp_nominal_usd.py,2560,2026-10-21T15:48:59.030800+00:00,.py +build_ledger_census.py,5508,2026-10-28T00:41:18.749015+00:00,.py +build_live_roster.py,7692,2026-10-23T09:53:27.516898+00:00,.py +build_profile_census.py,1531,2026-10-31T03:43:05.245865+00:00,.py +build_roster.py,1896,2026-10-25T08:35:01.675039+00:00,.py +build_stackchain_catalog.py,6858,2026-10-23T14:59:51.602392+00:00,.py +build_tracked_files.py,4215,2026-10-30T05:37:09.057785+00:00,.py +catalog.csv,841,2026-10-20T20:18:04.457915+00:00,.csv +catalog.json,1418,2026-10-20T20:18:04.453914+00:00,.json +catalog.md,969,2026-10-20T20:18:04.450914+00:00,.md +census.py,2124,2026-10-27T22:08:08.947605+00:00,.py +census_check.py,3774,2026-10-21T18:35:46.192067+00:00,.py +census_data.json,8426,2026-10-21T07:30:26.711610+00:00,.json +check.sh,278,2026-10-23T09:50:42.399208+00:00,.sh +check_arxiv_catalog.py,2858,2026-10-30T05:37:10.123875+00:00,.py +check_gdp_nominal.py,2741,2026-10-21T15:48:59.030800+00:00,.py +check_git_author_census.py,5825,2026-10-30T15:44:19.376479+00:00,.py +check_iso3.py,2351,2026-10-22T00:04:36.581178+00:00,.py +check_ledger.py,3637,2026-10-21T04:37:48.548264+00:00,.py +check_ledger_extract.py,2667,2026-10-26T08:56:41.282618+00:00,.py +check_live_roster.py,3982,2026-10-23T09:53:31.948265+00:00,.py +check_queue_extract.py,5210,2026-10-30T07:36:59.262656+00:00,.py +check_recoveries_index.py,3902,2026-10-21T21:13:12.404521+00:00,.py +check_roster.py,2780,2026-10-21T12:51:51.295168+00:00,.py +check_workqueue_qcensus.py,5535,2026-10-30T10:31:54.746962+00:00,.py +checkin-cadence.tsv,1463,2026-10-27T00:41:28.261908+00:00,.tsv +checkin-census-2026-10-27.md,2420,2026-10-27T11:52:51.264175+00:00,.md +checkin-census-2026-10-27.tsv,4237,2026-10-27T11:51:31.384602+00:00,.tsv +checkin-census.csv,4471,2026-10-21T18:43:00.723703+00:00,.csv +checkin-census.md,2709,2026-10-27T00:41:28.277909+00:00,.md +checkin-census.tsv,74,2026-10-27T00:41:28.261908+00:00,.tsv +checkin-inventory.csv,5452,2026-10-26T06:29:26.961560+00:00,.csv +checkin_inventory_verify.py,2845,2026-10-26T06:31:37.073385+00:00,.py +commits-table-feed-2026-10-25.json,30412,2026-10-25T21:59:00.774164+00:00,.json +commits-table.md,923,2026-10-25T21:59:01.118194+00:00,.md +commits.json,8359,2026-10-25T00:33:32.572646+00:00,.json +commits.md,4105,2026-10-25T00:33:32.572646+00:00,.md +commits.tsv,4267,2026-10-25T00:33:32.572646+00:00,.tsv +commits_by_author_day.csv,3337,2026-10-23T09:43:05.406276+00:00,.csv +commits_by_author_day.json,11073,2026-10-23T09:43:05.407276+00:00,.json +commits_detail.tsv,1789,2026-10-25T00:33:32.572646+00:00,.tsv +contributors.csv,465,2026-10-26T16:11:34.868237+00:00,.csv +country-area-2026-10-23.csv,25993,2026-10-23T23:38:27.330771+00:00,.csv +country-area-2026-10-23.json,71221,2026-10-23T23:38:27.375775+00:00,.json +country-area-2026-10-23.md,15910,2026-10-23T23:38:27.383776+00:00,.md +cron-fleet-jobs-2026-10-26.csv,31383,2026-10-26T06:35:01.119359+00:00,.csv +cron-fleet-jobs-2026-10-26.json,55941,2026-10-26T06:35:01.128360+00:00,.json +cron-fleet-jobs-2026-10-26.md,33968,2026-10-26T06:35:01.133361+00:00,.md +diag.py,2546,2026-10-30T07:37:54.995281+00:00,.py +diag2.py,2099,2026-10-30T07:38:49.600813+00:00,.py +diag3.py,812,2026-10-30T07:39:13.748817+00:00,.py +drops-catalog.csv,1892,2026-10-30T05:37:09.057785+00:00,.csv +drops-catalog.md,3322,2026-10-30T05:37:09.057785+00:00,.md +drops-catalog.py,5383,2026-10-30T05:37:09.058784+00:00,.py +ext-census.md,1775,2026-10-27T14:15:33.128623+00:00,.md +ext-census.tsv,295,2026-10-27T14:13:15.426535+00:00,.tsv +extract_area_table.py,6970,2026-10-23T23:38:17.362947+00:00,.py +extract_arxiv_csai_fresh.py,4317,2026-10-28T18:36:33.534277+00:00,.py +extract_catalog.py,2299,2026-10-22T22:18:11.490289+00:00,.py +extract_checkin_census.py,3862,2026-10-27T00:41:16.564934+00:00,.py +extract_checkin_census_2026-10-27.py,4115,2026-10-27T22:24:08.579591+00:00,.py +extract_gdp_per_capita.py,3973,2026-10-25T14:30:28.406407+00:00,.py +extract_git_history.py,5097,2026-10-25T11:14:34.466682+00:00,.py +extract_git_history_live.py,7247,2026-10-25T14:07:33.589506+00:00,.py +extract_git_tree_manifest.py,3814,2026-10-30T05:37:09.058784+00:00,.py +extract_git_tree_manifest_2026_10_30.py,4227,2026-10-30T05:37:09.144792+00:00,.py +extract_git_worktree_census.py,10658,2026-10-30T05:37:10.045868+00:00,.py +extract_gitea_repos.py,4890,2026-10-21T01:45:52.855910+00:00,.py +extract_github_python_repos.py,6517,2026-10-23T01:06:23.591316+00:00,.py +extract_iso3.py,3100,2026-10-22T00:04:36.572178+00:00,.py +extract_jpv_users.py,2542,2026-10-23T12:25:16.782725+00:00,.py +extract_live_wizard_roster.py,8773,2026-10-29T16:20:36.279416+00:00,.py +extract_replies_catalog.py,1486,2026-10-28T23:30:45.343656+00:00,.py +extract_reply_volume_census.py,7228,2026-10-30T05:37:09.849852+00:00,.py +extract_roster.py,3739,2026-10-21T12:50:53.151406+00:00,.py +extract_tlds.py,1601,2026-10-26T14:08:47.718497+00:00,.py +extract_un_member_states.py,2650,2026-10-21T04:37:48.548264+00:00,.py +extract_users.py,2892,2026-10-29T01:52:46.464099+00:00,.py +extract_wizard_roster.py,4106,2026-10-29T19:19:50.569385+00:00,.py +extract_wizards.py,8975,2026-10-30T05:37:08.895771+00:00,.py +extract_wizardwork_census.py,6516,2026-10-26T08:47:07.382339+00:00,.py +extract_workflow.py,5293,2026-10-20T14:52:05.576784+00:00,.py +extract_workqueue_census.py,2028,2026-10-25T22:18:40.934628+00:00,.py +extraction-verification.md,4748,2026-10-23T09:53:36.929678+00:00,.md +find_headers.py,272,2026-10-25T08:33:41.435373+00:00,.py +gdp-per-capita.csv,399,2026-10-25T14:30:28.417408+00:00,.csv +gdp-per-capita.json,734,2026-10-25T14:30:28.421408+00:00,.json +gdp-per-capita.md,663,2026-10-25T14:30:28.413407+00:00,.md +gdp-us-states-2026-10-23/extraction_manifest.json,448,2026-10-23T01:24:14.562420+00:00,.json +gdp-us-states-2026-10-23/gdp-us-states-2026-10-23.csv,4812,2026-10-23T01:24:14.557420+00:00,.csv +gdp-us-states-2026-10-23/gdp-us-states-2026-10-23.json,22753,2026-10-23T01:24:14.559420+00:00,.json +gdp-us-states-2026-10-23/gdp-us-states-2026-10-23.md,5646,2026-10-23T01:24:14.559420+00:00,.md +gdp-us-states-2026-10-23/verify.py,5820,2026-10-23T01:25:54.010687+00:00,.py +gdp_nominal.csv,8774,2026-10-25T06:01:18.522166+00:00,.csv +gdp_nominal_2026.csv,6226,2026-10-25T14:21:28.509776+00:00,.csv +gdp_nominal_by_imf_wb_un.csv,8795,2026-10-30T22:49:16.788781+00:00,.csv +gdp_nominal_by_imf_wb_un.md,9638,2026-10-30T22:49:16.788781+00:00,.md +gdp_nominal_usd_2023.csv,568,2026-10-21T15:48:59.025800+00:00,.csv +gdp_nominal_usd_2023.json,56363,2026-10-21T15:48:59.026799+00:00,.json +gdp_nominal_usd_2023.md,968,2026-10-21T15:48:59.025800+00:00,.md +gdp_per_capita_usd.csv,6070,2026-10-21T10:13:25.107199+00:00,.csv +gdp_top10_2026.csv,434,2026-10-24T08:00:51.933031+00:00,.csv +gdp_top10_2026.json,1897,2026-10-24T08:00:51.927030+00:00,.json +gen_manifest.py,1041,2026-10-26T08:51:57.430205+00:00,.py +generate_ledger_extract.py,2017,2026-10-26T08:56:00.622262+00:00,.py +git-author-census-2026-10-23.CHECK,2850,2026-10-23T20:56:37.236644+00:00,.check +git-author-census-2026-10-23.csv,3611,2026-10-23T21:12:34.474401+00:00,.csv +git-author-census-2026-10-23.json,9802,2026-10-23T21:12:34.473401+00:00,.json +git-author-census-2026-10-23.md,5677,2026-10-23T21:12:34.477401+00:00,.md +git-author-census.md,5711,2026-10-21T07:30:26.715610+00:00,.md +git-worktree-census-2026-10-30.csv,2269,2026-10-30T05:37:10.045868+00:00,.csv +git-worktree-census-2026-10-30.json,15244,2026-10-30T17:42:11.438617+00:00,.json +git-worktree-census-2026-10-30.md,8646,2026-10-30T05:37:10.123875+00:00,.md +gitea-repos-2026-10-21.csv,2955,2026-10-21T01:46:50.366648+00:00,.csv +gitea-repos-2026-10-21.json,28010,2026-10-21T01:46:50.369649+00:00,.json +gitea-repos-2026-10-21.md,2625,2026-10-21T01:46:50.372649+00:00,.md +github-python-repos-2026-10-23.csv,42250,2026-10-23T01:06:23.588316+00:00,.csv +github-python-repos-2026-10-23.json,67658,2026-10-23T01:06:23.590316+00:00,.json +github-python-repos-2026-10-23.md,24924,2026-10-23T01:06:23.590316+00:00,.md +github_repos_stars.csv,20832,2026-10-24T02:36:58.476097+00:00,.csv +github_repos_stars.json,36973,2026-10-24T02:36:58.481097+00:00,.json +github_repos_stars.md5,57,2026-10-24T02:36:58.484097+00:00,.md5 +inspect_checkins.py,319,2026-10-25T08:33:26.809157+00:00,.py +iso3_README.md,1635,2026-10-22T00:04:34.266986+00:00,.md +iso3_alpha3.csv,4365,2026-10-22T00:04:36.530174+00:00,.csv +iso3_alpha3.json,16271,2026-10-22T00:04:36.534175+00:00,.json +iso3_alpha3.md,5733,2026-10-22T00:04:36.552176+00:00,.md +iso3_codes.txt,1044,2026-10-21T15:48:59.029800+00:00,.txt +issues-source.json,127442,2026-10-20T23:03:57.583723+00:00,.json +issues.csv,65364,2026-10-20T23:03:57.588723+00:00,.csv +issues.md,68045,2026-10-20T23:03:57.591723+00:00,.md +ledger-census-2026-10-28.csv,21990,2026-10-28T00:44:55.097617+00:00,.csv +ledger-census-2026-10-28.json,52066,2026-10-28T00:44:55.099617+00:00,.json +ledger-census-2026-10-28.md,24671,2026-10-28T00:44:55.097617+00:00,.md +ledger-extract.tsv,160205,2026-10-26T08:56:27.693496+00:00,.tsv +ledger-skill-registry.md,9263,2026-10-23T18:13:42.778448+00:00,.md +ledger-tracked-files.csv,481001,2026-10-30T05:37:09.061785+00:00,.csv +ledger-tracked-files.md,490,2026-10-30T05:37:09.061785+00:00,.md +live-wizard-roster-2026-10-29.csv,132235,2026-10-29T16:20:43.489992+00:00,.csv +live-wizard-roster-2026-10-29.json,3207,2026-10-29T16:20:43.490992+00:00,.json +live-wizard-roster-2026-10-29.md,2202,2026-10-29T16:20:43.489992+00:00,.md +live-wizard-roster-2026-10-29.tsv,1826,2026-10-29T16:20:43.278975+00:00,.tsv +live-wizard-roster.json,2847,2026-10-23T09:53:35.731579+00:00,.json +live-wizard-roster.md,1862,2026-10-23T09:53:35.730578+00:00,.md +live-wizard-roster.tsv,1528,2026-10-23T09:53:35.730578+00:00,.tsv +make_arxiv_csv.py,2653,2026-10-20T17:33:21.123864+00:00,.py +planets.csv,457,2026-10-29T06:33:38.363000+00:00,.csv +planets.md,1319,2026-10-29T06:33:38.363000+00:00,.md +probe.py,2033,2026-10-30T07:42:35.430658+00:00,.py +probe2.py,1909,2026-10-30T07:44:39.219983+00:00,.py +profiles-census.csv,412,2026-10-31T03:43:05.248865+00:00,.csv +python_org_repos_top50.csv,5728,2026-10-23T06:36:11.855862+00:00,.csv +queue-extract.csv,47202,2026-10-27T08:51:45.847097+00:00,.csv +queue-extract.md,30208,2026-10-27T08:51:45.843097+00:00,.md +queue-extract.py,7668,2026-10-30T07:46:13.852870+00:00,.py +queue-extracted.tsv,120396,2026-10-30T07:45:09.399499+00:00,.tsv +raw_contributors.json,10805,2026-10-26T16:11:34.872237+00:00,.json +react-issues.csv,13963,2026-10-30T12:45:14.023556+00:00,.csv +recoveries-index.csv,8890,2026-10-21T21:12:17.130996+00:00,.csv +recoveries-index.md,11030,2026-10-21T21:12:57.126270+00:00,.md +replies-catalog.tsv,35167,2026-10-28T23:30:48.921948+00:00,.tsv +reply-volume-by-recipient.tsv,187,2026-10-30T05:37:09.849852+00:00,.tsv +reply-volume-census.md,2387,2026-10-30T05:37:09.849852+00:00,.md +reply-volume-census.tsv,480,2026-10-30T05:37:09.849852+00:00,.tsv +repo_exts.tsv,338,2026-10-25T19:38:22.837287+00:00,.tsv +repo_files.tsv,206778,2026-10-25T19:38:22.875290+00:00,.tsv +repo_tree.tsv,8138,2026-10-25T19:38:22.833287+00:00,.tsv +repos.csv,1605,2026-10-22T05:39:41.961324+00:00,.csv +repos.json,3000,2026-10-22T08:23:14.722199+00:00,.json +repos.md,1907,2026-10-22T05:39:41.962324+00:00,.md +roster-summary.json,7222,2026-10-23T09:46:21.395554+00:00,.json +skill_metadata.csv,16194,2026-10-30T18:01:49.372840+00:00,.csv +skill_metadata.jsonl,22670,2026-10-30T18:01:49.374840+00:00,.jsonl +skill_metadata.md,13055,2026-10-30T18:01:49.374840+00:00,.md +source/coins_raw.json,7881,2026-10-26T11:17:00.679776+00:00,.json +source_manifest.txt,7206,2026-10-30T18:01:49.375840+00:00,.txt +stackchain-catalog.md,2476,2026-10-26T06:23:55.395969+00:00,.md +stackchain-catalog.rows.json,9279,2026-10-26T06:23:55.394969+00:00,.json +stackchain_catalog.csv,2920,2026-10-31T03:35:22.230954+00:00,.csv +stackchain_catalog.json,6646,2026-10-23T14:59:56.141771+00:00,.json +stackchain_catalog.md,5962,2026-10-31T03:35:22.237954+00:00,.md +stackchain_catalog_table.csv,1510,2026-10-30T05:37:10.090872+00:00,.csv +summary.txt,699,2026-10-30T18:01:49.375840+00:00,.txt +test_scratch_manifest.py,2235,2026-10-27T19:39:22.986424+00:00,.py +test_verify_wizards.py,8195,2026-10-30T05:37:08.895771+00:00,.py +tlds-alpha-by-domain.txt,9528,2026-10-26T14:07:52.784840+00:00,.txt +tlds.csv,15432,2026-10-26T14:08:47.919514+00:00,.csv +tlds_by_letter.tsv,131,2026-10-26T14:08:47.919514+00:00,.tsv +top-50-repos-by-stars/README.md,5740,2026-10-22T08:29:46.426500+00:00,.md +top-50-repos-by-stars/repos.csv,8651,2026-10-22T08:29:46.426500+00:00,.csv +top-50-repos-by-stars/repos.json,15475,2026-10-22T08:29:46.426500+00:00,.json +top-50-repos-by-stars/repos.md,9579,2026-10-22T08:29:46.426500+00:00,.md +top-50-repos-by-stars/verify.py,2726,2026-10-22T08:29:46.426500+00:00,.py +top-cryptocurrencies.csv,2496,2026-10-26T11:17:00.664775+00:00,.csv +top-cryptocurrencies.md,1199,2026-10-26T11:17:00.659775+00:00,.md +top-python-repos-2026-10-26.csv,22949,2026-10-26T01:01:54.456568+00:00,.csv +top-python-repos-2026-10-26.json,334810,2026-10-26T01:01:54.488571+00:00,.json +troupe-census.csv,9866,2026-10-21T18:34:28.893732+00:00,.csv +troupe-census.md,3692,2026-10-21T18:34:28.897732+00:00,.md +troupe-churn.md,5768,2026-10-23T09:43:05.437279+00:00,.md +un_member_states.csv,7606,2026-10-21T04:37:48.548264+00:00,.csv +un_member_states.json,25504,2026-10-21T04:37:48.548264+00:00,.json +us-gdp-nominal-annual-2018-2025.csv,259,2026-10-23T01:34:31.208371+00:00,.csv +users-activity.json,2401,2026-10-29T01:52:03.666571+00:00,.json +users-census.csv,767,2026-10-29T01:52:03.665571+00:00,.csv +users-census.md,1069,2026-10-29T01:52:03.665571+00:00,.md +verification-notes.md,1138,2026-10-26T11:17:00.671776+00:00,.md +verify.py,2487,2026-10-26T11:17:00.675776+00:00,.py +verify.sh,248,2026-10-25T19:31:41.757541+00:00,.sh +verify_artifact.py,2498,2026-10-30T05:37:09.061785+00:00,.py +verify_arxiv_csai.py,3897,2026-10-22T13:57:48.030715+00:00,.py +verify_arxiv_csai_fresh.py,3203,2026-10-28T19:38:02.516057+00:00,.py +verify_arxiv_csv.py,1589,2026-10-24T18:25:49.343736+00:00,.py +verify_arxiv_fresh.py,2730,2026-10-20T17:36:36.511060+00:00,.py +verify_catalog.py,3950,2026-10-20T20:18:04.461915+00:00,.py +verify_census.py,1716,2026-10-27T14:15:33.005612+00:00,.py +verify_commits_by_author_day.py,2618,2026-10-30T13:03:01.689097+00:00,.py +verify_commits_check.py,4452,2026-10-25T00:36:01.303077+00:00,.py +verify_commits_table.py,15452,2026-10-25T21:58:24.625051+00:00,.py +verify_dates.py,1172,2026-10-25T08:26:19.631641+00:00,.py +verify_drops_catalog.py,4328,2026-10-30T05:37:09.061785+00:00,.py +verify_gdp.py,1695,2026-10-25T06:01:18.531166+00:00,.py +verify_gdp_artifact.py,582,2026-10-30T22:52:54.615832+00:00,.py +verify_gdp_per_capita.py,2604,2026-10-25T14:30:28.427408+00:00,.py +verify_git_tree_manifest_2026_10_30.py,3294,2026-10-30T05:37:09.144792+00:00,.py +verify_gitea_repos.py,4117,2026-10-21T01:46:35.445419+00:00,.py +verify_github_python_repos.py,4938,2026-10-23T01:06:23.591316+00:00,.py +verify_github_repos.py,5994,2026-10-24T18:26:36.322632+00:00,.py +verify_issues.py,2795,2026-10-20T23:03:14.976167+00:00,.py +verify_ledger_census.py,6527,2026-10-28T00:44:51.188298+00:00,.py +verify_ledger_dir_census.py,2323,2026-10-30T07:52:30.479227+00:00,.py +verify_profile_census.py,2475,2026-10-31T03:42:27.424702+00:00,.py +verify_python_org_repos.py,3574,2026-10-23T06:38:23.819820+00:00,.py +verify_replies_catalog.py,1924,2026-10-28T23:32:16.733125+00:00,.py +verify_reply_volume_census.py,4328,2026-10-30T05:37:09.849852+00:00,.py +verify_skill_catalog.py,7771,2026-10-30T18:01:38.546930+00:00,.py +verify_stackchain_catalog.py,5744,2026-10-23T15:00:26.183277+00:00,.py +verify_tree_census.py,3612,2026-10-25T19:32:59.470080+00:00,.py +verify_users.py,1954,2026-10-23T12:24:58.484242+00:00,.py +verify_wizard_roster_2026-10-29.py,5106,2026-10-29T19:20:41.355671+00:00,.py +verify_wizards.py,13966,2026-10-30T05:37:08.896771+00:00,.py +verify_wizards.sh,432,2026-10-25T08:39:55.423435+00:00,.sh +verify_workflow.py,1824,2026-10-20T14:52:05.580784+00:00,.py +wizard-roster.csv,4767,2026-10-23T09:46:21.394554+00:00,.csv +wizard-work-census-2026-10-27.md,1391,2026-10-27T11:46:40.567701+00:00,.md +wizard-work-census-2026-10-27.tsv,208,2026-10-27T11:46:40.510696+00:00,.tsv +wizard_inventory.csv,990,2026-10-23T09:43:05.435278+00:00,.csv +wizard_inventory.json,1812,2026-10-23T09:43:05.436279+00:00,.json +wizards-notebook.md,2813,2026-10-30T05:37:08.896771+00:00,.md +wizards-roster-2026-10-25.csv,1775,2026-10-25T08:34:52.580283+00:00,.csv +wizards.csv,6278,2026-10-30T05:37:08.897771+00:00,.csv +wizards.manifest.json,1153,2026-10-30T05:37:08.897771+00:00,.json +wizardwork-census.csv,240446,2026-10-26T08:47:15.206981+00:00,.csv +wizardwork-census.md,922,2026-10-26T08:47:15.207982+00:00,.md +wizardwork-census.tsv,270131,2026-10-26T08:50:16.923927+00:00,.tsv +wizardwork-file-manifest.tsv,270259,2026-10-26T08:51:57.701227+00:00,.tsv +work-queue-table.md,17901,2026-10-30T10:45:48.720941+00:00,.md +workflow.md,7629,2026-10-22T19:26:36.759890+00:00,.md +workflow.tsv,6442,2026-10-22T19:26:36.753889+00:00,.tsv +workqueue-census-v2/CHECK,13357,2026-10-28T21:48:50.888570+00:00, +workqueue-census-v2/README.md,3810,2026-10-28T21:47:56.720070+00:00,.md +workqueue-census-v2/extract_manifest.json,523,2026-10-28T18:31:34.285421+00:00,.json +workqueue-census-v2/extract_workqueue.py,5943,2026-10-28T18:31:27.786881+00:00,.py +workqueue-census-v2/workqueue-census.md,46531,2026-10-28T18:31:34.285421+00:00,.md +workqueue-census-v2/workqueue-census.tsv,45272,2026-10-28T18:31:34.283421+00:00,.tsv +workqueue-census/CHECK,2198,2026-10-28T06:01:09.254519+00:00, +workqueue-census/README.md,1183,2026-10-28T05:59:50.471934+00:00,.md +workqueue-census/check_dash.py,691,2026-10-28T05:57:48.077696+00:00,.py +workqueue-census/extract_workqueue_census.py,5728,2026-10-28T05:59:20.683444+00:00,.py +workqueue-census/manifest.json,399,2026-10-28T05:59:29.790205+00:00,.json +workqueue-census/workqueue-census.md,46413,2026-10-28T05:59:29.790205+00:00,.md +workqueue-census/workqueue-census.tsv,45219,2026-10-28T05:59:29.788205+00:00,.tsv +workqueue-q-census.md,31581,2026-10-30T10:31:37.623584+00:00,.md +workqueue-q-census.tsv,31229,2026-10-30T10:31:37.613583+00:00,.tsv diff --git a/wizard-work/ledger/2026-10-31-ledger-inventory/manifest.json b/wizard-work/ledger/2026-10-31-ledger-inventory/manifest.json new file mode 100644 index 0000000..ca59de5 --- /dev/null +++ b/wizard-work/ledger/2026-10-31-ledger-inventory/manifest.json @@ -0,0 +1,81 @@ +{ + "source": "/root/troupe-standup/wizard-work/ledger", + "generated_at_utc": "2026-10-31T06:20:12.034650+00:00", + "total_files": 556, + "total_bytes": 15921129, + "distinct_exts": 14, + "top_ext_by_count": ".py", + "top_ext_by_bytes": ".json", + "ext_counts": [ + { + "ext": "", + "count": 35, + "bytes": 110669 + }, + { + "ext": ".awk", + "count": 2, + "bytes": 1329 + }, + { + "ext": ".check", + "count": 1, + "bytes": 2850 + }, + { + "ext": ".csv", + "count": 91, + "bytes": 4908781 + }, + { + "ext": ".json", + "count": 76, + "bytes": 6347540 + }, + { + "ext": ".jsonl", + "count": 1, + "bytes": 22670 + }, + { + "ext": ".md", + "count": 128, + "bytes": 2290712 + }, + { + "ext": ".md5", + "count": 1, + "bytes": 57 + }, + { + "ext": ".py", + "count": 163, + "bytes": 588081 + }, + { + "ext": ".sh", + "count": 5, + "bytes": 4787 + }, + { + "ext": ".test", + "count": 1, + "bytes": 1616 + }, + { + "ext": ".tsv", + "count": 45, + "bytes": 1462285 + }, + { + "ext": ".txt", + "count": 5, + "bytes": 71876 + }, + { + "ext": ".xml", + "count": 2, + "bytes": 107876 + } + ] +} diff --git a/wizard-work/ledger/2026-10-31-ledger-inventory/verify_ledger_inventory.py b/wizard-work/ledger/2026-10-31-ledger-inventory/verify_ledger_inventory.py new file mode 100644 index 0000000..1590ac8 --- /dev/null +++ b/wizard-work/ledger/2026-10-31-ledger-inventory/verify_ledger_inventory.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python3 +"""Verify that the committed inventory.csv re-derives from the live ledger +workspace with the same skip rules as extract_ledger_inventory.py. + +Exit code 0 => committed CSV exactly matches a fresh re-derivation + (row order + every field equal). +Exit code 1 => mismatch (row count, or a field unequal). +""" +from __future__ import annotations + +import csv +import os +import sys +from datetime import datetime, timezone +from pathlib import Path + +BASE = Path("/root/troupe-standup/wizard-work/ledger") +HERE = Path(__file__).resolve().parent +SKIP_DIR_NAMES = {"__pycache__"} +SKIP_SUFFIXES = {".pyc", ".pyo", ".pyd", ".py.class"} + + +def skip(rel: Path) -> bool: + if rel.parts and rel.parts[0] in SKIP_DIR_NAMES: + return True + if rel.suffix.lower() in SKIP_SUFFIXES: + return True + if os.path.islink(BASE / rel): + return True + # The extractor's own generated outputs live in the parent ledger-workdir + # of this script; exclude just those two basenames here. + if rel.parts and rel.parts[0] == HERE.name and rel.name in { + "inventory.csv", + "manifest.json", + }: + return True + return False + + +def rederived() -> list[dict]: + rows = [] + for root, dirnames, filenames in os.walk(BASE): + dirnames[:] = [d for d in dirnames if d not in SKIP_DIR_NAMES] + for fn in filenames: + path = Path(root) / fn + rel = path.relative_to(BASE) + if skip(rel): + continue + st = path.stat() + rows.append( + { + "relpath": str(rel), + "size_bytes": str(st.st_size), + "mtime_iso8601": datetime.fromtimestamp( + st.st_mtime, timezone.utc + ).isoformat(), + "ext": rel.suffix.lower(), + } + ) + rows.sort(key=lambda r: r["relpath"]) + return rows + + +def read_committed() -> list[dict]: + with (HERE / "inventory.csv").open(encoding="utf-8", newline="") as fh: + return list(csv.DictReader(fh)) + + +def main() -> int: + committed = read_committed() + fresh = rederived() + + if len(committed) != len(fresh): + print( + "MISMATCH: committed rows=%d, rederived rows=%d" + % (len(committed), len(fresh)) + ) + return 1 + + for i, (c, f) in enumerate(zip(committed, fresh)): + for key in ("relpath", "size_bytes", "mtime_iso8601", "ext"): + if c.get(key) != f[key]: + print("MISMATCH row=%d field=%s" % (i, key)) + print(" committed:", c) + print(" fresh :", f) + return 1 + + print("OK: inventory.csv re-derives from the live ledger workspace (%d rows)" % len(committed)) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main())