fix: remove Unicode chars from template

This commit is contained in:
2026-04-09 23:03:39 +00:00
parent 69a1888aa2
commit 4b1c637939

View File

@@ -1,5 +1,5 @@
name: drafting name: drafting
description: "Write one chapter in draft-only mode continuity check, draft prompt, draft, character state extraction, then stop. No editorial pipeline." description: "Write one chapter in draft-only mode -- continuity check, draft prompt, draft, character state extraction, then stop. No editorial pipeline."
debug: true debug: true
rag_exclude: [business_plan, charter] rag_exclude: [business_plan, charter]
system: agent_prompt system: agent_prompt
@@ -44,7 +44,7 @@ sections:
steps: steps:
- type: think - type: think
hint: | hint: |
PASS 0 BIBLE, CONTINUITY, AND DRAFT PROMPT PASS 0 -- BIBLE, CONTINUITY, AND DRAFT PROMPT
GENRE: {genre_name} | AUDIENCE: {genre_audience} GENRE: {genre_name} | AUDIENCE: {genre_audience}
PROSE STYLE GUIDE: {prose_style} PROSE STYLE GUIDE: {prose_style}
@@ -56,16 +56,16 @@ steps:
- Ignore future chapters, editorial reviews, roundtables, polish drafts, and any non-chapter artifacts. - Ignore future chapters, editorial reviews, roundtables, polish drafts, and any non-chapter artifacts.
- Never pull facts from a deliverable whose filename indicates a later chapter than {chapter_ref}. - Never pull facts from a deliverable whose filename indicates a later chapter than {chapter_ref}.
╔══════════════════════════════════════════════════════════════════╗ ????????????????????????????????????????????????????????????????????
THE READER KNOWS RULE ? THE READER KNOWS RULE ?
You may only use information established in chapters 1 through ? You may only use information established in chapters 1 through ?
{chapter_number}. Stop reading the outline at Chapter ? {chapter_number}. Stop reading the outline at Chapter ?
{chapter_number_next}. Characters enter this chapter as they ? {chapter_number_next}. Characters enter this chapter as they ?
left chapter {chapter_number_prev} -- not as they end at book ? left chapter {chapter_number_prev} -- not as they end at book ?
end. ? end. ?
╚══════════════════════════════════════════════════════════════════╝ ????????????????????????????????????????????????????????????????????
STEP 1 READ THE OUTLINE (chapters 1 through {chapter_number} ONLY): STEP 1 -- READ THE OUTLINE (chapters 1 through {chapter_number} ONLY):
Look at PROJECT DELIVERABLES for the outline file. Look at PROJECT DELIVERABLES for the outline file.
STOP at "Chapter {chapter_number_next}:" -- do NOT read beyond. STOP at "Chapter {chapter_number_next}:" -- do NOT read beyond.
Extract and record: Extract and record:
@@ -81,42 +81,42 @@ steps:
arc resolution or end-state descriptions. PASS 1 must write every character arc resolution or end-state descriptions. PASS 1 must write every character
to their voice profile without exception. to their voice profile without exception.
STEP 2 CHARACTER STATE (as of chapter {chapter_number_prev}): STEP 2 -- CHARACTER STATE (as of chapter {chapter_number_prev}):
Priority order: Priority order:
1. RAG asset [character-state] overrides everything. Record as "LIVE CHARACTER STATE:". 1. RAG asset [character-state] -- overrides everything. Record as "LIVE CHARACTER STATE:".
2. Established traits from the outline up to chapter {chapter_number_prev} only. 2. Established traits from the outline up to chapter {chapter_number_prev} only.
Ignore outcomes that happen in later chapters. Ignore outcomes that happen in later chapters.
LOCATION CONTINUITY CHECK (if [character-state] is present): LOCATION CONTINUITY CHECK (if [character-state] is present):
Does this chapter's outline place any character at a location inconsistent Does this chapter's outline place any character at a location inconsistent
with their Location field in [character-state]? with their Location field in [character-state]?
If conflict found FLAG before drafting: If conflict found -- FLAG before drafting:
"LOCATION CONFLICT: [char] is at [state-location] per last chapter but outline "LOCATION CONFLICT: [char] is at [state-location] per last chapter but outline
places them at [outline-location]. Resolve by opening in transit or adjusting." places them at [outline-location]. Resolve by opening in transit or adjusting."
STEP 3 FIND THE PREVIOUS CHAPTER: STEP 3 -- FIND THE PREVIOUS CHAPTER:
Look at PROJECT DELIVERABLES for the chapter that comes BEFORE this one. Look at PROJECT DELIVERABLES for the chapter that comes BEFORE this one.
If no previous chapter exists (this IS Chapter 1), skip to STEP 5. If no previous chapter exists (this IS Chapter 1), skip to STEP 5.
STEP 4 QUOTE THE ENDING: STEP 4 -- QUOTE THE ENDING:
Copy the LAST 23 sentences of the previous chapter here, word for word. Copy the LAST 2-3 sentences of the previous chapter here, word for word.
Label them: "PREVIOUS CHAPTER ENDED WITH: ..." Label them: "PREVIOUS CHAPTER ENDED WITH: ..."
Your new chapter MUST pick up from this exact moment. Your new chapter MUST pick up from this exact moment.
STEP 5 BUILD THE DRAFT PROMPT: STEP 5 -- BUILD THE DRAFT PROMPT:
Write the exact drafting prompt for the next pass. That prompt must include: Write the exact drafting prompt for the next pass. That prompt must include:
- CHAPTER: Exact chapter number and title - CHAPTER: Exact chapter number and title
- POV CHARACTER: Whose perspective are we in? - POV CHARACTER: Whose perspective are we in?
- FIRST LINE: The exact opening sentence, continuing from the previous ending - FIRST LINE: The exact opening sentence, continuing from the previous ending
- EMOTIONAL ARC: What does the protagonist feel at start vs end OF THIS CHAPTER? - EMOTIONAL ARC: What does the protagonist feel at start vs end OF THIS CHAPTER?
- CHAPTER GOAL: What plot event MUST happen here? - CHAPTER GOAL: What plot event MUST happen here?
- KEY BEATS: 35 numbered scene beats that will form the chapter - KEY BEATS: 3-5 numbered scene beats that will form the chapter
- CLOSING HOOK: Exact last image or line that makes readers continue - CLOSING HOOK: Exact last image or line that makes readers continue
- Reminders about continuity, prose style, and target length - Reminders about continuity, prose style, and target length
Also note any Active obligations, Open loops, or Known secrets from [character-state] Also note any Active obligations, Open loops, or Known secrets from [character-state]
that should be honored or advanced in this chapter. that should be honored or advanced in this chapter.
Check RAG for [world-state] current NPC attitudes and faction memory. Check RAG for [world-state] -- current NPC attitudes and faction memory.
If present, record as "LIVE WORLD STATE:". NPCs listed there behave per their attitude. If present, record as "LIVE WORLD STATE:". NPCs listed there behave per their attitude.
Stop here. Output ONLY the draft prompt. Do NOT write chapter prose yet. Stop here. Output ONLY the draft prompt. Do NOT write chapter prose yet.
@@ -124,31 +124,31 @@ steps:
- type: think - type: think
model: power model: power
hint: | hint: |
PASS 1 WRITE THE DRAFT PASS 1 -- WRITE THE DRAFT
Use the draft prompt below as your exact writing brief: Use the draft prompt below as your exact writing brief:
{steps[0].text} {steps[0].text}
Requirements: Requirements:
- Start with the FIRST LINE you planned make it continue naturally from the previous chapter - Start with the FIRST LINE you planned -- make it continue naturally from the previous chapter
- If the draft prompt contains a line starting with "LOCKED PREVIOUS CHAPTER HOOK:", - If the draft prompt contains a line starting with "LOCKED PREVIOUS CHAPTER HOOK:",
your FIRST LINE MUST directly resolve that hook your FIRST LINE MUST directly resolve that hook
- If the draft prompt contains "AUTHOR'S INTENT:", treat it as a binding directive - If the draft prompt contains "AUTHOR'S INTENT:", treat it as a binding directive
- Follow the KEY BEATS in order, but write with full scene depth - Follow the KEY BEATS in order, but write with full scene depth
- All character names must be consistent with the bible/outline - All character names must be consistent with the bible/outline
- Every dialogue exchange must be tight and voice-distinct - Every dialogue exchange must be tight and voice-distinct
- Show, don't tell externalize emotion through action, detail, and dialogue - Show, don't tell -- externalize emotion through action, detail, and dialogue
- Every scene beat moves the story forward OR reveals character - Every scene beat moves the story forward OR reveals character
- End with the CLOSING HOOK you planned - End with the CLOSING HOOK you planned
- Match the prose style guide: {prose_style} - Match the prose style guide: {prose_style}
- Target length: {chapter_target_words} words write the FULL chapter, not a summary - Target length: {chapter_target_words} words -- write the FULL chapter, not a summary
- ⚠️ DO NOT stop early. If under {chapter_target_words} words, continue with interiority, - ?? DO NOT stop early. If under {chapter_target_words} words, continue with interiority,
sensory detail, extended dialogue beats, and transitions until hitting the target. sensory detail, extended dialogue beats, and transitions until hitting the target.
VOICE ANTI-PATTERNS FORBIDDEN ON EVERY PAGE: VOICE ANTI-PATTERNS -- FORBIDDEN ON EVERY PAGE:
- Do NOT open with the "didn't just X; it Y" construction. Use varied openers. - Do NOT open with the "didn't just X; it Y" construction. Use varied openers.
- Thematic contrast appears max ONCE per scene as metaphor not every paragraph. - Thematic contrast appears max ONCE per scene as metaphor -- not every paragraph.
- Do NOT label an emotion already shown through action or dialogue. - Do NOT label an emotion already shown through action or dialogue.
- Do NOT count or reference chapter numbers in the prose. "Five chapters of..." is an AI fingerprint. - Do NOT count or reference chapter numbers in the prose. "Five chapters of..." is an AI fingerprint.
- Each character must have at least ONE verbal imperfection per scene they appear in. - Each character must have at least ONE verbal imperfection per scene they appear in.
@@ -161,24 +161,24 @@ steps:
- type: think - type: think
hint: | hint: |
PASS 3 CHARACTER + WORLD STATE EXTRACTION PASS 3 -- CHARACTER + WORLD STATE EXTRACTION
You have just completed the chapter draft. Extract structured state for continuity tracking. You have just completed the chapter draft. Extract structured state for continuity tracking.
Write in compact format this content is stored as a RAG asset read by the NEXT chapter. Write in compact format -- this content is stored as a RAG asset read by the NEXT chapter.
Every character who appeared must have an entry. Every character who appeared must have an entry.
OUTPUT FORMAT write this EXACTLY, filling in real values: OUTPUT FORMAT -- write this EXACTLY, filling in real values:
# Character State: {chapter_ref} # Character State: {chapter_ref}
## [Character Name] ## [Character Name]
Location: [specific location building, floor, city no vague "nearby"] Location: [specific location -- building, floor, city -- no vague "nearby"]
Physical: [injuries, fatigue, notable physical state, or "no injuries"] Physical: [injuries, fatigue, notable physical state, or "no injuries"]
Emotional: [dominant emotion at chapter end; what they carry into next chapter] Emotional: [dominant emotion at chapter end; what they carry into next chapter]
Active obligations: [debts/promises owed format: "owes [person] [what] (Ch[N]) UNPAID/PAID"] Active obligations: [debts/promises owed -- format: "owes [person] [what] (Ch[N]) -- UNPAID/PAID"]
Open loops: [unresolved conflicts format: "[parties] [issue] (Ch[N]) UNRESOLVED/RESOLVED"] Open loops: [unresolved conflicts -- format: "[parties] [issue] (Ch[N]) -- UNRESOLVED/RESOLVED"]
Known secrets: [info this character has that others don't "knows [what] [who does NOT know]"] Known secrets: [info this character has that others don't -- "knows [what] -- [who does NOT know]"]
Arc: [XX%] [one sentence: what permanently changed, or "no change"] Arc: [XX%] -- [one sentence: what permanently changed, or "no change"]
Permanent: [YES if something permanently changed (death, power gained/lost, relationship changed); NO otherwise] Permanent: [YES if something permanently changed (death, power gained/lost, relationship changed); NO otherwise]
(Repeat for EVERY named character who appeared in this chapter) (Repeat for EVERY named character who appeared in this chapter)
@@ -186,16 +186,16 @@ steps:
# World State: {chapter_ref} # World State: {chapter_ref}
## NPC Memory ## NPC Memory
- [NPC Name] ([faction/location]): [ATTITUDE] [what happened] [behavioral consequence] - [NPC Name] ([faction/location]): [ATTITUDE] -- [what happened] -- [behavioral consequence]
## Faction Attitudes ## Faction Attitudes
- [Faction name]: [current attitude toward protagonists] [reason] - [Faction name]: [current attitude toward protagonists] -- [reason]
## Active World Events ## Active World Events
- [Event]: [status and expected timeline] - [Event]: [status and expected timeline]
CRITICAL: Keep total output under 3500 characters. Be precise and specific. CRITICAL: Keep total output under 3500 characters. Be precise and specific.
Do NOT write prose only the structured data above. Do NOT write prose -- only the structured data above.
- type: rag_write - type: rag_write
asset_id: "character-state" asset_id: "character-state"