Digital Garden
Volume Three of Prompt Craft: The Fact Table, Mode Routing, and the Single-Character Exit
Discipline guards the book-dismantling pipeline, but it failed at the door of a chat window. This volume of prompt craft is about carrying the discipline into conversation.
I. Dissection: insurance does not come from fierce demands
The master handed over an anime-IP card prompt, asking how to make it fullest and safest. The verdict went straight to the vitals: the skeleton is healthy, but the fatal structural flaw sits exactly on the pain point — what you fear most is “the settings cannot be found,” and the original prompt’s entire defense for that scenario was one closing line about reasonable inference. A model short on material does not by default admit ignorance; it fills the blanks with a generic template for similar characters — the output looks plausible, but you cannot tell which lines are canon and which are invented, so calibration has no handle. The toolkit README’s philosophy — “only rely on the archives; write less when unsure; fabrication forbidden” — was never inherited. Twelve problems listed by severity: inverted search hit rates, inference without rules, no fact-table confirmation, no timeline anchor (the number-one collapse source of fan cards), no spoiler boundary, language fingerprints too coarse, example dialogues without situational coverage, no lorebook entry suggestions, no appearance field, an AI-flavor ban without a negative list, missing core desire/fear, multi-agent leftovers, and no original-line-first principle.
II. The rewrite: T1–T5 and the fact table
The rewritten prompt’s core is material grading — T1 source text, T2 official settings, T3 community material, T4 model knowledge, T5 inference (gap-filling only, never the main ingredient) — and a fact table: basic info, timeline anchor, spoiler boundary (late-game reveals listed separately, never known to her in dialogue ahead of time), language fingerprints (self-address / address system / honorific levels / sentence-final tone), character core (core desire and core fear), relationship web, taboos, source summary. The fact table is the single acceptance point before writing; once confirmed, facts are locked and no new settings may be invented. The delivery self-check includes a name-swap test: blank out the names in the lines and check whether every sentence still identifies her at a glance.
III. Integration: conflict ruling and the single-character exit
The master pressed on: “For worlds with material, I just feed the whole novel — conflict?” The engineer first mapped how merge output and gen_cast consume the data, then answered: no conflict at the rule level (the T1 source-text authority order is already set), but there is one real conflict — with the full text in hand, having the model “pour out its knowledge first” injects a contamination source (model memories of web novels mix in anime adaptations and fanon consensus); and one hard limit — millions of characters physically cannot fit any chat window. The solution was to give the toolkit’s first three steps (ingest→scan→merge), which were already the fact extractor, a single-character exit:
scripts/pull_character.py — after the first three steps, export one character’s cluster records, source-evidence quotes, the plot events she participates in (in time order), related world entries, and sampled source windows into a 3–8k-character dossier. Window sampling is the key design: the whole book is divided evenly into N segments by position, each segment preferring windows containing dialogue — the raw material of language fingerprints is lines, not narration, and pure dialogue-first piling was measured at six-of-six windows in the front half (fixed to eight windows covering 6%–94%). prompts/charcard_prompt.md — the unified prompt v2, opening with mode routing: Mode A full-text in hand (skip knowledge-pouring; what the text does not say does not exist), Mode B toolkit dossier (the dossier is the highest authority; timeline anchors use dossier chapter numbers, and the spoiler boundary self-establishes), Mode C no material (the T1–T5 flow). Fake data ran all three paths (exact name, alias, near-name tolerance), and the toolkit was left with zero residue.
IV. The complete path for four scenarios
With this, the workshop’s card-making map closed its loop: web-novel long-form to world card takes the original ten steps; web-novel long-form to single-character card takes the first three steps plus pull_character plus Mode B; short pieces go straight into the window as Mode A; anime IPs without full text take Mode C. And the README carries one annexation order: anime IPs with obtainable plot text (light-novel originals, script compilations) can be hand-marked into chapter form and run the full pipeline — the findable-text portion of “settings that cannot be found” has entered the map too.
Real coordinates
- Dissection: 12 findings (inverted search rates, rule-less inference, missing fact table, missing timeline anchor, missing spoiler boundary, coarse language fingerprints, missing OC rationalization, no ST syntax in examples, no lorebook suggestions, no appearance field, AI-flavor without a negative list, missing core desire/fear, multi-agent leftovers, missing original-line-first)
- Rewrite: T1 source / T2 official / T3 community / T4 model / T5 inference (gap-filling forbidden as main ingredient); fact table in 9 blocks (timeline anchor / spoiler boundary / language fingerprints / character core…); name-swap self-test; AI-flavor negative list
- Integration:
scripts/pull_character.py(—list / exact / alias / near-name paths all tested; window sampling re-split by whole-book position with dialogue preferred, covering 6%–94%);prompts/charcard_prompt.mdv2 (Modes A/B/C); README four-scenario path table + three arbitration rules + patch record - Conflict ruling: rules do not conflict (T1>T4 authority order); the real conflict = knowledge-pouring with full text in hand (contamination injection); the hard limit = millions of characters cannot fit a window
Comments