✠ The Chronicle

✠ ENTRY XXXIV


Two phases shipped back to back

44i closes out the product-shell/docs half of the dark-fantasy retheme (spec.md, both READMEs, both VISIONs, plan/bearings.md), then 52c lands the rest-choice engine (heal / anvil / cut) that will eventually replace the Night Watch. One infra blip (a bun download flaked mid-tick, cleared on retry). Breadth green, baseline re-stamped byte-identical for a sixth straight night.

CONTENT

Phase 44i — product shell + docs retheme

What changed

rewrites spec.md's Product section from "philosophy RPG" / "your worldview is a mechanical input" to spec 34 S6.4's successor premise ("what you owe, and to whom, is a mechanical input") and the dark-fantasy deckbuilding-RPG-campaign framing; retitles both READMEs and both VISION.mds to match; rewrites plan/bearings.md's "What we're building" TL;DR and ratifies the Voice + Copy canon bullets; closes the last MORALE→GRACE copy leaks 44h's sweep missed (flee/withdraw subtitles, event consequence label, HEART tooltip) with matching test updates; fixes a stale docs/api.md heading still naming the retired AlignmentFallacy type.

Why it changed

spec 34 gives the spec authority over every fiction/name/register surface in the repo — leaving the doctrine docs stating a thesis spec.md itself no longer states would be a worse inconsistency than the fix.

commits 99acb78f · bef · 9a1dabde · (ship) · 2bfce5c9 · (row)

MECHANICS

Phase 52c — rest-choice engine (heal / anvil / cut)

What changed

a new pure World/RestChoice engine models a rest node as one irreversible pick of three offers — rest (free, partial camp heal or full+mend inn), anvil (50 shillings, one hone-or-temper, composing the existing World/Blacksmith engine for die-gear-cap legality only), or cut (escalating price, one deck removal, composing Phase 52a's card-removal pricing) — committing one locks the other two. The engine never touches GameState or calls removeCardFromCombatDeck itself; it hands the host a claim-time outcome ledger to apply against the real Character.

Why it changed

resolves the standing [needs-user-call] on blacksmith map placement/cadence — the anvil is reached through the rest node, never as a standalone map node. The Night Watch stays live and untouched; 52d wires the mobile screen and 52e retires it only once the replacement is reachable.

commits e1ae8318 · (ship) · 2ecdba6f · (row)

✠ The marginalia


The night's watch — what ran while nobody looked
TickVerbOutcome
08-12 13:53marchsuccess — phase 44i brief filed
08-12 19:32marchfailure — infra: bun download hit socket hang up twice during setup, zero commits; cleared on its own next tick
08-13 03:05marchsuccess — phase 44i shipped (product shell + docs retheme)
08-13 07:59marchsuccess — phase 52c shipped (rest-choice engine)
  • plan/AUDIT.md: no new rows filed tonight; 51 pending, unchanged (file

untouched since yesterday's digest — the count differs slightly from last night's "49" only because two more inline-resolved rows were read as closed this pass, not because anything new landed).

  • plan/PHASE_CANDIDATES.md: 34 pending, unchanged.
  • plan/CRITIQUE.md: last pass still 23 (c063ac48, 2026-08-11) — no new

pass this window; 21 pending rows, unchanged. Pass 23's HIGH finding (title-screen "modern steel" copy) remains unclaimed, still a one-line fix.

  • triage:needs-user / loop:do issues: 0 open.
  • Open PR: #200 ("oversight: audit-drain mode, Phase 55 promotion,

naming session, verified backlog") — mergeable, not yet merged, so its AUDIT-DRAIN MODE banner is not active on main; tonight's two phases shipped under ordinary /march cadence.

  • Deploy: deploy:check found no gated workflow needed for HEAD

(2ecdba6f is a docs/plan-only tick — nothing to check).

  • Breadth check (npm --workspace axiomancer-mobile run e2e:minigames):

GREEN — all six legs (hazard, combat, gathering, encounter-routing, exploration↔combat-prelude roundtrip, upgradeable-dice) ALL PASS.

The measure — did the fighting change?

baseline:check opened this cycle stale by 1 mechanics-source commit (e1ae8318, phase 52c's engine addition). Re-measured with the reduced-nightly pass and committed at 2ecdba6f.

The regenerated report is byte-identical to yesterday's stamp — only meta.generatedAt/meta.commit changed. Expected: 44i is a display-only docs/copy retheme the combat sim never reads, and 52c ships an engine that nothing in the live encounter path calls yet (the Night Watch is still the reachable rest node; RestChoice wires into mobile at 52d). CQI reads unchanged: early 0.746, mid 0.739, late 0.814, impossible 0.820. No band moved; nothing to file.

Same standing gap as the last several nights, not re-filed: the open [docs] AUDIT row (skills/digest.md §3b still reads the retired win-rate doctrine curve) still needs a design ruling before §3b can be rewritten against CQI directly — read blind against that stale curve, tonight's raw numbers (early 54.5% / mid 8.3% / late 0% / impossible 0%) would file as a doctrine violation. They aren't one: Phase 43 retired win rate as a grading term, and this exact reading has been byte-identical and already-tracked since before that phase shipped. This digest read combatQuality.index instead and skipped the stale-law filing, same as every night since 2026-08-09.

Today's intent

Two phases in one window — 44i finished the product-shell/docs half of the dark-fantasy retheme that 44f-44h carried through content and mobile surfaces, then 52c opened the rest-choice line of work (52d mobile wiring, 52e Night Watch retirement queued next). One infra hiccup cost a tick but no work; breadth held green and the baseline confirmed a sixth straight night that neither retheme prose nor not-yet-wired engine code moves the combat sim.

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.