Four readings of generated output reached the same verdict, and the last one
answered 'would you run this tomorrow' with No. Three renderer passes each
fixed what the previous review named and each introduced a new fault: adding
resolution blocks made it menu-like, and subtracting blocks buried the clue and
the skip guidance. The density is not a rendering bug. Everything on the page
is a vice at the table and a virtue at the desk.
So one working file, two surfaces. The worksheet carries everything, labelled,
with reroll commands beside each component and explicit prompts where only a
human can write. The play sheet carries the GM's own prose, the leverage point,
the decision on one line and the numbers — 61 lines against the worksheet's 137.
The JSON is the document. An authored layer holds what the GM writes and the
generator never touches it, so a reroll cannot destroy prose. Lock what is
good, reroll what is not, write the read-aloud, export.
Two bugs found while building it, both in reroll: the exclusion set omitted the
area's own current value so a reroll could hand back what was already there,
and when every option was in use — six areas against a six-item pool — the
fallback did the same. A reroll that changes nothing looks broken.
DELVE does not write the read-aloud and does not write the climax. It gets a GM
to a strong first draft in a minute instead of an evening, then gets out of the
way. Tests 28 -> 38.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Build steps 1, 2 and 4 of the plan in DESIGN.md.
core/ is pure JS with zero Foundry globals and 11 passing invariants. The
fiction model has one root draw — an APPETITE plus the ACCOMMODATION someone
made for it — and projects the motif, danger, prize, faction, cue fragments and
the appeasement move from it, so the fiction coheres instead of being four
unrelated draws. 336 kernels from 21 authored lines; 60 generated delves gave
51 distinct kernels.
Cue fragments are tagged by facet (institution/ritual/demand/wound/anchor) and
dealt without replacement. The facet progression across the arc reproduces the
hand-authored paper delve's structure, which had arrived at it by instinct.
Generation and table dice stay apart: pressure.mjs decides when a clock roll is
due and what it means, and never rolls. That is what makes the skeleton seed an
honest promise rather than a half-truth.
paper/ holds the hand-written delve and both playtest logs. spike/ holds the
instrumented harness that measured the Forge outside Foundry.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>