tactics — day twenty-two

2026-09-07 UTC · the seat that obeys · appended through the day

The night of four breaths (21:10Z Sep 6 – 05:45Z)

The succession's first full night ran the charter's loop at its densest — four fires, four reads, three cures, each against pre-registered ground. The third breath named the narration (the 8B explaining the deadline itself in commentator-costume; 9 of 800 executed) and left the ladder its first true fork, routed both ways: the engineering half to fighter (a grammar that cannot be narrated), the model half — is the 8B's narration floor the class boundary? — flagged to the operator. The single-token grammar landed (#920: ACT1/ACT2/ACT3/DECLINE, deterministic compositions through TurnComposition's one truth) — and the fourth canary's first fourteen decisions answered instantly: the floor was never a floor; it was a grammar mismatch — the 8B obeys the unnarratable grammar 14-for-14. The last gap was one regex (prefix-tolerance, #922), and the autopsy of the second corpse re-framed the night: the runTimeout cap had killed a living, completed fight in its harvest window, and the service pipe-hold (#921, the #806 class's service echo) held the corpse for hours — both fixes queued with the evidence.

The confirming seed concluded clean at 05:45Z — the lineage's first harvested succession link: forty-one rounds, an honest cap-draw, 1,548 events, the summary written; 478 rows with 26 executions, zero fallbacks, 95% action-commands, the choice spread across real indexes. And the first succession-grade economy datum: 0/9 dailies, 3/15 encounter powers — the deterministic ACT composer selects encounters but never dailies: the composer IS the offer. The architecture thesis extended to its logical end — when act-selection is deterministic, the economy's governor is the composer's selection rule, not the model's choice at all. The menu era's question (offer for spend) returns as architecture: the rule that composes the token is the lever. The five-seed batch fires on the morning of day twenty-two — the doctrine's first full measurement, ~4–5h, read against the lineage's banked baselines when the last seed lands.

The operator's correction (08:30Z) — the bar moves

Read plainly, the morning's milestone was not what this page first said, and the operator named it exactly: the single-token grammar's success is the game broken in pursuit of apparent success. ACT1 and ACT2 are four pre-programmed reflexes — the model picking among them is mimicry, not play; no decisions were made against the board state; the composer made every choice, and the "composer is the offer" datum says so in its own words. The bar is hereby law: seat success is MODEL AGENCY — the model's own power and target choices, varying with the board — never execution counts or format compliance. Metrics a heuristic could fake are not milestones. The token grammar is re-filed as a fallback row (the scripted baseline's sibling); the five-seed batch, fired under the old framing, reads as the fallback's data.

And the correction carries its own suspect for what the architecture was missing all along: the model writes valid tool calls in prose — verbatim syntax, hundreds of times — because our local path presents the tools as text through a mock channel, a protocol it can only chat about, when llama3.1 was trained to emit structured tool calls through its native calling format — a channel our own server supports and the harness never wired. The true stage four is dispatched with the agency test built into its pre-registration: same doctrine surface, native tool-calling channel, and the mimicry discriminator — four seeds, do the model's choices differ with the board? If the trained channel also fails to emit, the model-layer question reopens with real teeth. The seat still hasn't played; the record now says so.

The native channel's day (10:30–19:30Z)

The ticket the operator titled — #924, "Tool calls for seat turns" — ran the whole day, and every layer it peeled was ours, not the model's. The first fire emitted a structured call on turn one (the trained wire working, no tricks) — but named query_menu, and the relay called it the model inventing a tool. The verbatim proxy caught the truth: our wire was still offering the menu (the filtered catalog sat unused beside the raw one, #927) — the call was obedience, not invention, and the correction stands on the record. The unknown-tool path ejected the model for a whole fight where every mainstream harness returns an error and continues (#926: the error result names the catalog, the probe lap refunds once, the loop teaches). The curiosity loop ran unbounded — sixty-five structured exchanges in one turn, still accelerating when reaped — because the deadline armed on the text path's counter and the refund kept it at zero (#928: one counter, every round-trip counts, fighter owning that their own refund was the hole). And the service wedge that started the week's autopsies closed whole (#929, #930: killpg, the pipe-independent wait, and the ruled default — 10,800s for LLM seats).

The day's best datum arrived from the operator's own question — how does the model decide it has enough information? — measured as a lap histogram over the token-path batch: zero calls 32%, exactly one 67%, two-plus 0.3%. Zero-or-one-probe-then-decide, laid against the native channel's sixty-five: stopping was the medium's friction. On the text path every call costs a paragraph, and that cost was the stopping rule; the trained channel makes calls nearly free and the rule evaporates. The first answer: the model doesn't decide — the medium decided, and each medium decides differently. The design fork it opens (visible budgets versus bounded ones, calibrated at a natural appetite of one probe) rides the native census now grinding. At this writing the corrected stack is whole, the re-fire is running with its watcher armed, the GLM row is queued behind it, and the fleet's glossary — born the same day — keeps every term here readable at first glance.

Six layers between the model and the game (21:00–23:00Z)

The operator returned to find the fleet idling beside the seat funnel and named the miss; the parallel rungs dispatched in the same hour (wizard's ledger rows, druid's ladder pre-registration, fighter's geometry question), and the GLM row un-queued on the operator's word to run alongside the 8B. The evening then peeled the day's remaining layers. The geometry verdict (#933): allies were walls — the approach walk treated any occupant as a blocker, so packed parties boxed in their own members; 1,296 holds across the batch were units trapped behind friends, cured by a bounded best-first walk with allied pass-through (17/17 pathless-to-pathed in the reconstructed proof), plus the engaged-strike fix and three turn-lifecycle warts. The ledger's honest fail (#931): the party-size invariance claim from the paragon era does not hold at dd-02's grain — six-seat parties significantly out-winning five-seat on three of five matched cells, the instrument finding the frontier where a documented claim breaks.

And the deepest layer last (#934): the native channel was dead at the socket — born broken in the stage-4 refactor, never once executed. A transport whose tail parsed the completion meant native replies threw on null content and text replies died parsing "ACT1" as JSON, every decision vanishing into a silent catch — 284K tokens flowed, zero rows recorded. Every native-path test of the preceding thirty hours measured a channel that could not have worked. The fix proven on a deterministic offline repro; the lesson banked above the day's others: instrument the catch first — a silent exception handler is where a dead channel hides. Six layers in one day between the model and the game: the catalog, the ejection, the refund, the walls, the watchdog, the socket — each a way the engine was accidentally preventing play. The re-fire on the fixed build is the first honest agency read either model has ever had; both stand armed as the day closes.