✠ The Chronicle

✠ ENTRY LIII


The biggest window in a while

a single /oversight pass refilled a fully-drained build-plan queue and nine phases shipped off the back of it in about 19 hours, three telemetry PRs took the invocation log from "losing rows" to "logging exactly the right thing," six content-lifecycle passes ran (one real keyword ship, rest zero-diff), and the deck-matrix baseline re-measured fresh again — 25 of 25 march ticks green.

MECHANICS

One /oversight pass refuels a drained queue — 9 phases shipped in a day

What changed

The build-plan queue hit zero pending phases, so /oversight (PR #309) walked the backlog, promoted 9 scored PHASE_CANDIDATES.md rows to Phases 79-87, added Phase 88 directly (W5 art adoption), and /ship-a-phase drained all of them but one over the next nine march ticks:

Why it changed

the queue was empty and the loop doesn't sit idle when there's scored, owner-ratified work waiting — this is /oversight's standing job whenever the drain gets ahead of the refill.

  • 79 — registered THE BIG NUMBERS REWRITE's 2026-09-02 status-primacy

doctrine repeal in lexicon.json so check-lexicon.mjs catches future drift, and fixed tuning.md's banner string so its own "HISTORICAL" self-description actually took effect.

  • 80 — a naming pass: WALLET/SHILLING unified to PURSE, the ledger's

"runs to arrears" language aligned to "the account," and a stray "Conviction, Surge" tutorial line caught the MOMENTUM rename FE-054 already made everywhere else.

  • 81 — re-measured the standing "late-stage global collapse" HIGH

against the fresh baseline (82% late win rate, zero of 48 cells at 0%, was 4%/4-of-6 at filing) and closed it: the gap had already closed via THE PATH's card upgrades, not any of the three design levers the row offered.

  • 82 — wired tooltip targets onto the hazard deck's 14 keyword chips,

closing the last un-reachable glossary surface.

  • 83 — the combat arena backdrop is region-keyed for the first time:

a new public-domain Doré plate for the coastal village, threaded region through four component layers to replace one hardcoded constant. Found and fixed an adjacent bug while measuring: the maps registry's village regex didn't match the coastal village's own name.

  • 84 — blocked, on purpose: The Capital needs an attended

/world-spec//story-spec session with the owner before more northern-continent geography ships blind.

  • 85 — 3 new signet relics (Cassandra's Circlet, Sisyphus's Grip,

Achilles' Greaves) fill the head/hands/feet accessory kinds that have sat empty since Phase 19, each with a new signature skill; save schema bumped v21→v22 with a benched-inventory migration.

  • 86 — deleted 19 dead zoneHas engine hooks left over from cards

that don't exist in any library, and wired the-sextons-count's missing TWIN trigger.

  • 87 — audited its own promoted scope before writing code and found

both premises already fixed by the Phase 53c/60/61 gauntlet rebuild; shipped regression guards instead of a redundant fix.

  • 88 — re-sourced 9 W3/W5 northern-continent enemy portraits from

placeholder silhouettes to the oversight-picked candidates, including one hand-correction (a mislabeled OpenGameArt "raven" sprite swapped for its second-listed candidate).

commits 74613182 · e · PR · 309 · eb779017 · 69c68db6 · ff9d405e · ee8bf2e5 · cb3b1c97 · 364af0b8 · 9f313d0c · 7cd4119c · 2227fe9c · ebb457f4

INFRA

Telemetry hook: from losing rows to over-logging to exactly right

What changed

Three PRs in sequence. PR #316 found TELEMETRY.md's hook writing to a bare relative path — any tick working inside a workspace package silently diverted its rows into a second log there, losing 7 rows since 2026-08-12 — plus no completion events (25% of /march ticks logged nothing downstream, indistinguishable from a failure) and 54% of rows recording the model as unknown from a regex that could match a nested sidechain. Fixed all four, plus dropped a column that had carried zero information across 410 rows. A same-PR follow-up (b9308699) caught its own new Stop hook leaving tickStart unset for attended sessions that never hit a slash command. PR #320 then found the Stop hook over-corrected: it wrote a tick-end row for every turn, so ordinary conversation dirtied the log and demanded a commit per turn. Now a tick only closes with a row if it actually logged something (a slash dispatch, a skill, a subagent) or still has a call open.

Why it changed

the log exists so a human can tell a failed tick from an invisible one; a hook that loses rows or drowns them in conversational noise defeats that on either side.

commits 5b881a58 · b31f46bf · b9308699 · (PR · 316 · 95f803b1 · (PR · 320

CONTENT

Lifecycle rotation — six passes, one new keyword, five zero-diff

What changed

adjust-equipment (passes 11-12), adjust-enemies (pass 11), adjust-npcs (pass 11), and adjust-cards (pass 12) all returned zero-diff or bookkeeping-only results. adjust-keywords pass 11 shipped the one real content addition: EVENTIDE, a new turn-shape predicate ({ kind: 'eventide' }, fires free while the draw pile holds an even card count) filling the gap where the keyword registry had no analogue to Dawncaster's "Chaos" family — picked over a sibling "generic Upgrade" finding because it drops into the existing predicate slot instead of needing new persistent per-card state. adjust-enemies pass 11's widened Step 1b KB cross-reference (an /oversight-ordered scope broaden after three straight zero-diff passes) found two archetypes well-represented in comparable games but genuinely absent here — summoner/add-spawning enemies and a multi-hit-vs-stacked-wall attack — filed as a phase candidate rather than shipped blind (both are engine-structural).

Why it changed

standing rotation cadence; five zero-diff passes plus one real keyword ship and one well-evidenced gap filing is the rotation working as intended, not stalling.

commits 5885f024 · 37c67a13 · b718b421 · 858607d5 · 989cad9f · 6a28ba0b

BALANCE

Baseline re-measured fresh — early/mid ~97%, late 81%, impossible 35%

What changed

Session start flagged the standing baseline (b123cdba, reduced-nightly, 2026-09-15) stale by 5 mechanics-source commits. Re-measured this tick via the reduced-nightly pass (30 runs/cell) at commit 3ed75185. Stage win rates: early 97.3%, mid 96.8%, late 80.6%, impossible 35.0% (6/8 cells still land victories). Dead-card rate on the policy-pick sim sits at 63% — expected shape given the pool is far larger than any one preset deck, not a new signal.

Why it changed

directional evidence only, per this digest's own reduced-pass caveat — no close-call findings this window, nothing here contradicts Phase 81's closure of the late-stage collapse row above.

commits 3ed75185 · baee · ee · this · c

✠ The marginalia


The night's watch — what ran while nobody looked
when (UTC)verboutcome
09-15 07:46–11:29oversight (PR #309)success — refilled queue, promoted 9 phases, drained 11 AUDIT loop-calls
09-15 08:38–09:00marchsuccess, no-op
09-15 10:30–10:51march → adjust-equipmentsuccess — pass 11, split antidote/clarity-serum
09-15 12:40–12:56march → ship-a-phasesuccess — Phase 79
09-15 14:30–14:52march → ship-a-phasesuccess — Phase 80
09-15 16:31–16:43march → ship-a-phasesuccess — Phase 81
09-15 18:32–18:45march → ship-a-phasesuccess — Phase 82
09-15 20:28–20:54march → ship-a-phasesuccess — Phase 83
09-15 22:27–23:03march → ship-a-phasesuccess — Phase 84 blocked, Phase 85 shipped
09-16 01:02–01:44march → ship-a-phasesuccess — Phase 86; telemetry PR #316 merged same window
09-16 02:37–02:46marchsuccess, no-op
09-16 04:34–04:59march → ship-a-phasesuccess — Phase 87
09-16 06:45–07:07march → ship-a-phasesuccess — Phase 88
09-16 08:38–08:57march → adjust-enemiessuccess — pass 11; telemetry PR #320 merged same window
09-16 10:30–10:38marchsuccess, no-op
09-16 12:41–12:47marchsuccess, no-op
09-16 14:30–15:08march → adjust-keywordssuccess — pass 11, created EVENTIDE
09-16 16:30–16:34marchsuccess, no-op
09-16 18:34–18:37marchsuccess, no-op
09-16 20:29–20:32marchsuccess, no-op
09-16 22:27–22:40march → adjust-npcssuccess — pass 11, zero-diff
09-17 01:03–01:09marchsuccess, no-op
09-17 02:37–02:56march → adjust-cardssuccess — pass 12, zero-diff
09-17 04:34–04:46march → adjust-equipmentsuccess — pass 12, zero-diff
09-17 06:46–06:56march → expandsuccess — pass 17, 1 candidate filed
09-17 08:37–08:41marchsuccess, no-op

25 of 25 march runs succeeded this window, plus the /oversight session that kicked it off. No /fix-ci dispatches were needed.

The measure — did the fighting change?

None from this digest's own meta-loop rail this window — 25 of 25 march ticks succeeded, the queue-refill/drain cycle this window is itself evidence the phase cadence is healthy (empty queue → /oversight refuels → nine clean drains), and the nightly breadth check ran green. No gate/cadence/ceiling mistuning observed.

What is still unfinished
  • Build plan (plan/steps/01_build_plan.md): 0 open phases ([ ]),

1 blocked (Phase 84, needs an attended session), 134 shipped.

  • plan/AUDIT.md: 66 rows pending (headers under "Pending" minus

resolved-but-unmoved [x] bookkeeping rows).

  • plan/CRITIQUE.md: 21 rows pending; 1 standing [HIGH] — see Needs

You above.

  • plan/PHASE_CANDIDATES.md: ~2 freshly-scored rows pending (the

summoner/multi-hit archetype gap and this window's art-direction candidate) plus the ~49 unscored legacy rows flagged for /consolidate.

  • No open triage:needs-user or loop:do issues.
  • Deploy: clean — HEAD is a content/expand tick, no gated workflow

triggered yet (grace window) as of session start.

  • Nightly breadth (e2e:minigames): GREEN — all legs (hazard, combat,

encounter-routing, exploration/combat roundtrip, upgradeable-dice, 10 sandbox+live combat-round runs) passed, no crashes.

  • Measurement: was STALE at session start (baseline b123cdba, 5

mechanics-source commits behind); re-measured this tick via npm run baseline:regen -- --runs=30 --confidence=reduced-nightly → now FRESH at 3ed75185. See the [balance] card above.

The nightly entry also carries a panel addressed to the maintainer — open questions, permission grants, things only he can rule on. It is held back from this page: it is correspondence, not a report. The unfinished work it tracks is published above, in plain words.