Build Log
Recover Stranded Signals Work, Reduce Smith's Instruction Load
September 23, 2026
Recovered a prior session's stranded ownership claim and uncommitted Signals work, then ran a Council-amended instruction-load reduction that self-corrected two real defects under review.
Timeline
What shipped
Committed Signals Cockpit ranking fix (04fe6072): occurrencesLast10 replaces lifetime painScore as the sort key for "Needs a Charge", RECENCY_WINDOW moved to categorize-spin.ts to fix a real RSC-boundary production build error, Owner Loop Lifecycle CATEGORY_COHERENCE entry (11 spins, corrected twice under review), UI Layout classifier-contamination fix
Corrected the Signals Cockpit handoff Charge (66d00d63) to state plainly that findings.ts is dead code and the two-section UI split was never built, replacing a prior session's inaccurate claim that it only needed verification
Moved Archived Traps out of ignition-core.md into forgekit-os/archived-traps.md (e3a5c0aa), closing a real false claim ("archived traps are not loaded by default" while physically loaded every session)
Reviewed all 13 archived rows for live operational content before moving them; promoted 2 (UTC-drift dates rule, Clerk-auth timebox stop condition) back to Active after grep confirmed zero coverage elsewhere; demoted 2 verified duplicates of eagerly-loaded gate checklists to make room
Fixed a real latent defect in engine-guard.mjs: countTableRows() returned 0 for both a missing file and a missing header, which would have silently disabled the archived-row cap forever if the archive file were ever lost or malformed. Missing/malformed now hard-fails.
Fixture-tested all 4 archive failure paths (missing, malformed, over-cap, warn-at-18) plus exit codes against temp copies, without touching the real archive
Individually rebaselined the 3 hard-rule-baseline.json entries affected by the line shift, verified by phrase/order/text rather than regenerated wholesale
Added 'Where an instruction belongs' maintenance guidance to HOW_TO_WORK_WITH_ZEB.md
Found and fixed, under the same review pass, a real defect in the just-shipped e3a5c0aa commit: the Dates and Auth/Clerk-timebox rows existed in BOTH the Active table and the archive after being promoted — the commit's own message had claimed 'no rows lost or duplicated'. Fixed in d610d7c8; row totals now reconcile exactly (20 active + 13 archived = 33, matching the starting count)
Corrected the reported byte-reduction figure in the same fix: the original 3,161-byte claim counted only the .claude/rules/ surface and omitted +1,139 bytes added to HOW_TO_WORK_WITH_ZEB.md (a mandatory orientation read). True net reduction is 1,938 bytes (~0.6%), not 3,161 (~1.1%)
Committed findings.ts (9068ecf6) explicitly labeled as known-unwired, rather than left stranded in the working tree or silently implied to be shipped
Restarted Alloy dev server cleanly on port 3911 (.next wiped, confirmed serving via curl)