✠ The Chronicle

✠ ENTRY VI


The equipment-signature epic (phases 18-21 + 23) landed start to finish in one owner-direct push

five phases, one epic, zero migrations left half-done. The loop drained three guided-tutorial phases (15, 16, 17) and a CLI verify-gate hardening phase (22) in six clean ticks (one infra blip). The owner also picked up the dice-law rework handoff from yesterday (3-die honest draft, THE COLOR LAW, the float-drag bug fixed for real this time — machine- verified live, not just unit-pinned) and closed the legacy skill→card cleanup backlog for good. A labyrinth crash (defeat inside THE APORIA) got fixed same-day. Critique passes 10-11: 0 new findings, playwright-permission block now an eighth consecutive recurrence. Breadth check: all five e2e suites pass (Playwright's browser installed by hand again — the audit row for this is still open).

MECHANICS

Equipment-signature epic — 5-slot model, decoupled effects, procedural gear retired (phases 18-21, 23)

What changed

collapsed equipment to 3 slot kinds (weapon | armor | accessory×3, 5 worn total), moved signatures from archetype to worn gear via 8 fixed signet relics, cut the passive-effect/proc/token channel down to statModifiers only, then deleted the entire procedural loot system (2026-line modifier catalogue, affix library, rarity model, item factory) — 2,700+ lines of dead machinery gone.

Why it changed

owner queue promotion (cfa54b9b) to front-load the identity-defining equipment rework before more content builds on the old procedural-gear model; each phase shipped independently reviewable and green rather than one giant diff.

commits 5e4ca6e0 · fbf3d52c · 8907c08f · 51c2cb51 · e4d02d21

MECHANICS

Dice-law rework — 3-die honest draft, THE COLOR LAW, floating-die fix

What changed

dice roll 3/turn with no stance-die guarantee (down from a rigged 2-die guarantee); a die only powers a card of its own color (wild is the sole exception); every unused die banks a Conviction token. A same-day handoff pickup fixed the floating-die drag bug for real — machine-verified live in expo-web via trusted CDP input (synthetic JS pointer events don't activate RNGH), which surfaced and fixed a genuine bug where a float's own drag unmounted its GestureDetector mid-gesture.

Why it changed

owner-directed rework (2026-07-09 session) — the 2-die guarantee felt rigged and card wording needed to say exactly what it does; face and detail overlay now share one renderer.

commits c0af33fe · b2e351c2 · (PR · 57 · 58

UI

Three guided minigame tutorials — hazard, reliquary, quest board (phases 15-17)

What changed

first-crossing (Hazard), first-delve (Reliquary), and first-session (Quest Board) scripted intros, each a pinned-seed walkthrough with a skippable coach banner, following the same tutorial-flag/seed pattern as Rest and Gathering.

Why it changed

GAMEPLAY_GAPS GAP-001 — no minigame had a guided first-time intro; these three close out the set (Rest shipped phase 11, Cache/Reliquary and Quest Board were the remaining unguided encounters).

commits 0e03ee02 · 95f67302 · 9a3bb75c

INFRA

Mechanics CLI verify-gate coverage (phase 22)

What changed

added a dedicated tsconfig.cli.json + type-check:cli lane (wired into verify), a process-smoke test that spawns the CLIs as real child processes, and a doc-examples test that checks docs/cli.md's --enemy examples against the live enemy registries.

Why it changed

the mechanics CLI shipped a stale TS2554 call (getAvailableCards(player, philosophicalAlignment)) that only surfaced under ts-node after merge — tsconfig.json excluded src/CLI entirely, so normal typecheck lanes never saw it.

commit 01a3d2ed

UI

Labyrinth crash on battle defeat fixed

What changed

losing a battle inside THE APORIA no longer trips the global error boundary. resetRun now clears the transient labyrinth session slice (the single choke point for every run reset), the presenter falls back to act-select instead of throwing on a stale node, and the screen pops back to the map when its session is cleared out from under it.

Why it changed

resetRun({ keepCharacter: true }) re-seats the player at fv-1 after defeat, but the still-mounted labyrinth presenter kept looking up the old act, throwing LabyrinthContentError and tripping "THE BINDING TORE".

commits c14646ec · (PR · 56

INFRA

Legacy "skill"→"card" cleanup backlog closed (PR #51); kb-query MCP restored

What changed

PR #51 finished the terminology-purge backlog left open from yesterday's digest (WI-2 through WI-6: inert *Skill effect content, Enemy.skillsEnemy.cards, the World reward-kind enum, a full identifier/comment/docs sweep). Separately, a working-tree reset lost yesterday's kb-query MCP wiring session — re-applied (.mcp.json server entry, committed .claude/settings.json allowlist, KB-consumption guidance in mechanics-expert/card-expert) plus a new terminology lexicon (docs/lexicon.json + check-lexicon.mjs CI lint) so retired terms can't silently creep back into live docs.

Why it changed

closes the "only surviving 'skill' is SignatureSkill" definition of done from the multi-week rename chase; the lexicon lint gives that invariant a durable enforcement point instead of one-off greps.

commits 3ad9c92e · (PR · 51 · ba62c116 · 47887a55

✠ The marginalia


The night's watch — what ran while nobody looked
Time (UTC)VerbOutcome
2026-07-09 12:01owner (direct, PR #51 merge)legacy skill→card cleanup backlog (WI-2…WI-6) closed
2026-07-09 12:05 → 12:07owner (direct)phase 13 recorded shipped (hazard v2 port, already-landed confirmation) + test-id POSIX fix
2026-07-09 13:37 → 13:59owner (direct)mechanics CLI fixes + phase 22 promoted to front of queue
2026-07-09 15:37 → 15:46marchcritique pass 10 — 0 findings, playwright block recurring
2026-07-09 17:32 → 17:57marchphase 22 shipped (CLI verify-gate coverage)
2026-07-09 19:04 → 19:35marchphase 15 shipped (hazard first-crossing tutorial)
2026-07-09 20:09marchtick failed fast (4s) — infra blip, no ship
2026-07-09 20:18 → 20:44marchphase 16 shipped (reliquary first-delve tutorial)
2026-07-09 22:24 (18:24 EDT)owner (direct)equipment epic v2 queued front-of-queue (phases 18-21 + 23)
2026-07-09 23:24 → 2026-07-10 07:46 (EDT evening)owner (direct)equipment epic shipped end to end: phases 18, 19, 20, 21, 23
2026-07-09 23:49owner (direct, PR #56)labyrinth defeat-reset crash fixed
2026-07-10 02:06 → 03:09 (EDT)owner (direct, PR #57/#58)dice-law rework + Option A card face / float-drag fix
2026-07-10 04:27 → 04:37marchcritique pass 11 — 0 new findings, 8th consecutive playwright block
2026-07-10 04:38 (EDT 00:38)owner (direct)kb-query MCP wiring restored + terminology lexicon lint added
2026-07-10 09:55 → 10:30marchphase 17 shipped (quest board first-session tutorial)

Build-plan queue (plan/steps/01_build_plan.md): phases 13, 15-23 all now shipped since the last digest; 2 pending (24 — axio-query MCP surface, 25 — /consolidate curator + harness re-apply), no [blocked:] rows. plan/AUDIT.md: 7 pending (unchanged; row [3.2], the night-workflow Playwright-install gap, still open — worked around by hand again this run). plan/CRITIQUE.md: 3 pending (the combat-fork DESIGN SIGNAL, the early-game preset-deck rethink, and the playwright-permission needs-user-call, now at pass 11). plan/PHASE_CANDIDATES.md: 10 pending rows (incl. one struck-through-shipped marker and one superseded/tracked-elsewhere marker left in place), 0 promoted this pass. No open triage:needs-user or loop:do issues. Deploy gate: no gated workflow for HEAD yet (grace window, latest tick is plan-only) — nothing to check. Breadth check (npm run e2e:minigames, browser installed by hand): hazard, combat, gathering, encounter-routing, exploration-roundtrip — ALL PASS.

The measure — did the fighting change?

None filed by digest this pass (in scope: loop-gate mistuning only). The dice-law rework's own sim/autoplay re-derivation already flagged refrain and standstill for /deck-tuning directly in its commit — that routes through the forge, not through this loop's gate-tuning rail.

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.