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:
David Baity
2026-03-23 01:06:15 -04:00
parent d54fc87b5d
commit 63f60559b0
12 changed files with 386 additions and 36 deletions

View File

@@ -1,4 +1,4 @@
name: book_outline
name: book_outline
description: "Boardroom debate to lock the book concept, produce a character bible (for fiction) + full chapter outline, then spawn chapter writing tasks."
debug: true
system: agent_prompt
@@ -116,10 +116,48 @@ steps:
- [Powers, systems, constraints — be precise]
- [What limits them? What are the costs?]
## Voice Signatures
(REQUIRED for fiction — this section is injected into every chapter to enforce consistent character voice.
Think carefully: these are NON-NEGOTIABLE identifiers the polisher will enforce.)
### [Protagonist name] — Voice Signature
- Curse/stress expression scale: "[mild phrase]" = minor irritation | "[mid phrase]" = upset | "[strong phrase]" = furious
- Verbal tic or sarcasm tell: [e.g., "says 'obviously' when meaning the opposite"]
- Speech pattern when excited: [e.g., "interrupts own sentences mid-thought"]
- What they REACH FOR in descriptions: [e.g., "tactile/kinesthetic — touches things to understand them"]
- What they NEVER say or do in dialogue: [e.g., "never apologizes directly — fixes things instead"]
- Sentence pattern: [e.g., "short declaratives when focused; long run-ons when arguing"]
### [Love interest name] — Voice Signature
- Formality scale (INVERSELY maps to severity): "[mild formal phrase]" = small problem | "[very formal/archaic phrase]" = disaster
- What they NEVER say: [e.g., "never says 'I think' — says 'the evidence suggests' or 'it is probable that'"]
- Superlative rule: [e.g., "never uses superlatives except for things that matter deeply — when they do, it stops the room"]
- Sentence completeness tell: [e.g., "always grammatically complete — EXCEPT when flustered by protagonist, then fragments"]
- Speech pattern: [e.g., "precise, no wasted words; anger shows through subject choice and word order, not volume"]
═══════════════════════════════════════════════
PART 2: CHAPTER OUTLINE (all projects)
═══════════════════════════════════════════════
## Factions
(REQUIRED for fantasy/speculative — define named factions so NPCs have memory chapter-to-chapter.
These entries are compiled into factions.rag.md and injected into each chapter's world state.)
### [Faction Name]
- Home location: [specific -- city, building, region, planet -- not vague]
- Leader: [name and title]
- Key NPCs: [name (role/function at this location), name (role), ...]
- Initial attitude toward protagonist: [ALLIED / NEUTRAL / WATCHFUL / HOSTILE] -- [one sentence reason]
- Initial attitude toward love interest: [same]
- What they want: [one sentence faction goal]
- What would make them hostile: [threshold / trigger]
- What would make them allied: [threshold / trigger]
(Repeat for every faction in the story -- at minimum: protagonist's school/home,
antagonist's faction, any neutral third party with named NPCs)
---
# [Book Title]
## Concept Summary
- Hook: one sentence that sells the book