✠ The Chronicle

✠ ENTRY XL


Two big-swing days: the deferred Mörk Borg north-star session finally…

Two big-swing days: the deferred Mörk Borg north-star session finally landed with five rulings and a widened creative mandate (THE LONGER LEASH), a same-day six-pipeline content audit answered its own open questions and lifted the stale transitional-library hold (THE PIPELINE LIBERATION), Seal chips shipped in the live combat UI, and Phase 51 revived the long-dormant GLYPHS system with fresh sandbox evidence. Breadth is green, the combat baseline re-measured byte-identical to the last read, and nothing is blocked.

CONTENT

The deferred north-star session lands: evolution not pivot, plus THE LONGER LEASH

What changed

PR #222 merged the brainstorm session new-north-star.prompt.md had queued since the product rename. T ruled five forks: Mörk Borg is an evolution, not a hard pivot (the Parish and Profane Canon names stay, Mörk Borg is the delivery register); irreverence dialed to 1 globally; the visual layer stays out of scope for now (the Woodcut Codex masterplan stands); full authority for the loop on narrative/world content with lint-and-audit-after guardrails; one re-voice pass over shipped prose. In the same session T then went further with ruling R-F, THE LONGER LEASH: the loop takes bigger leaps of freedom on cards, effects, keywords, narration, art, UI, direction, the map, and mechanics — deckbuilding, dice-building, signature skills, and equipment stay the core it doesn't touch, and the Surge meter stays locked by default.

Why it changed

Two open naming-session passes had surfaced candidates without a clear winner; this session was the deferred follow-up that actually resolved the tonal direction, and T used the same breath to widen the loop's standing creative mandate rather than leave it narrowly scoped to the rename.

commits 19bdc920 · 24d2c164 · 30c33f1e · eed · a · PR · 222 · 05eed176

INFRA

Phase 47e (partial) — Expo decouple: lint swap, version-matrix doc, Skia re-evaluation

What changed

expo lint swapped for direct eslint app components (verified byte-identical output: 19 warnings, 0 errors), the post-decouple RN↔ native-lib version matrix documented as now manually managed, and @shopify/react-native-skia re-checked against its 2026-07-18 verdict (unchanged — still gated on the CI migration). Three legs carried over unshipped: the Jest preset, the Expo dev/web scripts, and the EAS build path all still need a native project that doesn't exist yet.

Why it changed

Continues the Expo-to-bare-RN re-platform one verifiable step at a time; the carryovers are scoped out per ship-a-phase.md's rule to brief only what's safe and testable without guessing at an unbuilt native project.

commits 5f61faad · 2c26f89f · b67a25fb

UI

Phase 49 → Phase 50 — GLYPHS touch-UX gate clears, Seal chips ship in live combat

What changed

Phase 49's completeness-critic pass ruled GO WITH CONSTRAINTS on the WI-2 "glyph chip row" design: merge into the existing statusStrip rather than add a new row, reuse the PLEA/mercy centered-modal pattern instead of a new bottom sheet, rename all UI-facing copy to "Seal" (engine symbols unchanged), and enforce a ≥44pt hit target via hitSlop on the 34px visual chip. Phase 50 shipped exactly that: CombatPlayerPaneVM gains seals: CombatSealVM[] mapped from the engine's state.glyphs, rendered as gold ◈/❖ chips distinct from every status-effect colour, and tapping one opens a CRACK/WAIT confirm sheet showing the foretold value.

Why it changed

state.glyphs has had no mobile-facing UI since Phase 33d shipped the engine plumbing — closing this gate unblocks the whole Seal/GLYPHS system for actual play, which Phase 51 then needed to have anything to crack.

commits f1171746 · 0aab723d · c1f8952c · 7e62a007 · f1aa5095

INFRA

Content pipelines audit → THE PIPELINE LIBERATION → four owner calls ruled in one walkthrough

What changed

A six-pipeline audit (cards, keywords/effects, narrative, enemies/world, art, harness/permissions — PR #228) asked one question per pipeline: can the loop ship this content type end-to-end, and what blocks it. Headline finding: the 2026-08-08 "transitional library, don't tune it" ruling named a card library that was replaced by the Profane Canon the same day, so /deck-tuning had been unexecutable-as-written for two weeks. T's same-day answer, filed as THE PIPELINE LIBERATION: lift the expired hold, open keyword/effect/content growth on every surface (engine structure and locked mechanics stay gated), rule that count pins are growth ledgers rather than tamper guards, authorize narrative shipping, and open art acquisition. A follow-up oversight walkthrough then ruled the four calls the audit couldn't answer itself: art goes hosted-gpt-image-2-then-local-LoRA-if-needed (Midjourney permanently out), the 116 found card paintings need per-image license tracing before they can ship (not a blanket block), the north-star draft is ratified as-is with R-F's art-in-scope reading winning a self-declared-precedence contradiction, and the harness-grant expansion (Phase 72) stays queued pending elaboration. Docs rewired end-to-end against the Profane Canon in the same PR: card-expert.md, deck-tuning.md, mechanics CLAUDE.md, profane-canon.md, keyword-atlas.md, deck-tuning.yml, digest.md, iterate.md, a new content-curator agent, and a mobile asset-conventions doc.

Why it changed

The audit found the loop had been running for two weeks against docs and rulings that described a library and a doctrine no longer live — /deck-tuning's own step 1 would fail against the checked-in card library. Answering it same-day (rather than letting it sit as another open needs-user-call) unblocked five separate stalled pipelines at once.

commits 90d3ca73 · d766347a · 004808f0 · cf45595a · eed · a · PR · 228 · d5afa4a8

CONTENT

Quest + Gathering minigame retirements jump the queue

What changed

T flagged that two of three minigame retirements they'd asked for — Quest Board and Gathering — hadn't actually happened, despite Rest going out weeks ago. State check confirmed it: Phase 61 (Quest Board) was ruled 2026-08-15 but sat behind eight other rows, and Gathering had never been ruled at all. Both now sit under a new "NEXT UP" banner ahead of Phase 58. Gathering's shape needed a real investigation, not a plain delete: two systems share the name (the world-map "Gathering" node vs. the mobile-side "Gleaning" minigame interception), so the new Phase 76 retires only the minigame and keeps the map node — narrowing the ballot the same way T's own earlier "minigame only, keep it" ruling narrowed Quest.

Why it changed

A T-flagged gap between an intended retirement and what actually shipped is exactly the kind of drift /oversight exists to catch and reprioritize before it goes stale again.

commit e46f13ab

MECHANICS

Phase 51 — GLYPHS gets a crack-timing policy and its first sandbox evidence in weeks

What changed

The 33d-era GLYPHS pilot cards were wiped by the Profane Canon reset, so state.glyphs had been unreachable in real play since — Phase 51 re-authored a lean 2-card sandbox set (a rot-theme poison Seal, a vigil-theme barrier Seal) as a prerequisite, then gave five of eight sim policies a crackAt charge threshold (crack at cap/2, reusing the existing "reasonable timing" assumption rather than re-deriving it). Seeded A/B evidence (200 runs/cell, control vs. treatment) reads late-stage statusEngagement up 2.8pp — short of the brief's illustrative +10pp target, because the pooled metric only counts the poison Seal's crack, not the barrier Seal's real but differently-shaped win-rate/pacing effect. Mean rounds moved as predicted at every crackAt policy.

Why it changed

Without live sandbox content there was nothing for a crack-timing heuristic to ever crack; this phase had to build the content and the policy logic together to produce any evidence at all, and files the metric-undercounting gap honestly rather than re-tuning to hit the illustrative number.

commits 0ffcd593 · a0e377d8 · 935b7758

✠ The marginalia


Measurement freshness

The deck-matrix baseline was flagged stale at session open (two mechanics-source commits past the stamp: Phase 51's crackAt heuristic and THE PIPELINE LIBERATION's docs pass). Re-measured with the reduced-nightly pass (935b7758, 30 runs/cell): CQI unchanged, early win rate 54.5%, mid 8.3%, late 0%, impossible 0% — every number byte-identical to the prior stamp (e25d7deb, 2026-08-21). Neither source commit touches the combat-playtest matrix path, so this reconfirms rather than moves the picture. Per standing doctrine, the retired ten-preset win-rate curve (early ~80 / mid ~50 / late 25-35 / impossible 0) does not apply to the Profane-Canon-era library — report only, no tuning work spawned from a reduced-confidence pass.

The standing [HIGH] late-stage global collapse row (all-preset 0.00 win rate at late) is likewise unchanged this window. It stays parked per its own repeated rulings: a status-dominance-doctrine violation that the 2026-08-08 unshackling voided as a target, now an open question for a dedicated owner-scoped enemy-scaling phase, not a /deck-tuning candidate. Nothing in this window's evidence changes that call.

The night's watch — what ran while nobody looked
when (UTC)verboutcome
2026-08-21 13:23marchsuccess — shipped Phase 47e (Expo decouple, partial)
2026-08-21 19:03marchsuccess — shipped Phase 49 (GLYPHS touch-UX gate)
2026-08-22 01:54marchsuccess — no-op, short tick
2026-08-22 07:06marchsuccess — critique pass 29 (no findings)
2026-08-22 ~11:50attendedPR #222 merged — north-star session + THE LONGER LEASH land on main
2026-08-22 13:06marchsuccess — shipped Phase 50 (Seal chip mobile UI)
2026-08-22 18:54marchsuccess — no-op, short tick
2026-08-22 19:16–22:33oversight (attended)content-pipelines audit → THE PIPELINE LIBERATION → four owner calls ruled → minigame retirements reprioritized
2026-08-23 02:06marchsuccess — briefed Phase 51
2026-08-23 07:08marchsuccess — shipped Phase 51 (crackAt heuristic + GLYPHS A/B evidence)
The measure — did the fighting change?

None. The baseline re-measurement above reconfirms the prior read byte-for-byte; no new gate/cadence/ceiling mistuning surfaced in this window's pulse. The late-stage collapse row stays exactly where its own standing rulings left it — an owner-scoped call, not a candidate this loop files against itself.

What is still unfinished
  • Build plan: 28 open phases ([ ]), 8 partial-with-carryovers ([-]),

3 skipped, 91 shipped. Phases 61 and 76 (minigame retirements) newly reprioritized to NEXT UP; Phases 68–76 queued this window by THE PIPELINE LIBERATION and its oversight follow-up.

  • plan/AUDIT.md: 54 genuinely open rows. All four [needs-user-call]

rows the content-pipelines audit filed this window are already resolved in place by the same-day liberation/oversight walkthrough.

  • plan/CRITIQUE.md: 21 open rows. Critique pass 29 (2026-08-22)

reconfirmed both open MED rows unchanged; no new findings.

  • plan/PHASE_CANDIDATES.md: 34 open rows.
  • No open triage:needs-user or loop:do issues.
  • Deploy: clean — HEAD 935b7758 has one green verify-mobile run.
  • Nightly breadth (e2e:minigames): ALL PASS — both the

upgradeable-dice flag-on suite and the 10-run sandbox+live combat-round suite completed with no crashes.

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.