Files
BFM-decomp/phase-ends/current/tasks/T11.md
T

3.4 KiB

T11 — progress snapshot and chart catch-up

Status: done | expert: expert-opus55 | ctx-at-completion: n/a | commit: see COMMIT | coder runs: c1 opus55 done (e7203a358b) Done: README Types now states the live --check-casts --residue gate numbers with the per-form covered/uncovered split; readability row 'P3.39 T11: chart catch-up' at e7203a358, timeline and README regenerated. progress: raw P=257,464 I=49,831 X=13,790 M=15,128 (gate, P37 census) / 336,219 four-form total (P39 census); uncovered P=0 I=0 X=0 M=0; macro sites 20,963 (unbacked 0); levers 3,711 (1,868 pins + 1,843 asm); lying 229 over 24 callees (ledgered 0); struct defs 1,650; gates passed: readability_progress --check, timeline --check, progress --readme --check. Files:

  • tools/progress.py — fleet() reads the newest residue census + check_casts_verdict on its paired type census; readme_block adds the cast-gate clause (c1)
  • README.md, docs/progress.json, docs/progress.md — regenerated
  • docs/readability-progress.tsv, docs/readability.md — P39 T11 row
  • docs/story-timeline.md, docs/story-timeline.svg — regenerated (82 rows)
  • docs/struct-map.md — rewritten by the P39 census refresh Decisions:
  • Clause omitted (not printed stale) when the residue census is absent or older than its paired type census.
  • Per-debt panels on a date axis in story-timeline.svg not built: not cheap (timeline.py change + new tsv series); stays deferred to 3.40 with D1's "uncovered series". Deviations:
  • c1: unbacked/lying come from type_census.check_casts_verdict on the paired census, not residue_census.json (the JSON lacks them). Findings:
  • Snapshot refused on every T5 batch: cause confirmed. restruct_cycle.sh:66 reruns type_census.py into the default .run/P37/census; readability_progress.py reads the newest .run/P<N>/census (P39), which the cycle never refreshes, so the src stamp differs → "census is STALE" → cycle prints "readability snapshot refused" and continues. Workaround (used here): type_census.py -j 16 --out-dir .run/P39/census before --snapshot. Fix candidate (not in T11 files): cycle census writes to the newest census dir, or readability_progress takes --census-dir.
  • Two census dirs disagree by 6 sites: gate (P37 dir) P=257,464 M=15,128 total 336,213; P39 census P=257,469 M=15,129 total 336,219. README Types carries both (four-form total from P39, gate clause from P37). Not investigated.
  • Brief's "I=12157, M=13704" uncovered figures do not match the live gate (I/M uncovered 0, also T5 Verified); README shows the live gate. Gotchas:
  • harness: readability_progress.py --check is OK only when the last row's commit == HEAD; the commit that records the row makes it STALE again. Verify is therefore true at the snapshot commit's parent tree, never after the commit; --help does not say so.
  • workflow: D1 snapshot = type_census.py -j 16 --out-dir .run/P39/census → readability_progress.py --snapshot "<label>" → timeline.py → progress.py --readme; run the census on the newest P dir, not the cycle's P37. Next task needs: T6 owns lying=229 (the only gate failure). Census-moving tasks: refresh the P39 census before snapshot (cycle does not). Verified: PY tools/readability_progress.py --check && PY tools/timeline.py --check → "OK — last row 'P3.39 T11: chart catch-up' at e7203a358, HEAD e7203a358" + "fresh (82 rows)", rc 0 (before the T11 commit; see harness gotcha); PY tools/progress.py --readme --check → fresh Full log: phase-ends/current/logs/T11.md