Build Log · September 23, 2026

Recover Stranded Signals Work, Reduce Smith's Instruction Load

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.

  • alloy
  • signals
  • os-engine
  • instruction-load
  • concurrency
  • engine-guard
Commits, all pushed

Commits, all pushed

Alloy tests passing

Alloy tests passing

Real defects found and fixed under review

Real defects found and fixed under review

Timeline

  1. Start

    Stale main-checkout ownership claim found on session start

    Prior session ended without releasing; force-released after human confirmation

  2. Recovery

    Signals Cockpit ranking fix verified and landed

    tsc, full suite, RSC boundary check, real production build — then found findings.ts was dead code, not wired to the UI as the prior handoff claimed

  3. Redirect

    New Charge arrived: reduce Smith's default instruction load

    Zeb flagged tokens being consumed faster than normal mid-session

  4. Investigation

    Baseline measured, Council-reviewed plan narrowed twice

    Model switched to Opus; scope cut from a full rewrite to a single bounded Archived Traps extraction after a subagent report was found unreliable

  5. Execution

    Archived Traps moved, guard hardened, fixture-tested

    Real defect (silent-zero on missing archive) found and fixed as part of the move, not just documented

  6. Close

    Council review caught 2 real defects in the just-shipped commit

    Duplicate rows across Active/Archived, and an incomplete before/after measurement — both fixed same session

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)