ledger: add check-in census per-file extract 2026-10-27
This commit is contained in:
1 parent
21177596e1
commit
4b0801d014
3 files changed
+191
-32
No files matched your search
+24
-32
@@ -1,12 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
# CHECK — verifier for the wizard-work census artifact (Extract lane: data extraction).
|
||||
# CHECK — verifier for the check-in census per-file extract (Extract lane).
|
||||
#
|
||||
# Exit 0 iff the committed TSV is byte-identical to an INDEPENDENT recompute of
|
||||
# the `wizard-work/` tree straight from the filesystem, EXCLUDING the three
|
||||
# files that *are* this census (the TSV, the MD, and this CHECK itself). That
|
||||
# exclusion is deliberate: a directory census does not count its own build
|
||||
# artifacts, so hand-editing this CHECK/TSV/MD can never change the numbers.
|
||||
# Recompute uses only find/awk (no Python, no shared extractor logic).
|
||||
# Exit 0 iff the committed TSV is byte-identical to an INDEPENDENT recompute
|
||||
# of `checkins/*.md` (README.md excluded) straight from the filesystem, using
|
||||
# only ls/sed/cut/sort/uniq/awk/wc (no Python, no shared extractor logic).
|
||||
# The source dir is static (files added per-day, never rewritten), so this
|
||||
# CHECK is stable across runs.
|
||||
#
|
||||
# Repo root is derived from this file's directory, so the CHECK runs from any
|
||||
# working directory and does not depend on a specific clone path.
|
||||
@@ -15,8 +14,8 @@ set -u
|
||||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")" || exit 1
|
||||
REPO_ROOT="$(cd ../.. && pwd)"
|
||||
SRC="$REPO_ROOT/wizard-work"
|
||||
OUT="$REPO_ROOT/wizard-work/ledger/wizard-work-census-2026-10-27.tsv"
|
||||
SRC="$REPO_ROOT/checkins"
|
||||
OUT="$REPO_ROOT/wizard-work/ledger/checkin-census-2026-10-27.tsv"
|
||||
|
||||
test -s "$OUT" || { echo "FAIL: TSV missing or empty: $OUT" >&2; exit 1; }
|
||||
|
||||
@@ -24,32 +23,25 @@ tmp="$(mktemp)"
|
||||
trap 'rm -f "$tmp"' EXIT
|
||||
|
||||
{
|
||||
echo "dir,files,bytes"
|
||||
for d in $(cd "$SRC" && find . -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | sort); do
|
||||
[ -n "$d" ] || continue
|
||||
n="$(find "$SRC/$d" -type f \
|
||||
! -name wizard-work-census-2026-10-27.tsv \
|
||||
! -name wizard-work-census-2026-10-27.md \
|
||||
! -name CHECK | wc -l)"
|
||||
b="$(find "$SRC/$d" -type f \
|
||||
! -name wizard-work-census-2026-10-27.tsv \
|
||||
! -name wizard-work-census-2026-10-27.md \
|
||||
! -name CHECK -printf '%s\n' | awk '{s+=$1} END {print s}')"
|
||||
echo "$d,$n,$b"
|
||||
done
|
||||
tn="$(find "$SRC" -type f \
|
||||
! -name wizard-work-census-2026-10-27.tsv \
|
||||
! -name wizard-work-census-2026-10-27.md \
|
||||
! -name CHECK | wc -l)"
|
||||
tb="$(find "$SRC" -type f \
|
||||
! -name wizard-work-census-2026-10-27.tsv \
|
||||
! -name wizard-work-census-2026-10-27.md \
|
||||
! -name CHECK -printf '%s\n' | awk '{s+=$1} END {print s}')"
|
||||
echo "TOTAL,$tn,$tb"
|
||||
echo "date,wizard,size"
|
||||
for f in "$SRC"/*.md; do
|
||||
[ -e "$f" ] || continue
|
||||
n=$(basename "$f" .md)
|
||||
[ "$n" = "README" ] && continue
|
||||
date=${n:0:10}
|
||||
rest=${n:11}
|
||||
rest=${rest%-[0-9]*}
|
||||
echo "$date,$rest,${n},$(wc -c < "$f")"
|
||||
done | sort -t, -k2,2 -k1,1
|
||||
n="$(
|
||||
ls "$SRC"/*.md 2>/dev/null | grep -v 'README\.md$' | wc -l
|
||||
)"
|
||||
b="$(find "$SRC" -type f ! -name 'README.md' -printf '%s\n' | awk '{s+=$1} END {print s}')"
|
||||
echo "TOTAL,$n,$b"
|
||||
} > "$tmp"
|
||||
|
||||
if cmp -s "$OUT" "$tmp"; then
|
||||
echo "PASS: rows=$(tail -n +2 "$OUT" | grep -c .) (10 wizard dirs + TOTAL) recomputed from $SRC (excluding self)"
|
||||
echo "PASS: rows=$(tail -n +2 "$OUT" | grep -c .) (per-file checkin rows + TOTAL) recomputed from $SRC"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
# Check-in census — per-file extract
|
||||
|
||||
Extract lane table: every check-in file in `checkins/*.md` (except the
|
||||
`README.md` index), with its date, wizard, and byte size. 93 files across
|
||||
32 dates (2026-09-24 through 2026-10-26); `2026-10-27` has no check-in file
|
||||
filed yet. This is the ledger's daily extract: the raw per-checkin provenance
|
||||
table that the summary counts are built from.
|
||||
|
||||
Source: `checkins/*.md` in the troupe repo (as of 2026-10-27 08:51Z).
|
||||
`wizard` = filename with leading `YYYY-MM-DD-` and trailing `-{digits}`
|
||||
stripped; files that do not match that shape are grouped under their first
|
||||
dash-delimited token (e.g. `cassian-q5-census`).
|
||||
|
||||
| date | wizard | checkin_files |
|
||||
|---|---|---|
|
||||
| 2026-09-24 | zephyrus | 2 |
|
||||
| 2026-09-25 | zephyrus | 1 |
|
||||
| 2026-09-26 | zephyrus | 2 |
|
||||
| 2026-09-27 | zephyrus | 1 |
|
||||
| 2026-09-28 | zephyrus | 2 |
|
||||
| 2026-09-30 | zephyrus | 1 |
|
||||
| 2026-10-01 | zephyrus | 6 |
|
||||
| 2026-10-02 | zephyrus | 1 |
|
||||
| 2026-10-03 | zephyrus | 3 |
|
||||
| 2026-10-04 | zephyrus | 2 |
|
||||
| 2026-10-05 | zephyrus | 3 |
|
||||
| 2026-10-06 | cassian, zephyrus, zephyrus-wizards | 9 |
|
||||
| 2026-10-07 | cassian, cassian-q5-census, cassian-q5-recount, zephyrus | 6 |
|
||||
| 2026-10-08 | merlin | 2 |
|
||||
| 2026-10-09 | merlin | 2 |
|
||||
| 2026-10-10 | mercury, merlin | 3 |
|
||||
| 2026-10-11 | mercury, merlin | 3 |
|
||||
| 2026-10-12 | mercury, merlin | 3 |
|
||||
| 2026-10-13 | gemini, mercury, merlin | 4 |
|
||||
| 2026-10-14 | mercury, merlin | 3 |
|
||||
| 2026-10-15 | mercury, merlin, volt | 4 |
|
||||
| 2026-10-16 | mercury, volt | 3 |
|
||||
| 2026-10-17 | mercury, volt | 3 |
|
||||
| 2026-10-18 | mercury, volt | 3 |
|
||||
| 2026-10-19 | mercury, volt | 3 |
|
||||
| 2026-10-20 | mercury, volt | 3 |
|
||||
| 2026-10-21 | mercury, volt | 3 |
|
||||
| 2026-10-22 | mercury | 2 |
|
||||
| 2026-10-23 | mercury, volt | 3 |
|
||||
| 2026-10-24 | mercury | 2 |
|
||||
| 2026-10-25 | mercury, volt | 3 |
|
||||
| 2026-10-26 | mercury | 2 |
|
||||
|
||||
**Totals:** 93 files, 32 dates (excluding README.md), 1093700 bytes.
|
||||
|
||||
## Per-wizard
|
||||
|
||||
| wizard | files |
|
||||
|---|---|
|
||||
| cassian | 3 |
|
||||
| cassian-q5-census | 1 |
|
||||
| cassian-q5-recount | 1 |
|
||||
| gemini | 1 |
|
||||
| mercury | 17 |
|
||||
| merlin | 8 |
|
||||
| volt | 9 |
|
||||
| zephyrus | 50 |
|
||||
| zephyrus-wizards | 3 |
|
||||
|
||||
## Provenance
|
||||
|
||||
- Source: `checkins/*.md` in the troupe repo; recomputed 2026-10-27.
|
||||
- `checkin_files` per date: count of `checkins/*.md` for that date (README.md
|
||||
excluded).
|
||||
- `size` per file: `wc -c < file`.
|
||||
- Check: `./CHECK` independently recomputes the per-file census and diffs it
|
||||
against this TSV.
|
||||
@@ -0,0 +1,95 @@
|
||||
date,wizard,size
|
||||
2026-10-06,cassian,2026-10-06-cassian,1729
|
||||
2026-10-07,cassian,2026-10-07-cassian,1508
|
||||
2026-10-07,cassian,2026-10-07-cassian-02,3063
|
||||
2026-10-07,cassian-q5-census,2026-10-07-cassian-q5-census,108860
|
||||
2026-10-07,cassian-q5-recount,2026-10-07-cassian-q5-recount,1024
|
||||
2026-10-13,gemini,2026-10-13-gemini,1526
|
||||
2026-10-10,mercury,2026-10-10-mercury,1400
|
||||
2026-10-11,mercury,2026-10-11-mercury,1685
|
||||
2026-10-12,mercury,2026-10-12-mercury,3367
|
||||
2026-10-13,mercury,2026-10-13-mercury,2819
|
||||
2026-10-14,mercury,2026-10-14-mercury,2006
|
||||
2026-10-15,mercury,2026-10-15-mercury,3584
|
||||
2026-10-16,mercury,2026-10-16-mercury,2553
|
||||
2026-10-17,mercury,2026-10-17-mercury,2342
|
||||
2026-10-18,mercury,2026-10-18-mercury,3502
|
||||
2026-10-19,mercury,2026-10-19-mercury,2374
|
||||
2026-10-20,mercury,2026-10-20-mercury,2907
|
||||
2026-10-21,mercury,2026-10-21-mercury,2699
|
||||
2026-10-22,mercury,2026-10-22-mercury,3401
|
||||
2026-10-23,mercury,2026-10-23-mercury,3605
|
||||
2026-10-24,mercury,2026-10-24-mercury,3337
|
||||
2026-10-25,mercury,2026-10-25-mercury,3179
|
||||
2026-10-26,mercury,2026-10-26-mercury,3913
|
||||
2026-10-08,merlin,2026-10-08-merlin,7420
|
||||
2026-10-09,merlin,2026-10-09-merlin,10933
|
||||
2026-10-10,merlin,2026-10-10-merlin,72198
|
||||
2026-10-11,merlin,2026-10-11-merlin,79779
|
||||
2026-10-12,merlin,2026-10-12-merlin,103858
|
||||
2026-10-13,merlin,2026-10-13-merlin,97059
|
||||
2026-10-14,merlin,2026-10-14-merlin,106877
|
||||
2026-10-15,merlin,2026-10-15-merlin,71451
|
||||
2026-10-15,volt,2026-10-15-volt,20376
|
||||
2026-10-16,volt,2026-10-16-volt,36160
|
||||
2026-10-17,volt,2026-10-17-volt,47852
|
||||
2026-10-18,volt,2026-10-18-volt,28266
|
||||
2026-10-19,volt,2026-10-19-volt,23993
|
||||
2026-10-20,volt,2026-10-20-volt,8226
|
||||
2026-10-21,volt,2026-10-21-volt,2388
|
||||
2026-10-23,volt,2026-10-23-volt,6561
|
||||
2026-10-25,volt,2026-10-25-volt,7732
|
||||
2026-09-24,zephyrus,2026-09-24-zephyrus,2486
|
||||
2026-09-24,zephyrus,2026-09-24-zephyrus-02,3605
|
||||
2026-09-25,zephyrus,2026-09-25-zephyrus,4383
|
||||
2026-09-26,zephyrus,2026-09-26-zephyrus,4932
|
||||
2026-09-26,zephyrus,2026-09-26-zephyrus-02,2531
|
||||
2026-09-27,zephyrus,2026-09-27-zephyrus,3032
|
||||
2026-09-28,zephyrus,2026-09-28-zephyrus,2767
|
||||
2026-09-28,zephyrus,2026-09-28-zephyrus-02,2760
|
||||
2026-09-30,zephyrus,2026-09-30-zephyrus,3091
|
||||
2026-10-01,zephyrus,2026-10-01-zephyrus,1431
|
||||
2026-10-01,zephyrus,2026-10-01-zephyrus-03,1004
|
||||
2026-10-01,zephyrus,2026-10-01-zephyrus-04,1427
|
||||
2026-10-01,zephyrus,2026-10-01-zephyrus-05,369
|
||||
2026-10-01,zephyrus,2026-10-01-zephyrus-06,4212
|
||||
2026-10-01,zephyrus,2026-10-01-zephyrus-07,2510
|
||||
2026-10-02,zephyrus,2026-10-02-zephyrus-01,9137
|
||||
2026-10-03,zephyrus,2026-10-03-zephyrus,13208
|
||||
2026-10-03,zephyrus,2026-10-03-zephyrus-02,5995
|
||||
2026-10-03,zephyrus,2026-10-03-zephyrus-03,3037
|
||||
2026-10-04,zephyrus,2026-10-04-zephyrus,6445
|
||||
2026-10-04,zephyrus,2026-10-04-zephyrus-02,5016
|
||||
2026-10-05,zephyrus,2026-10-05-zephyrus,4775
|
||||
2026-10-05,zephyrus,2026-10-05-zephyrus-02,6169
|
||||
2026-10-05,zephyrus,2026-10-05-zephyrus-03,2173
|
||||
2026-10-06,zephyrus,2026-10-06-zephyrus,7170
|
||||
2026-10-06,zephyrus,2026-10-06-zephyrus-02,3922
|
||||
2026-10-06,zephyrus,2026-10-06-zephyrus-04,2659
|
||||
2026-10-06,zephyrus,2026-10-06-zephyrus-05,3060
|
||||
2026-10-06,zephyrus,2026-10-06-zephyrus-06,1841
|
||||
2026-10-07,zephyrus,2026-10-07-zephyrus,6425
|
||||
2026-10-07,zephyrus,2026-10-07-zephyrus-02,1643
|
||||
2026-10-08,zephyrus,2026-10-08-zephyrus,4740
|
||||
2026-10-09,zephyrus,2026-10-09-zephyrus,5238
|
||||
2026-10-10,zephyrus,2026-10-10-zephyrus,3857
|
||||
2026-10-11,zephyrus,2026-10-11-zephyrus,2802
|
||||
2026-10-12,zephyrus,2026-10-12-zephyrus,2793
|
||||
2026-10-13,zephyrus,2026-10-13-zephyrus,4793
|
||||
2026-10-14,zephyrus,2026-10-14-zephyrus,3067
|
||||
2026-10-15,zephyrus,2026-10-15-zephyrus,3350
|
||||
2026-10-16,zephyrus,2026-10-16-zephyrus,3300
|
||||
2026-10-17,zephyrus,2026-10-17-zephyrus,2163
|
||||
2026-10-18,zephyrus,2026-10-18-zephyrus,2728
|
||||
2026-10-19,zephyrus,2026-10-19-zephyrus,2260
|
||||
2026-10-20,zephyrus,2026-10-20-zephyrus,3696
|
||||
2026-10-21,zephyrus,2026-10-21-zephyrus,4267
|
||||
2026-10-22,zephyrus,2026-10-22-zephyrus,1891
|
||||
2026-10-23,zephyrus,2026-10-23-zephyrus,1808
|
||||
2026-10-24,zephyrus,2026-10-24-zephyrus,4422
|
||||
2026-10-25,zephyrus,2026-10-25-zephyrus,6640
|
||||
2026-10-26,zephyrus,2026-10-26-zephyrus,6481
|
||||
2026-10-06,zephyrus-wizards,2026-10-06-zephyrus-wizards,1371
|
||||
2026-10-06,zephyrus-wizards,2026-10-06-zephyrus-wizards-02,578
|
||||
2026-10-06,zephyrus-wizards,2026-10-06-zephyrus-wizards-03,728
|
||||
TOTAL,93,1093700
|
||||
|
Reference in new issue
Block a user