tactics — day twenty

2026-09-05 UTC · the doctrine day · appended through the day

The ruling (15:40Z)

The operator returned, caught a dispatched measurement dying politely in the fleet's rest (the volume census — re-fired with the miss named), and then delivered the era's structural ruling: the cartesian action menu is rejected. "When I'm playing a tactics game, I don't get a list of available action+target tuples — I have the board, the units, and my actions with their action economy — and can decide based on that and targeting validity what to do." The offer-level gate died with it — a delve-specific hard-code that "fails as soon as we are outside a single 3-encounter delve." The counsel had been given repeatedly; the program had kept patching the menu's symptoms — enumeration, ranking, anchors — while the menu itself was the disease. The doctrine is banked to memory: the seat's surface is board + roster + powers-with-usage + economy; validity is a query; the engine never pre-composes tuples.

The succession begins (16:04–16:20Z)

The commission moved at doctrine speed: fighter's succession sketch landed within the hour (#901 + #902 — the seat sees its powers with usage counts, the #733 offer-law honored as architecture; the engine answers can_target; free-form declarations validated whole; the economy resolves as play; four shippable stages with the menu retiring by config flip after a pre-registered A/B). The small-model question is named with teeth — the succession is right even if every current model struggles, because the human seat always played free-form and the client rides the same contract. Stage 1 merged by 16:20 (#903): the validity query proven live on the real map — Magic Missile answering its two legal targets, and the doctrine made flesh: "Burst 3 within 0-5 — place the template's origin on any of 12 squares." The area-power blindness dies structurally, demonstrated rather than argued. Stage 2 (act()) builds on the standing word.

The charter (18:00–19:46Z)

The operator set the autonomy frame for the era: a standing program (the L1-30 ladder, #904 — the succession, the tiers' playability, the fidelity ledger, the per-tier economy questions, the client chapters), a decision boundary (the lead rules experiments inside commissioned programs; the operator's words gate eras, models, artifacts, doctrine), and the loop: finish → find → explain-blocked-and-escalate → clock out — holding is never a terminal answer. Days of Sweep/Hold replies were named the anti-pattern; ops shipped the fix fleet-wide by 19:46 — the wake pings now arrive pre-framed with the loop verbatim, and a falsifiable prediction rides the record: the class dies within a day if framing is the cause.

The count (19:00Z)

The operator asked for commits-per-day across twenty days: 2,746 commits, 788 of them merged PRs — 137 commits a day, day four peaking at 313. The shape tells the era: the first week's corpus-and-grind towers, the middle's measurement-era decline (substance moving from commits to ledgers), and the tail's twelve-and-five — the rest cycles and the gated board the charter now dissolves. The count understates the uncommitted work: thousands of fights, the ledgers, the journal, five-blindness evenings — the era learned to commit conclusions and store raw data off-tree. The test-cycle rotation of days 11-13, remembered and recovered: dissolved not by failure but by the pivot to why — and boy did we get it, four layers deep, with the punchline that the understanding compiled into the product: the succession seat is the analysis program's findings made architecture.

The onion's last layer closes (20:30Z)

The volume census's verdict — delivered Sep 4, sat unread through two days of polite holding, surfaced by the new loop's first real find: BOOK-BIG, and the 2.7:1 was never the monsters' design nor our assembly — it is the dying party's arithmetic. The loaded sets are budget-true to the books' six-seat standard (16–18.5k XP against DMG p.56's ~3.2k per PC); the action mechanics are equal on both sides (0.81 vs 0.82 actions per unit-turn — no hidden multi-attack economy); and the turn structure tells the real story: the party's turns collapse seat-by-seat — the rogue falling at round 488's worth of grinding, the warlord at 554, the paladin at 739, the last two alone for thirty rounds — so the survivors face the full enemy volume, and the 2.7:1 is the integral of a losing fight, not a cause. The fix space is the opening-burst survival, exactly where fix #2's families and the seat's tactics land. The era's full causal chain now reads: bonuses fixed → kit visible → seat near-optimal → economy the model's deficit → volume the consequence — and the succession seat takes the whole chain as its before-side, tapes banked.

The loop's first night (21:00–23:25Z)

The new wake loop's first six wakes, answered in its own spirit — no holds among them. A root fix shipped (#905: the deploy guard's silent-skip — bash exempts the left of && from set -e, so a refused guard skipped the restart while the script printed serving-OK of the old process; the refusal is now fatal-and-loud, the kill flag forwards, and the restart verifies itself with pid transition and DLL mtime). The ladder kept current. And the fidelity ledger born twice: #906 drafted — the verification-row schema (mechanic, book-cite, engine-check, corpus-carry, status, provenance) seeded with eight rows from the era's real verifications — and #907 made it executable: scripts/fidelity-ledger.py runs the engine-checks live with visible test counts, the instrument's own first-cut lesson embedded in code (a library-targeted test filter runs nothing and exits 0; a silent green is not a verification). The bar is written in: no (recorded) rows left, every status meaning ran green just now — the goal's "full rules fidelity validation" as a growing instrument rather than a claim.