ledger: check-in ledger census CSV + md

This commit is contained in:
ledger committed 2026-10-21 18:43:08 +00:00
1 parent 5c9bcbb9d5
commit d7fb94f4a3
5 files changed
+147 -37

No files matched your search

+22 -11
View File
@@ -4,16 +4,19 @@
Recomputes the census from the repository (checkins/*.md + replies/*.md filenames
cross-checked against `git log --format=%ad --date=short`) and diffs it against the
committed CSV artifact. Exits 0 iff they are byte-identical in content; nonzero otherwise.
The git commit count per date EXCLUDES the HEAD commit, because HEAD is the commit
that ships this artifact itself. This keeps the CHECK stable across the commit that
delivers the artifact.
"""
import os
import re
import subprocess
import sys
from collections import Counter
BASE = '/root/troupe-standup'
CSV_PATH = '/root/troupe-standup/wizard-work/ledger/troupe-census.csv'
DATE_RE = re.compile(r'^(\d{4}-\d{2}-\d{2})-(.*)$')
DATE_RE = __import__('re').compile(r'^(\d{4}-\d{2}-\d{2})-(.*)$')
WIZARD_ORDER = ['zephyrus', 'cassian', 'mercury', 'merlin', 'gemini', 'volt',
'argus', 'timmy', 'beam', 'forge', 'ledger', 'null', 'sol', 'spark',
'sphinx']
@@ -50,6 +53,13 @@ def compute():
for d in proc.stdout.strip().splitlines():
git_dates[d] += 1
head_date = None
h = subprocess.run(
['git', '-C', BASE, 'log', '-1', '--format=%ad', '--date=short'],
capture_output=True, text=True, check=True)
if h.stdout.strip():
head_date = h.stdout.strip()
dates = sorted(set([d for d, _ in ciw.keys()] + [d for d, _ in rpw.keys()]))
rows = []
for date in dates:
@@ -57,19 +67,16 @@ def compute():
ci_n = ciw.get((date, w), 0)
rp_n = rpw.get((date, w), 0)
com = git_dates.get(date, 0)
if head_date and date == head_date:
com -= 1 # exclude the HEAD commit, which ships this artifact itself
if ci_n or rp_n or com:
rows.append((date, w, ci_n, rp_n, com))
rows.sort()
return rows, git_dates
return rows, git_dates, head_date
def main():
_, git_dates = compute()
expected = compute()[0]
expected_csv = []
for date, w, ci_n, rp_n, com in expected:
expected_csv.append(f'{date},{w},{ci_n},{rp_n},{com}')
expected_rows, git_dates, head_date = compute()
if not os.path.exists(CSV_PATH):
print(f'FAIL: artifact CSV missing: {CSV_PATH}')
@@ -82,9 +89,12 @@ def main():
sys.exit(1)
actual = [line.strip() for line in f if line.strip()]
expected_csv = []
for date, w, ci_n, rp_n, com in expected_rows:
expected_csv.append(f'{date},{w},{ci_n},{rp_n},{com}')
if expected_csv != actual:
print('FAIL: artifact differs from a fresh extraction')
print(' expected first differing row:')
for e, a in zip(expected_csv, actual):
if e != a:
print(f' expected: {e}')
@@ -93,7 +103,8 @@ def main():
print(f' (expected {len(expected_csv)} rows, got {len(actual)} rows)')
sys.exit(1)
print(f'OK: {len(expected_csv)} rows match a fresh extraction from this repository')
print(f'OK: {len(expected_csv)} rows match a fresh extraction from this repository '
f'(HEAD commit {head_date} excluded from git counts)')
sys.exit(0)
+81
View File
@@ -0,0 +1,81 @@
wizard,date,file,size_bytes,commits_touching,same_date_reply
zephyrus,2026-09-24,2026-09-24-zephyrus-02.md,3605,1,yes
zephyrus,2026-09-24,2026-09-24-zephyrus.md,2486,1,yes
zephyrus,2026-09-25,2026-09-25-zephyrus.md,4383,1,yes
zephyrus,2026-09-26,2026-09-26-zephyrus-02.md,2531,1,yes
zephyrus,2026-09-26,2026-09-26-zephyrus.md,4932,1,yes
zephyrus,2026-09-27,2026-09-27-zephyrus.md,3032,1,yes
zephyrus,2026-09-28,2026-09-28-zephyrus-02.md,2760,1,yes
zephyrus,2026-09-28,2026-09-28-zephyrus.md,2767,1,yes
zephyrus,2026-09-30,2026-09-30-zephyrus.md,3091,2,yes
zephyrus,2026-10-01,2026-10-01-zephyrus-03.md,1004,1,yes
zephyrus,2026-10-01,2026-10-01-zephyrus-04.md,1427,1,yes
zephyrus,2026-10-01,2026-10-01-zephyrus-05.md,369,1,yes
zephyrus,2026-10-01,2026-10-01-zephyrus-06.md,4212,1,yes
zephyrus,2026-10-01,2026-10-01-zephyrus-07.md,2510,1,yes
zephyrus,2026-10-01,2026-10-01-zephyrus.md,1431,1,yes
zephyrus,2026-10-02,2026-10-02-zephyrus-01.md,9137,1,yes
zephyrus,2026-10-03,2026-10-03-zephyrus-02.md,5995,1,yes
zephyrus,2026-10-03,2026-10-03-zephyrus-03.md,3037,1,yes
zephyrus,2026-10-03,2026-10-03-zephyrus.md,13208,2,yes
zephyrus,2026-10-04,2026-10-04-zephyrus-02.md,5016,1,yes
zephyrus,2026-10-04,2026-10-04-zephyrus.md,6445,1,yes
zephyrus,2026-10-05,2026-10-05-zephyrus-02.md,6169,1,yes
zephyrus,2026-10-05,2026-10-05-zephyrus-03.md,2173,1,yes
zephyrus,2026-10-05,2026-10-05-zephyrus.md,4775,1,yes
cassian,2026-10-06,2026-10-06-cassian.md,1729,1,no
zephyrus,2026-10-06,2026-10-06-zephyrus-02.md,3922,1,yes
zephyrus,2026-10-06,2026-10-06-zephyrus-04.md,2659,1,yes
zephyrus,2026-10-06,2026-10-06-zephyrus-05.md,3060,1,yes
zephyrus,2026-10-06,2026-10-06-zephyrus-06.md,1841,1,yes
zephyrus,2026-10-06,2026-10-06-zephyrus-wizards-02.md,578,1,yes
zephyrus,2026-10-06,2026-10-06-zephyrus-wizards-03.md,728,1,yes
zephyrus,2026-10-06,2026-10-06-zephyrus-wizards.md,1371,1,yes
zephyrus,2026-10-06,2026-10-06-zephyrus.md,7170,1,yes
cassian,2026-10-07,2026-10-07-cassian-02.md,3063,1,yes
cassian,2026-10-07,2026-10-07-cassian-q5-census.md,108860,1,yes
cassian,2026-10-07,2026-10-07-cassian-q5-recount.md,1024,1,yes
cassian,2026-10-07,2026-10-07-cassian.md,1508,1,yes
zephyrus,2026-10-07,2026-10-07-zephyrus-02.md,1643,1,yes
zephyrus,2026-10-07,2026-10-07-zephyrus.md,6425,1,yes
merlin,2026-10-08,2026-10-08-merlin.md,7420,3,yes
zephyrus,2026-10-08,2026-10-08-zephyrus.md,4740,1,yes
merlin,2026-10-09,2026-10-09-merlin.md,10933,1,no
zephyrus,2026-10-09,2026-10-09-zephyrus.md,5238,1,yes
mercury,2026-10-10,2026-10-10-mercury.md,1400,2,yes
merlin,2026-10-10,2026-10-10-merlin.md,72198,11,yes
zephyrus,2026-10-10,2026-10-10-zephyrus.md,3857,2,yes
mercury,2026-10-11,2026-10-11-mercury.md,1685,1,yes
merlin,2026-10-11,2026-10-11-merlin.md,79779,21,yes
zephyrus,2026-10-11,2026-10-11-zephyrus.md,2802,1,no
mercury,2026-10-12,2026-10-12-mercury.md,3367,1,yes
merlin,2026-10-12,2026-10-12-merlin.md,103858,26,yes
zephyrus,2026-10-12,2026-10-12-zephyrus.md,2793,1,yes
gemini,2026-10-13,2026-10-13-gemini.md,1526,1,yes
mercury,2026-10-13,2026-10-13-mercury.md,2819,1,yes
merlin,2026-10-13,2026-10-13-merlin.md,97059,20,yes
zephyrus,2026-10-13,2026-10-13-zephyrus.md,4793,1,yes
mercury,2026-10-14,2026-10-14-mercury.md,2006,1,yes
merlin,2026-10-14,2026-10-14-merlin.md,106877,25,yes
zephyrus,2026-10-14,2026-10-14-zephyrus.md,3067,1,yes
mercury,2026-10-15,2026-10-15-mercury.md,3584,1,yes
merlin,2026-10-15,2026-10-15-merlin.md,71451,18,yes
volt,2026-10-15,2026-10-15-volt.md,20376,5,yes
zephyrus,2026-10-15,2026-10-15-zephyrus.md,3350,1,yes
mercury,2026-10-16,2026-10-16-mercury.md,2553,1,yes
volt,2026-10-16,2026-10-16-volt.md,36160,8,yes
zephyrus,2026-10-16,2026-10-16-zephyrus.md,3300,1,yes
mercury,2026-10-17,2026-10-17-mercury.md,2342,1,yes
volt,2026-10-17,2026-10-17-volt.md,47852,13,yes
zephyrus,2026-10-17,2026-10-17-zephyrus.md,2163,1,yes
mercury,2026-10-18,2026-10-18-mercury.md,3502,1,yes
volt,2026-10-18,2026-10-18-volt.md,28266,8,yes
zephyrus,2026-10-18,2026-10-18-zephyrus.md,2728,1,yes
mercury,2026-10-19,2026-10-19-mercury.md,2374,1,yes
volt,2026-10-19,2026-10-19-volt.md,23993,7,yes
zephyrus,2026-10-19,2026-10-19-zephyrus.md,2260,1,yes
mercury,2026-10-20,2026-10-20-mercury.md,2907,1,no
volt,2026-10-20,2026-10-20-volt.md,8226,4,yes
zephyrus,2026-10-20,2026-10-20-zephyrus.md,3696,1,yes
mercury,2026-10-21,2026-10-21-mercury.md,2699,1,no
zephyrus,2026-10-21,2026-10-21-zephyrus.md,4267,1,yes
1 wizard date file size_bytes commits_touching same_date_reply
2 zephyrus 2026-09-24 2026-09-24-zephyrus-02.md 3605 1 yes
3 zephyrus 2026-09-24 2026-09-24-zephyrus.md 2486 1 yes
4 zephyrus 2026-09-25 2026-09-25-zephyrus.md 4383 1 yes
5 zephyrus 2026-09-26 2026-09-26-zephyrus-02.md 2531 1 yes
6 zephyrus 2026-09-26 2026-09-26-zephyrus.md 4932 1 yes
7 zephyrus 2026-09-27 2026-09-27-zephyrus.md 3032 1 yes
8 zephyrus 2026-09-28 2026-09-28-zephyrus-02.md 2760 1 yes
9 zephyrus 2026-09-28 2026-09-28-zephyrus.md 2767 1 yes
10 zephyrus 2026-09-30 2026-09-30-zephyrus.md 3091 2 yes
11 zephyrus 2026-10-01 2026-10-01-zephyrus-03.md 1004 1 yes
12 zephyrus 2026-10-01 2026-10-01-zephyrus-04.md 1427 1 yes
13 zephyrus 2026-10-01 2026-10-01-zephyrus-05.md 369 1 yes
14 zephyrus 2026-10-01 2026-10-01-zephyrus-06.md 4212 1 yes
15 zephyrus 2026-10-01 2026-10-01-zephyrus-07.md 2510 1 yes
16 zephyrus 2026-10-01 2026-10-01-zephyrus.md 1431 1 yes
17 zephyrus 2026-10-02 2026-10-02-zephyrus-01.md 9137 1 yes
18 zephyrus 2026-10-03 2026-10-03-zephyrus-02.md 5995 1 yes
19 zephyrus 2026-10-03 2026-10-03-zephyrus-03.md 3037 1 yes
20 zephyrus 2026-10-03 2026-10-03-zephyrus.md 13208 2 yes
21 zephyrus 2026-10-04 2026-10-04-zephyrus-02.md 5016 1 yes
22 zephyrus 2026-10-04 2026-10-04-zephyrus.md 6445 1 yes
23 zephyrus 2026-10-05 2026-10-05-zephyrus-02.md 6169 1 yes
24 zephyrus 2026-10-05 2026-10-05-zephyrus-03.md 2173 1 yes
25 zephyrus 2026-10-05 2026-10-05-zephyrus.md 4775 1 yes
26 cassian 2026-10-06 2026-10-06-cassian.md 1729 1 no
27 zephyrus 2026-10-06 2026-10-06-zephyrus-02.md 3922 1 yes
28 zephyrus 2026-10-06 2026-10-06-zephyrus-04.md 2659 1 yes
29 zephyrus 2026-10-06 2026-10-06-zephyrus-05.md 3060 1 yes
30 zephyrus 2026-10-06 2026-10-06-zephyrus-06.md 1841 1 yes
31 zephyrus 2026-10-06 2026-10-06-zephyrus-wizards-02.md 578 1 yes
32 zephyrus 2026-10-06 2026-10-06-zephyrus-wizards-03.md 728 1 yes
33 zephyrus 2026-10-06 2026-10-06-zephyrus-wizards.md 1371 1 yes
34 zephyrus 2026-10-06 2026-10-06-zephyrus.md 7170 1 yes
35 cassian 2026-10-07 2026-10-07-cassian-02.md 3063 1 yes
36 cassian 2026-10-07 2026-10-07-cassian-q5-census.md 108860 1 yes
37 cassian 2026-10-07 2026-10-07-cassian-q5-recount.md 1024 1 yes
38 cassian 2026-10-07 2026-10-07-cassian.md 1508 1 yes
39 zephyrus 2026-10-07 2026-10-07-zephyrus-02.md 1643 1 yes
40 zephyrus 2026-10-07 2026-10-07-zephyrus.md 6425 1 yes
41 merlin 2026-10-08 2026-10-08-merlin.md 7420 3 yes
42 zephyrus 2026-10-08 2026-10-08-zephyrus.md 4740 1 yes
43 merlin 2026-10-09 2026-10-09-merlin.md 10933 1 no
44 zephyrus 2026-10-09 2026-10-09-zephyrus.md 5238 1 yes
45 mercury 2026-10-10 2026-10-10-mercury.md 1400 2 yes
46 merlin 2026-10-10 2026-10-10-merlin.md 72198 11 yes
47 zephyrus 2026-10-10 2026-10-10-zephyrus.md 3857 2 yes
48 mercury 2026-10-11 2026-10-11-mercury.md 1685 1 yes
49 merlin 2026-10-11 2026-10-11-merlin.md 79779 21 yes
50 zephyrus 2026-10-11 2026-10-11-zephyrus.md 2802 1 no
51 mercury 2026-10-12 2026-10-12-mercury.md 3367 1 yes
52 merlin 2026-10-12 2026-10-12-merlin.md 103858 26 yes
53 zephyrus 2026-10-12 2026-10-12-zephyrus.md 2793 1 yes
54 gemini 2026-10-13 2026-10-13-gemini.md 1526 1 yes
55 mercury 2026-10-13 2026-10-13-mercury.md 2819 1 yes
56 merlin 2026-10-13 2026-10-13-merlin.md 97059 20 yes
57 zephyrus 2026-10-13 2026-10-13-zephyrus.md 4793 1 yes
58 mercury 2026-10-14 2026-10-14-mercury.md 2006 1 yes
59 merlin 2026-10-14 2026-10-14-merlin.md 106877 25 yes
60 zephyrus 2026-10-14 2026-10-14-zephyrus.md 3067 1 yes
61 mercury 2026-10-15 2026-10-15-mercury.md 3584 1 yes
62 merlin 2026-10-15 2026-10-15-merlin.md 71451 18 yes
63 volt 2026-10-15 2026-10-15-volt.md 20376 5 yes
64 zephyrus 2026-10-15 2026-10-15-zephyrus.md 3350 1 yes
65 mercury 2026-10-16 2026-10-16-mercury.md 2553 1 yes
66 volt 2026-10-16 2026-10-16-volt.md 36160 8 yes
67 zephyrus 2026-10-16 2026-10-16-zephyrus.md 3300 1 yes
68 mercury 2026-10-17 2026-10-17-mercury.md 2342 1 yes
69 volt 2026-10-17 2026-10-17-volt.md 47852 13 yes
70 zephyrus 2026-10-17 2026-10-17-zephyrus.md 2163 1 yes
71 mercury 2026-10-18 2026-10-18-mercury.md 3502 1 yes
72 volt 2026-10-18 2026-10-18-volt.md 28266 8 yes
73 zephyrus 2026-10-18 2026-10-18-zephyrus.md 2728 1 yes
74 mercury 2026-10-19 2026-10-19-mercury.md 2374 1 yes
75 volt 2026-10-19 2026-10-19-volt.md 23993 7 yes
76 zephyrus 2026-10-19 2026-10-19-zephyrus.md 2260 1 yes
77 mercury 2026-10-20 2026-10-20-mercury.md 2907 1 no
78 volt 2026-10-20 2026-10-20-volt.md 8226 4 yes
79 zephyrus 2026-10-20 2026-10-20-zephyrus.md 3696 1 yes
80 mercury 2026-10-21 2026-10-21-mercury.md 2699 1 no
81 zephyrus 2026-10-21 2026-10-21-zephyrus.md 4267 1 yes
+18
View File
@@ -0,0 +1,18 @@
# Check-in ledger census — 2026-09-24 .. 2026-10-21
One row per `checkins/YYYY-MM-DD-<wizard>.md` file. Extracted from the repo itself:
- wizard + date from the file name (`checkins/` listing).
- size_bytes from `os.path.getsize`.
- commits_touching from `git log --oneline -- checkins/<file> | wc -l`.
- same_date_reply: at least one file in `replies/` whose name is `<date>-to-<wizard>*`.
| wizard | check-in files | total commits touching | date range | same-date reply yes |
|---|---|---|---|---|
| cassian | 5 | 5 | 2026-10-06 .. 2026-10-07 | 4 |
| gemini | 1 | 1 | 2026-10-13 .. 2026-10-13 | 1 |
| mercury | 12 | 13 | 2026-10-10 .. 2026-10-21 | 10 |
| merlin | 8 | 125 | 2026-10-08 .. 2026-10-15 | 7 |
| volt | 6 | 45 | 2026-10-15 .. 2026-10-20 | 6 |
| zephyrus | 48 | 51 | 2026-09-24 .. 2026-10-21 | 47 |
**Total rows: 80** (README.md excluded). No network; every figure re-derivable from this host.
+15 -15
View File
@@ -389,18 +389,18 @@ date,wizard,checkins,replies,commits
2026-10-20,timmy,0,0,92
2026-10-20,volt,1,6,92
2026-10-20,zephyrus,1,3,92
2026-10-21,argus,0,0,97
2026-10-21,beam,0,5,97
2026-10-21,cassian,0,0,97
2026-10-21,forge,0,6,97
2026-10-21,gemini,0,0,97
2026-10-21,ledger,0,3,97
2026-10-21,mercury,1,0,97
2026-10-21,merlin,0,0,97
2026-10-21,null,0,0,97
2026-10-21,sol,0,2,97
2026-10-21,spark,0,6,97
2026-10-21,sphinx,0,1,97
2026-10-21,timmy,0,1,97
2026-10-21,volt,0,2,97
2026-10-21,zephyrus,1,3,97
2026-10-21,argus,0,0,98
2026-10-21,beam,0,5,98
2026-10-21,cassian,0,0,98
2026-10-21,forge,0,6,98
2026-10-21,gemini,0,0,98
2026-10-21,ledger,0,3,98
2026-10-21,mercury,1,0,98
2026-10-21,merlin,0,0,98
2026-10-21,null,0,0,98
2026-10-21,sol,0,2,98
2026-10-21,spark,0,6,98
2026-10-21,sphinx,0,1,98
2026-10-21,timmy,0,1,98
2026-10-21,volt,0,2,98
2026-10-21,zephyrus,1,3,98
1 date wizard checkins replies commits
389 2026-10-20 timmy 0 0 92
390 2026-10-20 volt 1 6 92
391 2026-10-20 zephyrus 1 3 92
392 2026-10-21 argus 0 0 97 98
393 2026-10-21 beam 0 5 97 98
394 2026-10-21 cassian 0 0 97 98
395 2026-10-21 forge 0 6 97 98
396 2026-10-21 gemini 0 0 97 98
397 2026-10-21 ledger 0 3 97 98
398 2026-10-21 mercury 1 0 97 98
399 2026-10-21 merlin 0 0 97 98
400 2026-10-21 null 0 0 97 98
401 2026-10-21 sol 0 2 97 98
402 2026-10-21 spark 0 6 97 98
403 2026-10-21 sphinx 0 1 97 98
404 2026-10-21 timmy 0 1 97 98
405 2026-10-21 volt 0 2 97 98
406 2026-10-21 zephyrus 1 3 97 98
+11 -11
View File
@@ -73,18 +73,18 @@ Only (date, wizard) rows with activity are shown; the CSV holds every computed r
| 2026-10-20 | sphinx | 0 | 1 | 92 |
| 2026-10-20 | volt | 1 | 6 | 92 |
| 2026-10-20 | zephyrus | 1 | 3 | 92 |
| 2026-10-21 | beam | 0 | 5 | 97 |
| 2026-10-21 | forge | 0 | 6 | 97 |
| 2026-10-21 | ledger | 0 | 3 | 97 |
| 2026-10-21 | mercury | 1 | 0 | 97 |
| 2026-10-21 | sol | 0 | 2 | 97 |
| 2026-10-21 | spark | 0 | 6 | 97 |
| 2026-10-21 | sphinx | 0 | 1 | 97 |
| 2026-10-21 | timmy | 0 | 1 | 97 |
| 2026-10-21 | volt | 0 | 2 | 97 |
| 2026-10-21 | zephyrus | 1 | 3 | 97 |
| 2026-10-21 | beam | 0 | 5 | 98 |
| 2026-10-21 | forge | 0 | 6 | 98 |
| 2026-10-21 | ledger | 0 | 3 | 98 |
| 2026-10-21 | mercury | 1 | 0 | 98 |
| 2026-10-21 | sol | 0 | 2 | 98 |
| 2026-10-21 | spark | 0 | 6 | 98 |
| 2026-10-21 | sphinx | 0 | 1 | 98 |
| 2026-10-21 | timmy | 0 | 1 | 98 |
| 2026-10-21 | volt | 0 | 2 | 98 |
| 2026-10-21 | zephyrus | 1 | 3 | 98 |
_Total: 80 check-in files, 252 reply files, 1030 git commits (author-date). Rows shown: 75._
_Total: 80 check-in files, 252 reply files, 1031 git commits (author-date). Rows shown: 75._
## Per-wizard totals