diff --git a/templates/book_chapter.yml b/templates/book_chapter.yml index 45b266e..fdf399e 100644 --- a/templates/book_chapter.yml +++ b/templates/book_chapter.yml @@ -281,59 +281,69 @@ steps: primary_deliverable: true - type: think + system: | + EXTRACTION MODE — DO NOT CREATE FICTION. + Your ONLY task is to extract factual state from the chapter you just wrote. + You are NOT writing the story. You are NOT continuing the narrative. + Characters who are DEAD are DEAD. You may NOT invent a living version of them. + KAELEN IS DEAD. HE DIED IN CHAPTER 4. DO NOT WRITE KAELEN AS ALIVE. + If you write a "Location:" or "Physical:" or "Emotional:" field for Kaelen, that is WRONG. 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. + NEXT chapter's PASS 0. - ══ DECEASED CHARACTER RULE (HIGHEST PRIORITY) ══ - If a character DIED before or during this chapter -- whether the death happened in - this chapter or was already established when this chapter began -- their entry is: + ══ MANDATORY FIRST CHECK — READ BEFORE WRITING ANYTHING ══ + STEP 1: Check PASS 0 above (earlier in this conversation). Find every character listed + as "(DECEASED)" or "†" or "DEAD" in the bible or character state. + STEP 2: For each such character, you MUST use ONLY the short DECEASED format below. + You MAY NOT give them a Location, Physical, Emotional, or Arc field. + They are DEAD. Dead characters do not have locations. They do not have arcs. + They are not "at the stairwell." They are not "resigned." They are ABSENT. + STEP 3: If Kaelen appears in your output with a Location field — DELETE IT. + If Kaelen appears with an Emotional field — DELETE IT. + If Kaelen appears with an Arc field — DELETE IT. + Write ONLY: ## Kaelen — DECEASED (Ch04) + ══ DECEASED FORMAT (two lines only) ══ ## [Name] — DECEASED (Ch[N]) - Established: [one sentence: how and when they died] - Legacy: [one sentence: how their absence affects the current chapter] - - DO NOT assign Location, Physical, Emotional, Active obligations, Open loops, or Arc - to a deceased character. A dead character has NO location, NO emotional state, NO arc. - References to a dead character in dialogue, memory, or grief do NOT make them alive. - If a character is mentioned only in past tense, memory, or as an absence -- they are DEAD. - DO NOT invent a living presence for them. DO NOT put them in the scene. + Established: [one sentence: how they died] + Legacy: [one sentence: how their death affected this chapter] ══ LIVING CHARACTER FORMAT ══ # Character State: {chapter_ref} ## [Character Name] - Location: [specific location -- building, floor, city, planet -- no vague "nearby"] + Location: [specific location -- building, floor, city, planet] 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] + Emotional: [dominant emotion at chapter end] + Active obligations: [format: "owes [person] [what] (Ch[N]) -- UNPAID/PAID"] + Open loops: [format: "[parties] [issue] (Ch[N]) -- UNRESOLVED/RESOLVED"] + Known secrets: [format: "knows [what] -- [who does NOT know]"] + Arc: [XX%] -- [one sentence: what permanently changed this chapter] + Permanent: [YES/NO] - (Repeat for EVERY named character who appeared in this chapter -- deceased get the short form above) + (Repeat for EVERY named character who appeared. Deceased = short form only.) # 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) + - [NPC Name] ([faction/location]): [ATTITUDE] -- [what happened] -- [consequence] ## Faction Attitudes - - [Faction name]: [current attitude toward protagonists] -- [reason] - (List any faction whose attitude changed this chapter) + - [Faction name]: [attitude] -- [reason] ## Active World Events - - [Event]: [status and expected timeline] - (List any ongoing world events that will affect future chapters) + - [Event]: [status and timeline] - CRITICAL: Keep the total output under 3500 characters. Be precise and specific. - Do NOT write prose -- only the structured data above. + FINAL SELF-CHECK before submitting: Scan your output for Kaelen's name. + If he has a Location, Physical, or Emotional field — delete them. He is dead. + If any other character is noted as DECEASED in PASS 0 — apply the same rule. + + CRITICAL: Keep total output under 3500 characters. NO prose — structured data only. - type: rag_write asset_id: "character-state"