Sprint 56h: evolving character sheets + reliable injection
- Split project.rag.md into 6 focused RAG files (voice-signatures, magic-system, story-premise, factions, character-state, world-state) - book_chapter.yml: PASS 0 STEP 5 replaced with live RAG character/world state check + location continuity validation; PASS 3 added for character+world state extraction after each chapter (rag_write -> character-state RAG + deliverable snapshot) - chapter_polish.yml: PASS state extraction after final document (full-mode canonical state) - book_outline.yml: added Factions section template with NPC memory model - NEW character_update.yml: permanent arc change template (updates static char profile) - chapter_review.yml: Sprint 56g voice authenticity fixes (fire/ice -> Body/Mind duality) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
name: book_chapter
|
||||
name: book_chapter
|
||||
description: "Write one chapter — continuity check, draft, self-check, then spawn editorial review."
|
||||
debug: true
|
||||
system: agent_prompt
|
||||
@@ -94,20 +94,38 @@ steps:
|
||||
- KEY BEATS: 3–5 numbered scene beats that will form the chapter
|
||||
- CLOSING HOOK: Exact last image or line that makes readers continue
|
||||
- Reminders about continuity, prose style, and target length
|
||||
- CHARACTER VOICE PROFILES: Copy the "## Voice Signatures" section from the
|
||||
Character Bible here verbatim. PASS 1 must write every character to their profile.
|
||||
If no Voice Signatures section exists, omit this block.
|
||||
|
||||
STEP 5 — PREVIOUS CHAPTER CHARACTER STATE (if available):
|
||||
If context contains a block starting with "PREVIOUS CHAPTER CHARACTER STATE:",
|
||||
include it verbatim in the prompt under the heading:
|
||||
"CHARACTER CONTINUITY: The previous chapter ended with these character states:
|
||||
{prev_character_state}"
|
||||
These states override any outline prediction that conflicts with them — the character
|
||||
is ALREADY in this emotional/physical state at the start of this chapter.
|
||||
If no character state was provided, skip this block entirely.
|
||||
STEP 5 — CHECK LIVE CHARACTER STATE (if available):
|
||||
Look in your RAG context for an asset called [character-state].
|
||||
If it exists — this is WHERE and WHO each character is RIGHT NOW.
|
||||
It OVERRIDES any outline predictions about character state.
|
||||
Record as "LIVE CHARACTER STATE:" for use in PASS 1.
|
||||
|
||||
LOCATION CONTINUITY CHECK (perform this if [character-state] is present):
|
||||
Does this chapter's outline place any character at a location inconsistent
|
||||
with their Location field in [character-state]?
|
||||
Example conflict: character-state says "Earth hospital" but outline opens on Mars.
|
||||
If conflict found — FLAG before drafting:
|
||||
"LOCATION CONFLICT: [char] is at [state-location] per last chapter but outline
|
||||
places them at [outline-location]. Resolve: (a) open chapter in transit,
|
||||
(b) adjust scene to actual location, or (c) write a time-skip bridge paragraph.
|
||||
Do NOT silently teleport the character."
|
||||
|
||||
Also note any Active obligations, Open loops, or Known secrets from [character-state]
|
||||
that should be honored or advanced in this chapter.
|
||||
|
||||
Also check RAG for [world-state] — current NPC attitudes and faction memory.
|
||||
If present, record as "LIVE WORLD STATE:". Any NPC listed there who appears in
|
||||
this chapter should behave according to their recorded attitude.
|
||||
|
||||
Stop here. Output ONLY the draft prompt. Do NOT write chapter prose yet.
|
||||
|
||||
- type: think
|
||||
model: power
|
||||
max_tokens: 32000
|
||||
hint: |
|
||||
PASS 1 — WRITE THE DRAFT
|
||||
|
||||
@@ -141,6 +159,28 @@ steps:
|
||||
- Prefer scene motion over thesis delivery — action and dialogue carry meaning
|
||||
- Write ONE complete draft now. Do NOT self-polish. Reviewers will give feedback downstream.
|
||||
|
||||
VOICE ANTI-PATTERNS — THESE ARE FORBIDDEN ON EVERY PAGE:
|
||||
- Do NOT open any chapter with the "didn't just X; it Y" sentence construction.
|
||||
Every chapter must have a structurally distinct opener. Vary: in medias res,
|
||||
quiet beat, dialogue cold open, environmental sweep, interiority.
|
||||
No two consecutive chapters may use the same opener structure.
|
||||
- The book's thematic contrast (whatever it is — body/mind, memory/possibility, etc.)
|
||||
may appear ONCE per scene as a metaphor. Not in every paragraph. Trust the reader.
|
||||
If you have used the contrast in the last two paragraphs, you may not use it again
|
||||
for at least three more paragraphs.
|
||||
- Do NOT label an emotion that you have already shown through action or dialogue.
|
||||
If the character's hands are shaking, do not also write "she was afraid."
|
||||
If the dialogue already conveys anger, do not add "his voice was furious."
|
||||
- Do NOT count or reference chapter numbers in the prose.
|
||||
"Five chapters of..." is an AI fingerprint. Never.
|
||||
- Each character must have at least ONE verbal imperfection per scene they appear in:
|
||||
a sentence they don't finish, a word they use wrong, a line that doesn't land,
|
||||
a moment of fumbling before the right words come. Perfect dialogue is dead dialogue.
|
||||
- Check the CHARACTER VOICE PROFILE in the outline/bible (if present) — if each
|
||||
speaking character's dialogue cannot be identified as THEIRS without a speaker tag,
|
||||
rewrite until it can. Verbal tics, pet phrases, and characteristic patterns are
|
||||
non-negotiable signatures.
|
||||
|
||||
Output ONLY the draft chapter text.
|
||||
Start directly with the chapter title (e.g., "Chapter N: [Title]") and opening line.
|
||||
No commentary, no plan headers, no "Pass 1" label.
|
||||
@@ -209,10 +249,59 @@ steps:
|
||||
verbatim everywhere else). Start the chapter directly with the chapter title
|
||||
and first line. No preamble or commentary within the chapter text.
|
||||
|
||||
|
||||
- type: think
|
||||
hint: |
|
||||
PASS 3 -- CHARACTER + WORLD STATE EXTRACTION
|
||||
|
||||
You have just completed the chapter. Extract structured state for continuity tracking.
|
||||
Write in compact format -- this content will be stored as a RAG asset read by the
|
||||
NEXT chapter's PASS 0. Every character who appeared must have an entry.
|
||||
|
||||
OUTPUT FORMAT -- write this EXACTLY, filling in real values:
|
||||
|
||||
# Character State: {chapter_ref}
|
||||
|
||||
## [Character Name]
|
||||
Location: [specific location -- building, floor, city, planet -- no vague "nearby"]
|
||||
Physical: [injuries, fatigue, notable physical state, or "no injuries"]
|
||||
Emotional: [dominant emotion at chapter end; what they are CARRYING into next chapter]
|
||||
Active obligations: [debts/promises owed, format: "owes [person] [what] (Ch[N]) -- UNPAID/PAID"]
|
||||
Open loops: [unresolved conflicts, unanswered questions, format: "[parties] [issue] (Ch[N]) -- UNRESOLVED/RESOLVED"]
|
||||
Known secrets: [information this character has that others don't -- format: "knows [what] -- [who does NOT know]"]
|
||||
Arc: [XX%] -- [one sentence: what permanently changed in this character this chapter, or "no change"]
|
||||
Permanent: [YES if something permanently changed (power gained/lost, relationship status changed, secret revealed); NO otherwise]
|
||||
|
||||
(Repeat for EVERY named character who appeared in this chapter)
|
||||
|
||||
# World State: {chapter_ref}
|
||||
|
||||
## NPC Memory
|
||||
- [NPC Name] ([faction/location]): [ATTITUDE] -- [what happened] -- [behavioral consequence]
|
||||
(List every NPC who interacted with a protagonist and now has a changed attitude)
|
||||
|
||||
## Faction Attitudes
|
||||
- [Faction name]: [current attitude toward protagonists] -- [reason]
|
||||
(List any faction whose attitude changed this chapter)
|
||||
|
||||
## Active World Events
|
||||
- [Event]: [status and expected timeline]
|
||||
(List any ongoing world events that will affect future chapters)
|
||||
|
||||
CRITICAL: Keep the total output under 3500 characters. Be precise and specific.
|
||||
Do NOT write prose -- only the structured data above.
|
||||
|
||||
- type: rag_write
|
||||
asset_id: "character-state"
|
||||
max_chars: 4000
|
||||
|
||||
- type: document
|
||||
filename: "character-state-{chapter_ref}"
|
||||
- type: document
|
||||
filename: "Chapter_{chapter_number}_draft"
|
||||
|
||||
- type: package
|
||||
max_tokens: 12000
|
||||
hint: |
|
||||
The draft chapter has been written, self-checked, and committed.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user