diff --git a/wizard-work/ledger/2026-10-29-checkin-census/CHECK b/wizard-work/ledger/2026-10-29-checkin-census/CHECK new file mode 100644 index 0000000..e2ca477 --- /dev/null +++ b/wizard-work/ledger/2026-10-29-checkin-census/CHECK @@ -0,0 +1,69 @@ +#!/usr/bin/env python3 +# Evidence-law gate for the check-in census. Exits 0 only if the table is +# derivable from the real files + real git objects. Nothing may be phantom. +import csv +import os +import re +import subprocess +import sys + +ROOT = "/root/troupe-standup" +os.chdir(ROOT) + +def git(*a): + return subprocess.run( + ["git", "-C", ROOT] + list(a), check=True, capture_output=True, text=True + ).stdout + +# Expected table, derived FROM GIT (not from the CSV). +files = sorted(f for f in git("ls-files", "checkins/").strip().split("\n") if f.endswith(".md")) +dated = [f for f in files if re.match(r"^checkins/\d{4}-\d{2}-\d{2}-", f) and not f.endswith("README.md")] +indexed = [f for f in files if f.endswith("README.md")] +print("tracked md files on git: %d | dated checkin files: %d | index file: %d" % (len(files), len(dated), len(indexed))) + +rows = list(csv.DictReader(open("wizard-work/ledger/2026-10-29-checkin-census/checkin-census.csv"))) +print("table rows present: %d" % len(rows)) + +fails = [] +# 1) Row count must equal source files (index row = README.md). +if len(rows) != len(dated) + len(indexed): + fails.append("table rows != dated files + index file") + +# 2) No dated file may be missing from the table, and nothing un-tracked may appear. +disk_files = set(r["file"] for r in rows) +ghost = sorted(f for f in dated if f not in disk_files) +if ghost: + fails.append("dated files missing from table: %s" % ghost) +notracked = sorted(f for f in disk_files if f not in set(files)) +if notracked: + fails.append("table rows not tracked by git: %s" % notracked) + +# 3) Every data row carries a real committer (a git object must exist for the file). +empty_commits = sorted(r["file"] for r in rows if not r["committer"] or r["committer"] == "(no committer)") +if empty_commits: + fails.append("rows with empty/none committer: %s" % empty_commits) + +# 4) Per-signee disk counts must reconcile with the table (no lost files). +disk_counts = {} +for f in dated: + m = re.match(r"^checkins/(\d{4}-\d{2}-\d{2}-(.+?))(?:-\d+)?\.md$", f) + if m: + s = re.sub(r"-\d+$", "", m.group(2)) + disk_counts[s] = disk_counts.get(s, 0) + 1 +table_counts = {} +for r in rows: + if r["file"] == "checkins/README.md": + continue + table_counts[r["signee"]] = table_counts.get(r["signee"], 0) + 1 +mismatch = [(s, disk_counts.get(s, 0), table_counts.get(s, 0)) for s in sorted(set(disk_counts) | set(table_counts)) if disk_counts.get(s, 0) != table_counts.get(s, 0)] +if mismatch: + fails.append("signee counts mismatch disk vs table: %s" % mismatch) + +if fails: + print("CHECK: FAILED") + for x in fails: + print(" -", x) + sys.exit(1) + +print("CHECK: PASSED") +print("VERDICT: 0 (correct)") diff --git a/wizard-work/ledger/2026-10-29-checkin-census/checkin-census.csv b/wizard-work/ledger/2026-10-29-checkin-census/checkin-census.csv new file mode 100644 index 0000000..f9c2cd7 --- /dev/null +++ b/wizard-work/ledger/2026-10-29-checkin-census/checkin-census.csv @@ -0,0 +1,104 @@ +file,date,signee,headline,committer,kind +checkins/2026-09-24-zephyrus-02.md,2026-09-24,zephyrus,2026-09-24 — zephyrus (02),Zephyrus Sparkborn ,checkin +checkins/2026-09-24-zephyrus.md,2026-09-24,zephyrus,2026-09-24 — zephyrus,Zephyrus Sparkborn ,checkin +checkins/2026-09-25-zephyrus.md,2026-09-25,zephyrus,2026-09-25 — zephyrus check-in,Zephyrus Sparkborn ,checkin +checkins/2026-09-26-zephyrus-02.md,2026-09-26,zephyrus,Check-in 2026-09-26 (2) — Alexander's directive: host the Inbox on alexanderwhitestone.com,Zephyrus Sparkborn ,checkin +checkins/2026-09-26-zephyrus.md,2026-09-26,zephyrus,Daily check-in — 2026-09-26 (Zephyrus → Timmy),Zephyrus Sparkborn ,checkin +checkins/2026-09-27-zephyrus.md,2026-09-27,zephyrus,2026-09-27 — zephyrus,Zephyrus Sparkborn ,checkin +checkins/2026-09-28-zephyrus-02.md,2026-09-28,zephyrus,2026-09-28 — zephyrus (follow-up to reply 16),Zephyrus Sparkborn ,checkin +checkins/2026-09-28-zephyrus.md,2026-09-28,zephyrus,2026-09-28 — zephyrus,Zephyrus Sparkborn ,checkin +checkins/2026-09-30-zephyrus.md,2026-09-30,zephyrus,2026-09-30 — zephyrus,Zephyrus Sparkborn ,checkin +checkins/2026-10-01-zephyrus-03.md,2026-10-01,zephyrus,"2026-10-01 — zephyrus (career lane, follow-up)",Zephyrus Sparkborn ,checkin +checkins/2026-10-01-zephyrus-04.md,2026-10-01,zephyrus,2026-10-01 — zephyrus (Turing package),Zephyrus Sparkborn ,checkin +checkins/2026-10-01-zephyrus-05.md,2026-10-01,zephyrus,2026-10-01 — zephyrus (Turing package approved),Zephyrus Sparkborn ,checkin +checkins/2026-10-01-zephyrus-06.md,2026-10-01,zephyrus,2026-10-01 — zephyrus (daily),Zephyrus Sparkborn ,checkin +checkins/2026-10-01-zephyrus-07.md,2026-10-01,zephyrus,2026-10-01 — zephyrus (ATS gate census v0.1 landed),Zephyrus Sparkborn ,checkin +checkins/2026-10-01-zephyrus.md,2026-10-01,zephyrus,2026-10-01 — zephyrus,Zephyrus Sparkborn ,checkin +checkins/2026-10-02-zephyrus-01.md,2026-10-02,zephyrus,"Check-in — Zephyrus, 2026-10-02 (career lane, daily run)",zephyrus-sparkborn ,checkin +checkins/2026-10-03-zephyrus-02.md,2026-10-03,zephyrus,"Check-in — Zephyrus, 2026-10-03 (second tick; Q16 close-out)",Zephyrus Sparkborn ,checkin +checkins/2026-10-03-zephyrus-03.md,2026-10-03,zephyrus,"Check-in — Zephyrus, 2026-10-03 (third tick; reply 26 + Q8 batch-5 fold-in)",Zephyrus Sparkborn ,checkin +checkins/2026-10-03-zephyrus.md,2026-10-03,zephyrus,"Check-in — Zephyrus, 2026-10-03 (career lane, daily run)",zephyrus-sparkborn ,checkin +checkins/2026-10-04-zephyrus-02.md,2026-10-04,zephyrus,2026-10-04 — zephyrus (check-in 2 of 2),Zephyrus Sparkborn ,checkin +checkins/2026-10-04-zephyrus.md,2026-10-04,zephyrus,2026-10-04 — zephyrus check-in,Zephyrus Sparkborn ,checkin +checkins/2026-10-05-zephyrus-02.md,2026-10-05,zephyrus,"2026-10-05 — zephyrus (replies 29 / 30 / 31 read in full, watermark → reply 31)",Zephyrus Sparkborn ,checkin +checkins/2026-10-05-zephyrus-03.md,2026-10-05,zephyrus,"2026-10-05 — zephyrus (batch 7 landed, same tick)",Zephyrus Sparkborn ,checkin +checkins/2026-10-05-zephyrus.md,2026-10-05,zephyrus,"2026-10-05 — zephyrus (reply 28 read in full, watermark → reply 28)",Zephyrus Sparkborn ,checkin +checkins/2026-10-06-cassian.md,2026-10-06,cassian,2026-10-06 — cassian,Cassian Assayborn ,checkin +checkins/2026-10-06-zephyrus-02.md,2026-10-06,zephyrus,2026-10-06 — zephyrus check-in 02 (reply 34 folded),Zephyrus Sparkborn ,checkin +checkins/2026-10-06-zephyrus-04.md,2026-10-06,zephyrus,2026-10-06 — zephyrus check-in 04 (Q8 batch 9 landed — sweep closes at 91/91),zephyrus-sparkborn ,checkin +checkins/2026-10-06-zephyrus-05.md,2026-10-06,zephyrus,2026-10-06 — zephyrus check-in 05 (reply 38 answered; Q8 ruled totals),zephyrus-sparkborn ,checkin +checkins/2026-10-06-zephyrus-06.md,2026-10-06,zephyrus,2026-10-06 — zephyrus check-in 06 (reply 39 answered; Q8 owes nothing),zephyrus-sparkborn ,checkin +checkins/2026-10-06-zephyrus-wizards-02.md,2026-10-06,zephyrus-wizards,"2026-10-06 — zephyrus (wizard onboarding, correction)",Zephyrus Sparkborn ,checkin +checkins/2026-10-06-zephyrus-wizards-03.md,2026-10-06,zephyrus-wizards,2026-10-06 — zephyrus (wizard onboarding: push through),Zephyrus Sparkborn ,checkin +checkins/2026-10-06-zephyrus-wizards.md,2026-10-06,zephyrus-wizards,2026-10-06 — zephyrus (wizard onboarding),Zephyrus Sparkborn ,checkin +checkins/2026-10-06-zephyrus.md,2026-10-06,zephyrus,2026-10-06 — zephyrus check-in (career lane),zephyrus-sparkborn ,checkin +checkins/2026-10-07-cassian-02.md,2026-10-07,cassian,2026-10-07 — cassian-02,Cassian Assayborn ,checkin +checkins/2026-10-07-cassian-q5-census.md,2026-10-07,cassian-q5-census,Q5 issue census — Cassian Assayborn,Cassian Assayborn ,checkin +checkins/2026-10-07-cassian-q5-recount.md,2026-10-07,cassian-q5-recount,Q5 recount — open-issue total correction,Cassian Assayborn ,checkin +checkins/2026-10-07-cassian.md,2026-10-07,cassian,2026-10-07 — cassian,Cassian Assayborn ,checkin +checkins/2026-10-07-zephyrus-02.md,2026-10-07,zephyrus,2026-10-07 — zephyrus check-in 02 (Q10 claimed; pilot graded),zephyrus-sparkborn ,checkin +checkins/2026-10-07-zephyrus.md,2026-10-07,zephyrus,2026-10-07 — zephyrus check-in (reply 41 answered; Q8 discharged; Q10 claimed),Zephyrus Sparkborn ,checkin +checkins/2026-10-08-merlin.md,2026-10-08,merlin,2026-10-08 — merlin,Merlin ,checkin +checkins/2026-10-08-zephyrus.md,2026-10-08,zephyrus,Daily check-in — Zephyrus Sparkborn — 2026-10-08,Zephyrus Sparkborn ,checkin +checkins/2026-10-09-merlin.md,2026-10-09,merlin,2026-10-09 — merlin,timmy ,checkin +checkins/2026-10-09-zephyrus.md,2026-10-09,zephyrus,2026-10-09 — Zephyrus Sparkborn check-in,Zephyrus Sparkborn ,checkin +checkins/2026-10-10-mercury.md,2026-10-10,mercury,2026-10-10 — mercury,Mercury ,checkin +checkins/2026-10-10-merlin.md,2026-10-10,merlin,2026-10-10 — merlin,Merlin ,checkin +checkins/2026-10-10-zephyrus.md,2026-10-10,zephyrus,2026-10-10 — zephyrus,Zephyrus Sparkborn ,checkin +checkins/2026-10-11-mercury.md,2026-10-11,mercury,2026-10-11 — mercury,Mercury ,checkin +checkins/2026-10-11-merlin.md,2026-10-11,merlin,2026-10-11 — merlin,Merlin ,checkin +checkins/2026-10-11-zephyrus.md,2026-10-11,zephyrus,2026-10-11 — zephyrus,Zephyrus Sparkborn ,checkin +checkins/2026-10-12-mercury.md,2026-10-12,mercury,2026-10-12 — mercury,Mercury ,checkin +checkins/2026-10-12-merlin.md,2026-10-12,merlin,2026-10-12 — merlin,Merlin ,checkin +checkins/2026-10-12-zephyrus.md,2026-10-12,zephyrus,2026-10-12 — zephyrus,Zephyrus Sparkborn ,checkin +checkins/2026-10-13-gemini.md,2026-10-13,gemini,2026-10-13 — Gemini,Timmy ,checkin +checkins/2026-10-13-mercury.md,2026-10-13,mercury,2026-10-13 — mercury,Mercury ,checkin +checkins/2026-10-13-merlin.md,2026-10-13,merlin,2026-10-13 — merlin,Merlin ,checkin +checkins/2026-10-13-zephyrus.md,2026-10-13,zephyrus,2026-10-13 check-in (zephyrus),Zephyrus Sparkborn ,checkin +checkins/2026-10-14-mercury.md,2026-10-14,mercury,2026-10-14 — mercury,Mercury ,checkin +checkins/2026-10-14-merlin.md,2026-10-14,merlin,2026-10-14 — merlin,Merlin ,checkin +checkins/2026-10-14-zephyrus.md,2026-10-14,zephyrus,2026-10-14 — zephyrus,Zephyrus Sparkborn ,checkin +checkins/2026-10-15-mercury.md,2026-10-15,mercury,2026-10-15 — mercury,Mercury ,checkin +checkins/2026-10-15-merlin.md,2026-10-15,merlin,"Check-in — Merlin, 2026-10-15",Merlin ,checkin +checkins/2026-10-15-volt.md,2026-10-15,volt,"Check-in — Volt, 2026-10-15",Timmy ,checkin +checkins/2026-10-15-zephyrus.md,2026-10-15,zephyrus,2026-10-15 — zephyrus daily check-in,Zephyrus Sparkborn ,checkin +checkins/2026-10-16-mercury.md,2026-10-16,mercury,2026-10-16 — mercury,Mercury ,checkin +checkins/2026-10-16-volt.md,2026-10-16,volt,"Check-in — Volt, 2026-10-16",volt ,checkin +checkins/2026-10-16-zephyrus.md,2026-10-16,zephyrus,2026-10-16 — zephyrus daily check-in,Zephyrus Sparkborn ,checkin +checkins/2026-10-17-mercury.md,2026-10-17,mercury,2026-10-17 — mercury,Mercury ,checkin +checkins/2026-10-17-volt.md,2026-10-17,volt,"Check-in — Volt, 2026-10-17 (03:3x–04:0xZ)",Volt ,checkin +checkins/2026-10-17-zephyrus.md,2026-10-17,zephyrus,2026-10-17 — zephyrus check-in,Zephyrus Sparkborn ,checkin +checkins/2026-10-18-mercury.md,2026-10-18,mercury,2026-10-18 — mercury,Mercury ,checkin +checkins/2026-10-18-volt.md,2026-10-18,volt,"Check-in — Volt, 2026-10-18 (00:16–00:5xZ)",Volt ,checkin +checkins/2026-10-18-zephyrus.md,2026-10-18,zephyrus,2026-10-18 — zephyrus check-in,Zephyrus Sparkborn ,checkin +checkins/2026-10-19-mercury.md,2026-10-19,mercury,2026-10-19 — mercury,Mercury ,checkin +checkins/2026-10-19-volt.md,2026-10-19,volt,"Check-in — Volt, 2026-10-19 (00:00–00:2xZ)",Volt ,checkin +checkins/2026-10-19-zephyrus.md,2026-10-19,zephyrus,2026-10-19 — zephyrus check-in,Zephyrus Sparkborn ,checkin +checkins/2026-10-20-mercury.md,2026-10-20,mercury,2026-10-20 — mercury,Mercury ,checkin +checkins/2026-10-20-volt.md,2026-10-20,volt,"Check-in — Volt, 2026-10-20 (01:2x–01:4xZ)",Volt ,checkin +checkins/2026-10-20-zephyrus.md,2026-10-20,zephyrus,2026-10-20 — zephyrus check-in,Zephyrus Sparkborn ,checkin +checkins/2026-10-21-mercury.md,2026-10-21,mercury,2026-10-21 — mercury,Mercury ,checkin +checkins/2026-10-21-volt.md,2026-10-21,volt,Volt — 2026-10-21 (Workhorse),Volt ,checkin +checkins/2026-10-21-zephyrus.md,2026-10-21,zephyrus,2026-10-21 — zephyrus check-in,Zephyrus Sparkborn ,checkin +checkins/2026-10-22-mercury.md,2026-10-22,mercury,2026-10-22 — mercury,Mercury ,checkin +checkins/2026-10-22-zephyrus.md,2026-10-22,zephyrus,2026-10-22 — zephyrus,Zephyrus Sparkborn ,checkin +checkins/2026-10-23-mercury.md,2026-10-23,mercury,2026-10-23 — mercury,Mercury ,checkin +checkins/2026-10-23-volt.md,2026-10-23,volt,2026-10-23 — volt,Volt ,checkin +checkins/2026-10-23-zephyrus.md,2026-10-23,zephyrus,2026-10-23 — zephyrus,Zephyrus Sparkborn ,checkin +checkins/2026-10-24-mercury.md,2026-10-24,mercury,2026-10-24 — mercury,Mercury ,checkin +checkins/2026-10-24-zephyrus.md,2026-10-24,zephyrus,2026-10-24 — zephyrus,Zephyrus Sparkborn ,checkin +checkins/2026-10-25-mercury.md,2026-10-25,mercury,2026-10-25 — mercury,Mercury ,checkin +checkins/2026-10-25-volt.md,2026-10-25,volt,2026-10-25 — volt,spark ,checkin +checkins/2026-10-25-zephyrus.md,2026-10-25,zephyrus,Check-in 2026-10-25 — Zephyrus Sparkborn,Zephyrus Sparkborn ,checkin +checkins/2026-10-26-mercury.md,2026-10-26,mercury,2026-10-26 — mercury,Mercury ,checkin +checkins/2026-10-26-zephyrus.md,2026-10-26,zephyrus,Check-in 2026-10-26 — Zephyrus Sparkborn,Zephyrus Sparkborn ,checkin +checkins/2026-10-27-forge.md,2026-10-27,forge,2026-10-27 — forge (Refactor lane),forge ,checkin +checkins/2026-10-27-mercury.md,2026-10-27,mercury,2026-10-27 — mercury,Mercury ,checkin +checkins/2026-10-27-zephyrus.md,2026-10-27,zephyrus,Check-in 2026-10-27 — Zephyrus Sparkborn to Timmy,Zephyrus Sparkborn ,checkin +checkins/2026-10-28-mercury.md,2026-10-28,mercury,2026-10-28 — mercury,Mercury ,checkin +checkins/2026-10-28-sentinel.md,2026-10-28,sentinel,Check-in 2026-10-28 — Sentinel to Timmy,ledger ,checkin +checkins/2026-10-28-volt.md,2026-10-28,volt,Check-in 2026-10-28 — Volt to Timmy,ledger ,checkin +checkins/2026-10-28-zephyrus.md,2026-10-28,zephyrus,Check-in 2026-10-28 — Zephyrus Sparkborn to Timmy,Zephyrus Sparkborn ,checkin +checkins/2026-10-29-mercury.md,2026-10-29,mercury,2026-10-29 — mercury,Mercury ,checkin +checkins/2026-10-29-zephyrus.md,2026-10-29,zephyrus,Check-in 2026-10-29 — Zephyrus Sparkborn,Zephyrus Sparkborn ,checkin +checkins/README.md,2026-10-29,troupe-pipe (index),Check-ins index,(index file; no committer),index diff --git a/wizard-work/ledger/2026-10-29-checkin-census/checkin-census.json b/wizard-work/ledger/2026-10-29-checkin-census/checkin-census.json new file mode 100644 index 0000000..35dc10b --- /dev/null +++ b/wizard-work/ledger/2026-10-29-checkin-census/checkin-census.json @@ -0,0 +1,830 @@ +{ + "source": "git ls-files checkins/ (authoritative tracked list)", + "total_checkin_rows": 102, + "rows": [ + { + "file": "checkins/2026-09-24-zephyrus-02.md", + "date": "2026-09-24", + "signee": "zephyrus", + "headline": "2026-09-24 — zephyrus (02)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-09-24-zephyrus.md", + "date": "2026-09-24", + "signee": "zephyrus", + "headline": "2026-09-24 — zephyrus", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-09-25-zephyrus.md", + "date": "2026-09-25", + "signee": "zephyrus", + "headline": "2026-09-25 — zephyrus check-in", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-09-26-zephyrus-02.md", + "date": "2026-09-26", + "signee": "zephyrus", + "headline": "Check-in 2026-09-26 (2) — Alexander's directive: host the Inbox on alexanderwhitestone.com", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-09-26-zephyrus.md", + "date": "2026-09-26", + "signee": "zephyrus", + "headline": "Daily check-in — 2026-09-26 (Zephyrus → Timmy)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-09-27-zephyrus.md", + "date": "2026-09-27", + "signee": "zephyrus", + "headline": "2026-09-27 — zephyrus", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-09-28-zephyrus-02.md", + "date": "2026-09-28", + "signee": "zephyrus", + "headline": "2026-09-28 — zephyrus (follow-up to reply 16)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-09-28-zephyrus.md", + "date": "2026-09-28", + "signee": "zephyrus", + "headline": "2026-09-28 — zephyrus", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-09-30-zephyrus.md", + "date": "2026-09-30", + "signee": "zephyrus", + "headline": "2026-09-30 — zephyrus", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-01-zephyrus-03.md", + "date": "2026-10-01", + "signee": "zephyrus", + "headline": "2026-10-01 — zephyrus (career lane, follow-up)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-01-zephyrus-04.md", + "date": "2026-10-01", + "signee": "zephyrus", + "headline": "2026-10-01 — zephyrus (Turing package)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-01-zephyrus-05.md", + "date": "2026-10-01", + "signee": "zephyrus", + "headline": "2026-10-01 — zephyrus (Turing package approved)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-01-zephyrus-06.md", + "date": "2026-10-01", + "signee": "zephyrus", + "headline": "2026-10-01 — zephyrus (daily)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-01-zephyrus-07.md", + "date": "2026-10-01", + "signee": "zephyrus", + "headline": "2026-10-01 — zephyrus (ATS gate census v0.1 landed)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-01-zephyrus.md", + "date": "2026-10-01", + "signee": "zephyrus", + "headline": "2026-10-01 — zephyrus", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-02-zephyrus-01.md", + "date": "2026-10-02", + "signee": "zephyrus", + "headline": "Check-in — Zephyrus, 2026-10-02 (career lane, daily run)", + "committer": "zephyrus-sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-03-zephyrus-02.md", + "date": "2026-10-03", + "signee": "zephyrus", + "headline": "Check-in — Zephyrus, 2026-10-03 (second tick; Q16 close-out)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-03-zephyrus-03.md", + "date": "2026-10-03", + "signee": "zephyrus", + "headline": "Check-in — Zephyrus, 2026-10-03 (third tick; reply 26 + Q8 batch-5 fold-in)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-03-zephyrus.md", + "date": "2026-10-03", + "signee": "zephyrus", + "headline": "Check-in — Zephyrus, 2026-10-03 (career lane, daily run)", + "committer": "zephyrus-sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-04-zephyrus-02.md", + "date": "2026-10-04", + "signee": "zephyrus", + "headline": "2026-10-04 — zephyrus (check-in 2 of 2)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-04-zephyrus.md", + "date": "2026-10-04", + "signee": "zephyrus", + "headline": "2026-10-04 — zephyrus check-in", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-05-zephyrus-02.md", + "date": "2026-10-05", + "signee": "zephyrus", + "headline": "2026-10-05 — zephyrus (replies 29 / 30 / 31 read in full, watermark → reply 31)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-05-zephyrus-03.md", + "date": "2026-10-05", + "signee": "zephyrus", + "headline": "2026-10-05 — zephyrus (batch 7 landed, same tick)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-05-zephyrus.md", + "date": "2026-10-05", + "signee": "zephyrus", + "headline": "2026-10-05 — zephyrus (reply 28 read in full, watermark → reply 28)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-06-cassian.md", + "date": "2026-10-06", + "signee": "cassian", + "headline": "2026-10-06 — cassian", + "committer": "Cassian Assayborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-06-zephyrus-02.md", + "date": "2026-10-06", + "signee": "zephyrus", + "headline": "2026-10-06 — zephyrus check-in 02 (reply 34 folded)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-06-zephyrus-04.md", + "date": "2026-10-06", + "signee": "zephyrus", + "headline": "2026-10-06 — zephyrus check-in 04 (Q8 batch 9 landed — sweep closes at 91/91)", + "committer": "zephyrus-sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-06-zephyrus-05.md", + "date": "2026-10-06", + "signee": "zephyrus", + "headline": "2026-10-06 — zephyrus check-in 05 (reply 38 answered; Q8 ruled totals)", + "committer": "zephyrus-sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-06-zephyrus-06.md", + "date": "2026-10-06", + "signee": "zephyrus", + "headline": "2026-10-06 — zephyrus check-in 06 (reply 39 answered; Q8 owes nothing)", + "committer": "zephyrus-sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-06-zephyrus-wizards-02.md", + "date": "2026-10-06", + "signee": "zephyrus-wizards", + "headline": "2026-10-06 — zephyrus (wizard onboarding, correction)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-06-zephyrus-wizards-03.md", + "date": "2026-10-06", + "signee": "zephyrus-wizards", + "headline": "2026-10-06 — zephyrus (wizard onboarding: push through)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-06-zephyrus-wizards.md", + "date": "2026-10-06", + "signee": "zephyrus-wizards", + "headline": "2026-10-06 — zephyrus (wizard onboarding)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-06-zephyrus.md", + "date": "2026-10-06", + "signee": "zephyrus", + "headline": "2026-10-06 — zephyrus check-in (career lane)", + "committer": "zephyrus-sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-07-cassian-02.md", + "date": "2026-10-07", + "signee": "cassian", + "headline": "2026-10-07 — cassian-02", + "committer": "Cassian Assayborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-07-cassian-q5-census.md", + "date": "2026-10-07", + "signee": "cassian-q5-census", + "headline": "Q5 issue census — Cassian Assayborn", + "committer": "Cassian Assayborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-07-cassian-q5-recount.md", + "date": "2026-10-07", + "signee": "cassian-q5-recount", + "headline": "Q5 recount — open-issue total correction", + "committer": "Cassian Assayborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-07-cassian.md", + "date": "2026-10-07", + "signee": "cassian", + "headline": "2026-10-07 — cassian", + "committer": "Cassian Assayborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-07-zephyrus-02.md", + "date": "2026-10-07", + "signee": "zephyrus", + "headline": "2026-10-07 — zephyrus check-in 02 (Q10 claimed; pilot graded)", + "committer": "zephyrus-sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-07-zephyrus.md", + "date": "2026-10-07", + "signee": "zephyrus", + "headline": "2026-10-07 — zephyrus check-in (reply 41 answered; Q8 discharged; Q10 claimed)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-08-merlin.md", + "date": "2026-10-08", + "signee": "merlin", + "headline": "2026-10-08 — merlin", + "committer": "Merlin ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-08-zephyrus.md", + "date": "2026-10-08", + "signee": "zephyrus", + "headline": "Daily check-in — Zephyrus Sparkborn — 2026-10-08", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-09-merlin.md", + "date": "2026-10-09", + "signee": "merlin", + "headline": "2026-10-09 — merlin", + "committer": "timmy ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-09-zephyrus.md", + "date": "2026-10-09", + "signee": "zephyrus", + "headline": "2026-10-09 — Zephyrus Sparkborn check-in", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-10-mercury.md", + "date": "2026-10-10", + "signee": "mercury", + "headline": "2026-10-10 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-10-merlin.md", + "date": "2026-10-10", + "signee": "merlin", + "headline": "2026-10-10 — merlin", + "committer": "Merlin ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-10-zephyrus.md", + "date": "2026-10-10", + "signee": "zephyrus", + "headline": "2026-10-10 — zephyrus", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-11-mercury.md", + "date": "2026-10-11", + "signee": "mercury", + "headline": "2026-10-11 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-11-merlin.md", + "date": "2026-10-11", + "signee": "merlin", + "headline": "2026-10-11 — merlin", + "committer": "Merlin ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-11-zephyrus.md", + "date": "2026-10-11", + "signee": "zephyrus", + "headline": "2026-10-11 — zephyrus", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-12-mercury.md", + "date": "2026-10-12", + "signee": "mercury", + "headline": "2026-10-12 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-12-merlin.md", + "date": "2026-10-12", + "signee": "merlin", + "headline": "2026-10-12 — merlin", + "committer": "Merlin ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-12-zephyrus.md", + "date": "2026-10-12", + "signee": "zephyrus", + "headline": "2026-10-12 — zephyrus", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-13-gemini.md", + "date": "2026-10-13", + "signee": "gemini", + "headline": "2026-10-13 — Gemini", + "committer": "Timmy ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-13-mercury.md", + "date": "2026-10-13", + "signee": "mercury", + "headline": "2026-10-13 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-13-merlin.md", + "date": "2026-10-13", + "signee": "merlin", + "headline": "2026-10-13 — merlin", + "committer": "Merlin ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-13-zephyrus.md", + "date": "2026-10-13", + "signee": "zephyrus", + "headline": "2026-10-13 check-in (zephyrus)", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-14-mercury.md", + "date": "2026-10-14", + "signee": "mercury", + "headline": "2026-10-14 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-14-merlin.md", + "date": "2026-10-14", + "signee": "merlin", + "headline": "2026-10-14 — merlin", + "committer": "Merlin ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-14-zephyrus.md", + "date": "2026-10-14", + "signee": "zephyrus", + "headline": "2026-10-14 — zephyrus", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-15-mercury.md", + "date": "2026-10-15", + "signee": "mercury", + "headline": "2026-10-15 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-15-merlin.md", + "date": "2026-10-15", + "signee": "merlin", + "headline": "Check-in — Merlin, 2026-10-15", + "committer": "Merlin ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-15-volt.md", + "date": "2026-10-15", + "signee": "volt", + "headline": "Check-in — Volt, 2026-10-15", + "committer": "Timmy ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-15-zephyrus.md", + "date": "2026-10-15", + "signee": "zephyrus", + "headline": "2026-10-15 — zephyrus daily check-in", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-16-mercury.md", + "date": "2026-10-16", + "signee": "mercury", + "headline": "2026-10-16 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-16-volt.md", + "date": "2026-10-16", + "signee": "volt", + "headline": "Check-in — Volt, 2026-10-16", + "committer": "volt ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-16-zephyrus.md", + "date": "2026-10-16", + "signee": "zephyrus", + "headline": "2026-10-16 — zephyrus daily check-in", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-17-mercury.md", + "date": "2026-10-17", + "signee": "mercury", + "headline": "2026-10-17 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-17-volt.md", + "date": "2026-10-17", + "signee": "volt", + "headline": "Check-in — Volt, 2026-10-17 (03:3x–04:0xZ)", + "committer": "Volt ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-17-zephyrus.md", + "date": "2026-10-17", + "signee": "zephyrus", + "headline": "2026-10-17 — zephyrus check-in", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-18-mercury.md", + "date": "2026-10-18", + "signee": "mercury", + "headline": "2026-10-18 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-18-volt.md", + "date": "2026-10-18", + "signee": "volt", + "headline": "Check-in — Volt, 2026-10-18 (00:16–00:5xZ)", + "committer": "Volt ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-18-zephyrus.md", + "date": "2026-10-18", + "signee": "zephyrus", + "headline": "2026-10-18 — zephyrus check-in", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-19-mercury.md", + "date": "2026-10-19", + "signee": "mercury", + "headline": "2026-10-19 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-19-volt.md", + "date": "2026-10-19", + "signee": "volt", + "headline": "Check-in — Volt, 2026-10-19 (00:00–00:2xZ)", + "committer": "Volt ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-19-zephyrus.md", + "date": "2026-10-19", + "signee": "zephyrus", + "headline": "2026-10-19 — zephyrus check-in", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-20-mercury.md", + "date": "2026-10-20", + "signee": "mercury", + "headline": "2026-10-20 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-20-volt.md", + "date": "2026-10-20", + "signee": "volt", + "headline": "Check-in — Volt, 2026-10-20 (01:2x–01:4xZ)", + "committer": "Volt ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-20-zephyrus.md", + "date": "2026-10-20", + "signee": "zephyrus", + "headline": "2026-10-20 — zephyrus check-in", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-21-mercury.md", + "date": "2026-10-21", + "signee": "mercury", + "headline": "2026-10-21 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-21-volt.md", + "date": "2026-10-21", + "signee": "volt", + "headline": "Volt — 2026-10-21 (Workhorse)", + "committer": "Volt ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-21-zephyrus.md", + "date": "2026-10-21", + "signee": "zephyrus", + "headline": "2026-10-21 — zephyrus check-in", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-22-mercury.md", + "date": "2026-10-22", + "signee": "mercury", + "headline": "2026-10-22 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-22-zephyrus.md", + "date": "2026-10-22", + "signee": "zephyrus", + "headline": "2026-10-22 — zephyrus", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-23-mercury.md", + "date": "2026-10-23", + "signee": "mercury", + "headline": "2026-10-23 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-23-volt.md", + "date": "2026-10-23", + "signee": "volt", + "headline": "2026-10-23 — volt", + "committer": "Volt ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-23-zephyrus.md", + "date": "2026-10-23", + "signee": "zephyrus", + "headline": "2026-10-23 — zephyrus", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-24-mercury.md", + "date": "2026-10-24", + "signee": "mercury", + "headline": "2026-10-24 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-24-zephyrus.md", + "date": "2026-10-24", + "signee": "zephyrus", + "headline": "2026-10-24 — zephyrus", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-25-mercury.md", + "date": "2026-10-25", + "signee": "mercury", + "headline": "2026-10-25 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-25-volt.md", + "date": "2026-10-25", + "signee": "volt", + "headline": "2026-10-25 — volt", + "committer": "spark ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-25-zephyrus.md", + "date": "2026-10-25", + "signee": "zephyrus", + "headline": "Check-in 2026-10-25 — Zephyrus Sparkborn", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-26-mercury.md", + "date": "2026-10-26", + "signee": "mercury", + "headline": "2026-10-26 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-26-zephyrus.md", + "date": "2026-10-26", + "signee": "zephyrus", + "headline": "Check-in 2026-10-26 — Zephyrus Sparkborn", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-27-forge.md", + "date": "2026-10-27", + "signee": "forge", + "headline": "2026-10-27 — forge (Refactor lane)", + "committer": "forge ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-27-mercury.md", + "date": "2026-10-27", + "signee": "mercury", + "headline": "2026-10-27 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-27-zephyrus.md", + "date": "2026-10-27", + "signee": "zephyrus", + "headline": "Check-in 2026-10-27 — Zephyrus Sparkborn to Timmy", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-28-mercury.md", + "date": "2026-10-28", + "signee": "mercury", + "headline": "2026-10-28 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-28-sentinel.md", + "date": "2026-10-28", + "signee": "sentinel", + "headline": "Check-in 2026-10-28 — Sentinel to Timmy", + "committer": "ledger ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-28-volt.md", + "date": "2026-10-28", + "signee": "volt", + "headline": "Check-in 2026-10-28 — Volt to Timmy", + "committer": "ledger ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-28-zephyrus.md", + "date": "2026-10-28", + "signee": "zephyrus", + "headline": "Check-in 2026-10-28 — Zephyrus Sparkborn to Timmy", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-29-mercury.md", + "date": "2026-10-29", + "signee": "mercury", + "headline": "2026-10-29 — mercury", + "committer": "Mercury ", + "kind": "checkin" + }, + { + "file": "checkins/2026-10-29-zephyrus.md", + "date": "2026-10-29", + "signee": "zephyrus", + "headline": "Check-in 2026-10-29 — Zephyrus Sparkborn", + "committer": "Zephyrus Sparkborn ", + "kind": "checkin" + }, + { + "file": "checkins/README.md", + "date": "2026-10-29", + "signee": "troupe-pipe (index)", + "headline": "Check-ins index", + "committer": "(index file; no committer)", + "kind": "index" + } + ] +} \ No newline at end of file diff --git a/wizard-work/ledger/2026-10-29-checkin-census/checkin-census.md b/wizard-work/ledger/2026-10-29-checkin-census/checkin-census.md new file mode 100644 index 0000000..014b61b --- /dev/null +++ b/wizard-work/ledger/2026-10-29-checkin-census/checkin-census.md @@ -0,0 +1,109 @@ +# Check-in signee census (2026-10-29) + +Source: `git ls-files checkins/`. Every row re-derived from a tracked file and the committer recorded in git. + +| file | date | signee | headline | committer | kind | +|---|---|---|---|---|---| +| checkins/2026-09-24-zephyrus-02.md | 2026-09-24 | zephyrus | 2026-09-24 — zephyrus (02) | Zephyrus Sparkborn | checkin | +| checkins/2026-09-24-zephyrus.md | 2026-09-24 | zephyrus | 2026-09-24 — zephyrus | Zephyrus Sparkborn | checkin | +| checkins/2026-09-25-zephyrus.md | 2026-09-25 | zephyrus | 2026-09-25 — zephyrus check-in | Zephyrus Sparkborn | checkin | +| checkins/2026-09-26-zephyrus-02.md | 2026-09-26 | zephyrus | Check-in 2026-09-26 (2) — Alexander's directive: host the Inbox on alexanderwhitestone.com | Zephyrus Sparkborn | checkin | +| checkins/2026-09-26-zephyrus.md | 2026-09-26 | zephyrus | Daily check-in — 2026-09-26 (Zephyrus → Timmy) | Zephyrus Sparkborn | checkin | +| checkins/2026-09-27-zephyrus.md | 2026-09-27 | zephyrus | 2026-09-27 — zephyrus | Zephyrus Sparkborn | checkin | +| checkins/2026-09-28-zephyrus-02.md | 2026-09-28 | zephyrus | 2026-09-28 — zephyrus (follow-up to reply 16) | Zephyrus Sparkborn | checkin | +| checkins/2026-09-28-zephyrus.md | 2026-09-28 | zephyrus | 2026-09-28 — zephyrus | Zephyrus Sparkborn | checkin | +| checkins/2026-09-30-zephyrus.md | 2026-09-30 | zephyrus | 2026-09-30 — zephyrus | Zephyrus Sparkborn | checkin | +| checkins/2026-10-01-zephyrus-03.md | 2026-10-01 | zephyrus | 2026-10-01 — zephyrus (career lane, follow-up) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-01-zephyrus-04.md | 2026-10-01 | zephyrus | 2026-10-01 — zephyrus (Turing package) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-01-zephyrus-05.md | 2026-10-01 | zephyrus | 2026-10-01 — zephyrus (Turing package approved) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-01-zephyrus-06.md | 2026-10-01 | zephyrus | 2026-10-01 — zephyrus (daily) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-01-zephyrus-07.md | 2026-10-01 | zephyrus | 2026-10-01 — zephyrus (ATS gate census v0.1 landed) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-01-zephyrus.md | 2026-10-01 | zephyrus | 2026-10-01 — zephyrus | Zephyrus Sparkborn | checkin | +| checkins/2026-10-02-zephyrus-01.md | 2026-10-02 | zephyrus | Check-in — Zephyrus, 2026-10-02 (career lane, daily run) | zephyrus-sparkborn | checkin | +| checkins/2026-10-03-zephyrus-02.md | 2026-10-03 | zephyrus | Check-in — Zephyrus, 2026-10-03 (second tick; Q16 close-out) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-03-zephyrus-03.md | 2026-10-03 | zephyrus | Check-in — Zephyrus, 2026-10-03 (third tick; reply 26 + Q8 batch-5 fold-in) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-03-zephyrus.md | 2026-10-03 | zephyrus | Check-in — Zephyrus, 2026-10-03 (career lane, daily run) | zephyrus-sparkborn | checkin | +| checkins/2026-10-04-zephyrus-02.md | 2026-10-04 | zephyrus | 2026-10-04 — zephyrus (check-in 2 of 2) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-04-zephyrus.md | 2026-10-04 | zephyrus | 2026-10-04 — zephyrus check-in | Zephyrus Sparkborn | checkin | +| checkins/2026-10-05-zephyrus-02.md | 2026-10-05 | zephyrus | 2026-10-05 — zephyrus (replies 29 / 30 / 31 read in full, watermark → reply 31) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-05-zephyrus-03.md | 2026-10-05 | zephyrus | 2026-10-05 — zephyrus (batch 7 landed, same tick) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-05-zephyrus.md | 2026-10-05 | zephyrus | 2026-10-05 — zephyrus (reply 28 read in full, watermark → reply 28) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-06-cassian.md | 2026-10-06 | cassian | 2026-10-06 — cassian | Cassian Assayborn | checkin | +| checkins/2026-10-06-zephyrus-02.md | 2026-10-06 | zephyrus | 2026-10-06 — zephyrus check-in 02 (reply 34 folded) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-06-zephyrus-04.md | 2026-10-06 | zephyrus | 2026-10-06 — zephyrus check-in 04 (Q8 batch 9 landed — sweep closes at 91/91) | zephyrus-sparkborn | checkin | +| checkins/2026-10-06-zephyrus-05.md | 2026-10-06 | zephyrus | 2026-10-06 — zephyrus check-in 05 (reply 38 answered; Q8 ruled totals) | zephyrus-sparkborn | checkin | +| checkins/2026-10-06-zephyrus-06.md | 2026-10-06 | zephyrus | 2026-10-06 — zephyrus check-in 06 (reply 39 answered; Q8 owes nothing) | zephyrus-sparkborn | checkin | +| checkins/2026-10-06-zephyrus-wizards-02.md | 2026-10-06 | zephyrus-wizards | 2026-10-06 — zephyrus (wizard onboarding, correction) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-06-zephyrus-wizards-03.md | 2026-10-06 | zephyrus-wizards | 2026-10-06 — zephyrus (wizard onboarding: push through) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-06-zephyrus-wizards.md | 2026-10-06 | zephyrus-wizards | 2026-10-06 — zephyrus (wizard onboarding) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-06-zephyrus.md | 2026-10-06 | zephyrus | 2026-10-06 — zephyrus check-in (career lane) | zephyrus-sparkborn | checkin | +| checkins/2026-10-07-cassian-02.md | 2026-10-07 | cassian | 2026-10-07 — cassian-02 | Cassian Assayborn | checkin | +| checkins/2026-10-07-cassian-q5-census.md | 2026-10-07 | cassian-q5-census | Q5 issue census — Cassian Assayborn | Cassian Assayborn | checkin | +| checkins/2026-10-07-cassian-q5-recount.md | 2026-10-07 | cassian-q5-recount | Q5 recount — open-issue total correction | Cassian Assayborn | checkin | +| checkins/2026-10-07-cassian.md | 2026-10-07 | cassian | 2026-10-07 — cassian | Cassian Assayborn | checkin | +| checkins/2026-10-07-zephyrus-02.md | 2026-10-07 | zephyrus | 2026-10-07 — zephyrus check-in 02 (Q10 claimed; pilot graded) | zephyrus-sparkborn | checkin | +| checkins/2026-10-07-zephyrus.md | 2026-10-07 | zephyrus | 2026-10-07 — zephyrus check-in (reply 41 answered; Q8 discharged; Q10 claimed) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-08-merlin.md | 2026-10-08 | merlin | 2026-10-08 — merlin | Merlin | checkin | +| checkins/2026-10-08-zephyrus.md | 2026-10-08 | zephyrus | Daily check-in — Zephyrus Sparkborn — 2026-10-08 | Zephyrus Sparkborn | checkin | +| checkins/2026-10-09-merlin.md | 2026-10-09 | merlin | 2026-10-09 — merlin | timmy | checkin | +| checkins/2026-10-09-zephyrus.md | 2026-10-09 | zephyrus | 2026-10-09 — Zephyrus Sparkborn check-in | Zephyrus Sparkborn | checkin | +| checkins/2026-10-10-mercury.md | 2026-10-10 | mercury | 2026-10-10 — mercury | Mercury | checkin | +| checkins/2026-10-10-merlin.md | 2026-10-10 | merlin | 2026-10-10 — merlin | Merlin | checkin | +| checkins/2026-10-10-zephyrus.md | 2026-10-10 | zephyrus | 2026-10-10 — zephyrus | Zephyrus Sparkborn | checkin | +| checkins/2026-10-11-mercury.md | 2026-10-11 | mercury | 2026-10-11 — mercury | Mercury | checkin | +| checkins/2026-10-11-merlin.md | 2026-10-11 | merlin | 2026-10-11 — merlin | Merlin | checkin | +| checkins/2026-10-11-zephyrus.md | 2026-10-11 | zephyrus | 2026-10-11 — zephyrus | Zephyrus Sparkborn | checkin | +| checkins/2026-10-12-mercury.md | 2026-10-12 | mercury | 2026-10-12 — mercury | Mercury | checkin | +| checkins/2026-10-12-merlin.md | 2026-10-12 | merlin | 2026-10-12 — merlin | Merlin | checkin | +| checkins/2026-10-12-zephyrus.md | 2026-10-12 | zephyrus | 2026-10-12 — zephyrus | Zephyrus Sparkborn | checkin | +| checkins/2026-10-13-gemini.md | 2026-10-13 | gemini | 2026-10-13 — Gemini | Timmy | checkin | +| checkins/2026-10-13-mercury.md | 2026-10-13 | mercury | 2026-10-13 — mercury | Mercury | checkin | +| checkins/2026-10-13-merlin.md | 2026-10-13 | merlin | 2026-10-13 — merlin | Merlin | checkin | +| checkins/2026-10-13-zephyrus.md | 2026-10-13 | zephyrus | 2026-10-13 check-in (zephyrus) | Zephyrus Sparkborn | checkin | +| checkins/2026-10-14-mercury.md | 2026-10-14 | mercury | 2026-10-14 — mercury | Mercury | checkin | +| checkins/2026-10-14-merlin.md | 2026-10-14 | merlin | 2026-10-14 — merlin | Merlin | checkin | +| checkins/2026-10-14-zephyrus.md | 2026-10-14 | zephyrus | 2026-10-14 — zephyrus | Zephyrus Sparkborn | checkin | +| checkins/2026-10-15-mercury.md | 2026-10-15 | mercury | 2026-10-15 — mercury | Mercury | checkin | +| checkins/2026-10-15-merlin.md | 2026-10-15 | merlin | Check-in — Merlin, 2026-10-15 | Merlin | checkin | +| checkins/2026-10-15-volt.md | 2026-10-15 | volt | Check-in — Volt, 2026-10-15 | Timmy | checkin | +| checkins/2026-10-15-zephyrus.md | 2026-10-15 | zephyrus | 2026-10-15 — zephyrus daily check-in | Zephyrus Sparkborn | checkin | +| checkins/2026-10-16-mercury.md | 2026-10-16 | mercury | 2026-10-16 — mercury | Mercury | checkin | +| checkins/2026-10-16-volt.md | 2026-10-16 | volt | Check-in — Volt, 2026-10-16 | volt | checkin | +| checkins/2026-10-16-zephyrus.md | 2026-10-16 | zephyrus | 2026-10-16 — zephyrus daily check-in | Zephyrus Sparkborn | checkin | +| checkins/2026-10-17-mercury.md | 2026-10-17 | mercury | 2026-10-17 — mercury | Mercury | checkin | +| checkins/2026-10-17-volt.md | 2026-10-17 | volt | Check-in — Volt, 2026-10-17 (03:3x–04:0xZ) | Volt | checkin | +| checkins/2026-10-17-zephyrus.md | 2026-10-17 | zephyrus | 2026-10-17 — zephyrus check-in | Zephyrus Sparkborn | checkin | +| checkins/2026-10-18-mercury.md | 2026-10-18 | mercury | 2026-10-18 — mercury | Mercury | checkin | +| checkins/2026-10-18-volt.md | 2026-10-18 | volt | Check-in — Volt, 2026-10-18 (00:16–00:5xZ) | Volt | checkin | +| checkins/2026-10-18-zephyrus.md | 2026-10-18 | zephyrus | 2026-10-18 — zephyrus check-in | Zephyrus Sparkborn | checkin | +| checkins/2026-10-19-mercury.md | 2026-10-19 | mercury | 2026-10-19 — mercury | Mercury | checkin | +| checkins/2026-10-19-volt.md | 2026-10-19 | volt | Check-in — Volt, 2026-10-19 (00:00–00:2xZ) | Volt | checkin | +| checkins/2026-10-19-zephyrus.md | 2026-10-19 | zephyrus | 2026-10-19 — zephyrus check-in | Zephyrus Sparkborn | checkin | +| checkins/2026-10-20-mercury.md | 2026-10-20 | mercury | 2026-10-20 — mercury | Mercury | checkin | +| checkins/2026-10-20-volt.md | 2026-10-20 | volt | Check-in — Volt, 2026-10-20 (01:2x–01:4xZ) | Volt | checkin | +| checkins/2026-10-20-zephyrus.md | 2026-10-20 | zephyrus | 2026-10-20 — zephyrus check-in | Zephyrus Sparkborn | checkin | +| checkins/2026-10-21-mercury.md | 2026-10-21 | mercury | 2026-10-21 — mercury | Mercury | checkin | +| checkins/2026-10-21-volt.md | 2026-10-21 | volt | Volt — 2026-10-21 (Workhorse) | Volt | checkin | +| checkins/2026-10-21-zephyrus.md | 2026-10-21 | zephyrus | 2026-10-21 — zephyrus check-in | Zephyrus Sparkborn | checkin | +| checkins/2026-10-22-mercury.md | 2026-10-22 | mercury | 2026-10-22 — mercury | Mercury | checkin | +| checkins/2026-10-22-zephyrus.md | 2026-10-22 | zephyrus | 2026-10-22 — zephyrus | Zephyrus Sparkborn | checkin | +| checkins/2026-10-23-mercury.md | 2026-10-23 | mercury | 2026-10-23 — mercury | Mercury | checkin | +| checkins/2026-10-23-volt.md | 2026-10-23 | volt | 2026-10-23 — volt | Volt | checkin | +| checkins/2026-10-23-zephyrus.md | 2026-10-23 | zephyrus | 2026-10-23 — zephyrus | Zephyrus Sparkborn | checkin | +| checkins/2026-10-24-mercury.md | 2026-10-24 | mercury | 2026-10-24 — mercury | Mercury | checkin | +| checkins/2026-10-24-zephyrus.md | 2026-10-24 | zephyrus | 2026-10-24 — zephyrus | Zephyrus Sparkborn | checkin | +| checkins/2026-10-25-mercury.md | 2026-10-25 | mercury | 2026-10-25 — mercury | Mercury | checkin | +| checkins/2026-10-25-volt.md | 2026-10-25 | volt | 2026-10-25 — volt | spark | checkin | +| checkins/2026-10-25-zephyrus.md | 2026-10-25 | zephyrus | Check-in 2026-10-25 — Zephyrus Sparkborn | Zephyrus Sparkborn | checkin | +| checkins/2026-10-26-mercury.md | 2026-10-26 | mercury | 2026-10-26 — mercury | Mercury | checkin | +| checkins/2026-10-26-zephyrus.md | 2026-10-26 | zephyrus | Check-in 2026-10-26 — Zephyrus Sparkborn | Zephyrus Sparkborn | checkin | +| checkins/2026-10-27-forge.md | 2026-10-27 | forge | 2026-10-27 — forge (Refactor lane) | forge | checkin | +| checkins/2026-10-27-mercury.md | 2026-10-27 | mercury | 2026-10-27 — mercury | Mercury | checkin | +| checkins/2026-10-27-zephyrus.md | 2026-10-27 | zephyrus | Check-in 2026-10-27 — Zephyrus Sparkborn to Timmy | Zephyrus Sparkborn | checkin | +| checkins/2026-10-28-mercury.md | 2026-10-28 | mercury | 2026-10-28 — mercury | Mercury | checkin | +| checkins/2026-10-28-sentinel.md | 2026-10-28 | sentinel | Check-in 2026-10-28 — Sentinel to Timmy | ledger | checkin | +| checkins/2026-10-28-volt.md | 2026-10-28 | volt | Check-in 2026-10-28 — Volt to Timmy | ledger | checkin | +| checkins/2026-10-28-zephyrus.md | 2026-10-28 | zephyrus | Check-in 2026-10-28 — Zephyrus Sparkborn to Timmy | Zephyrus Sparkborn | checkin | +| checkins/2026-10-29-mercury.md | 2026-10-29 | mercury | 2026-10-29 — mercury | Mercury | checkin | +| checkins/2026-10-29-zephyrus.md | 2026-10-29 | zephyrus | Check-in 2026-10-29 — Zephyrus Sparkborn | Zephyrus Sparkborn | checkin | +| checkins/README.md | 2026-10-29 | troupe-pipe (index) | Check-ins index | (index file; no committer) | index | diff --git a/wizard-work/ledger/2026-10-29-checkin-census/gen.py b/wizard-work/ledger/2026-10-29-checkin-census/gen.py new file mode 100644 index 0000000..6a562f5 --- /dev/null +++ b/wizard-work/ledger/2026-10-29-checkin-census/gen.py @@ -0,0 +1,132 @@ +#!/usr/bin/env python3 +"""Generator: check-in signee census. + +Extracts every date-tagged check-in file from `checkins/`, resolving the signee +handle, the committer (from git), and the headline, then emits a table (CSV/JSON/ +MD). + +Evidence source: `git ls-files checkins/` (authoritative tracked-file list) and +`git log -1 --format=... -- ` (committer of the last commit touching it). +Nothing is invented: every row is derived from a real file + a real git object. + +The CHECK gate is a sibling file (checkin-census/CHECK) that re-derives the +expected table from git and exits 0 only if the table is fully derivable. +""" +import csv +import json +import os +import re +import subprocess +import sys + +ROOT = "/root/troupe-standup" +INS = os.path.join(ROOT, "checkins") +OUT = os.path.join(ROOT, "wizard-work", "ledger", "2026-10-29-checkin-census") + +DATE = re.compile(r"^checkins/(\d{4}-\d{2}-\d{2})-(.+)$") +INDEX_FILE = "checkins/README.md" + + +def run_git(args): + return subprocess.run( + ["git", "-C", ROOT] + args, check=True, capture_output=True, text=True + ).stdout + + +def tracked_checkin_files(): + out = run_git(["ls-files", "checkins/"]).strip().split("\n") + return sorted(f for f in out if f.endswith(".md")) + + +def signee_from_filename(name): + m = DATE.match(name) + token = m.group(2) + token = token[:-3] if token.endswith(".md") else token + token = re.sub(r"-\d+$", "", token) # drop -02/-03 revision markers + return token + + +def checkin_headline(path): + try: + with open(path, encoding="utf-8", errors="replace") as fh: + for line in fh: + line = line.rstrip("\n") + if line.startswith("# "): + return line[2:].strip() + except OSError: + pass + return "" + + +def committer(path): + out = run_git(["log", "-1", "--format=%an <%ae>", "--", path]).strip() + return out or "(no committer)" + + +def main(): + os.makedirs(OUT, exist_ok=True) + + rows = [] + for f in tracked_checkin_files(): + if f == INDEX_FILE: + rows.append({ + "file": INDEX_FILE, + "date": "2026-10-29", + "signee": "troupe-pipe (index)", + "headline": "Check-ins index", + "committer": "(index file; no committer)", + "kind": "index", + }) + continue + m = DATE.match(f) + date = m.group(1) + signee = signee_from_filename(f) + headline = checkin_headline(os.path.join(ROOT, f)) + rows.append({ + "file": f, + "date": date, + "signee": signee, + "headline": headline, + "committer": committer(os.path.join(ROOT, f)), + "kind": "checkin", + }) + + rows.sort(key=lambda r: (r["date"], r["file"])) + + # ---- CSV ---- + csv_path = os.path.join(OUT, "checkin-census.csv") + with open(csv_path, "w", newline="", encoding="utf-8") as fh: + w = csv.DictWriter(fh, fieldnames=["file", "date", "signee", "headline", "committer", "kind"]) + w.writeheader() + for r in rows: + w.writerow(r) + + # ---- JSON ---- + json_path = os.path.join(OUT, "checkin-census.json") + with open(json_path, "w", encoding="utf-8") as fh: + json.dump({ + "source": "git ls-files checkins/ (authoritative tracked list)", + "total_checkin_rows": len([r for r in rows if r["kind"] == "checkin"]), + "rows": rows, + }, fh, indent=2, ensure_ascii=False) + + # ---- MD table ---- + md_path = os.path.join(OUT, "checkin-census.md") + with open(md_path, "w", encoding="utf-8") as fh: + fh.write("# Check-in signee census (2026-10-29)\n\n") + fh.write("Source: `git ls-files checkins/`. Every row re-derived from a tracked file " + "and the committer recorded in git.\n\n") + fh.write("| file | date | signee | headline | committer | kind |\n") + fh.write("|---|---|---|---|---|---|\n") + for r in rows: + fh.write(f"| {r['file']} | {r['date']} | {r['signee']} | {r['headline']} | {r['committer']} | {r['kind']} |\n") + + print("wrote outputs:") + print(" ", csv_path) + print(" ", json_path) + print(" ", md_path) + print("rows:", len(rows), "dated checkin:", len([r for r in rows if r["kind"] == "checkin"])) + + +if __name__ == "__main__": + main()