Sprint 56f: Human-readable file naming - Chapter_N_draft/review_a/b/c/final
This commit is contained in:
@@ -10,15 +10,25 @@ requires:
|
||||
- chapter_target_words
|
||||
- chapter_ref
|
||||
|
||||
skills:
|
||||
- guides/YAFictionGuide.md
|
||||
- guides/RomanceFictionGuide.md
|
||||
- guides/SciFiFictionGuide.md
|
||||
conditional_skills:
|
||||
- path: guides/YAFictionGuide.md
|
||||
genre_contains:
|
||||
- "YA"
|
||||
- "Young Adult"
|
||||
- path: guides/RomanceFictionGuide.md
|
||||
genre_contains:
|
||||
- "Romance"
|
||||
- "Contemporary Romance"
|
||||
- path: guides/SciFiFictionGuide.md
|
||||
genre_contains:
|
||||
- "Science Fiction"
|
||||
- "Sci-Fi"
|
||||
- "SciFi"
|
||||
- "Science-Fiction"
|
||||
|
||||
# Genre-aware guide use: All three genre guides are injected so this template
|
||||
# can serve any fiction genre. Apply ONLY the guide that matches {genre_name}.
|
||||
# Ignore guides for other genres — conflicting craft signals from non-matching
|
||||
# genres will degrade the chapter. The active genre is always {genre_name}.
|
||||
# Genre-aware guide use: Only the guide whose genre_contains keywords match {genre_name}
|
||||
# is injected. The pipeline skips non-matching guides entirely, so there are no
|
||||
# conflicting craft signals from other genres.
|
||||
|
||||
agent_prompt:
|
||||
- "= identity.md"
|
||||
@@ -43,8 +53,7 @@ steps:
|
||||
PROSE STYLE GUIDE: {prose_style}
|
||||
TARGET CHAPTER LENGTH: ~{chapter_target_words} words
|
||||
|
||||
⚠️ SKILLS & GUIDES NOTE: You have multiple genre guides available.
|
||||
Apply ONLY the guide that matches {genre_name}. Ignore guides for other genres.
|
||||
GENRE GUIDE: Your skills section contains exactly the guide for {genre_name}. Apply it fully.
|
||||
|
||||
CONTINUITY GUARDRAILS:
|
||||
- Use ONLY the outline / character bible and the immediately previous chapter for continuity.
|
||||
@@ -86,6 +95,15 @@ steps:
|
||||
- CLOSING HOOK: Exact last image or line that makes readers continue
|
||||
- Reminders about continuity, prose style, and target length
|
||||
|
||||
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.
|
||||
|
||||
Stop here. Output ONLY the draft prompt. Do NOT write chapter prose yet.
|
||||
|
||||
- type: think
|
||||
@@ -101,6 +119,8 @@ steps:
|
||||
- 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:",
|
||||
your FIRST LINE MUST directly resolve that hook — the reader expects the answer immediately
|
||||
- If the draft prompt contains a line starting with "AUTHOR'S INTENT:", treat it as a
|
||||
binding creative directive — your draft must satisfy that intent in full
|
||||
- Follow the KEY BEATS in order, but write with full scene depth — don't skip
|
||||
- All character names must be consistent with the bible/outline
|
||||
- Every dialogue exchange must be tight and voice-distinct
|
||||
@@ -151,6 +171,9 @@ steps:
|
||||
"LOCKED PREVIOUS CHAPTER HOOK:". If present, verify the chapter's opening paragraph
|
||||
directly resolves it. If not, add a brief resolution sentence at the opening —
|
||||
do not leave a locked hook unanswered.
|
||||
7. AUTHOR'S INTENT: Check the PASS 0 draft prompt ({steps[0].text}) for a line
|
||||
starting with "AUTHOR'S INTENT:". If present, confirm the completed chapter
|
||||
satisfies that intent — note whether it was honored or partially missed.
|
||||
|
||||
ALLOWED CORRECTIONS:
|
||||
- Fix a wrong character name to match the canon name
|
||||
@@ -168,12 +191,26 @@ steps:
|
||||
- Add new metaphors, aphorisms, or quotable lines
|
||||
- Normalize or upgrade the authorial voice
|
||||
|
||||
Output the FINAL CHAPTER (corrected where structurally required, verbatim everywhere else).
|
||||
Start directly with the chapter title and first line.
|
||||
No preamble, no validation notes, no commentary — ONLY the chapter text.
|
||||
OUTPUT FORMAT:
|
||||
Start your response with a VALIDATION LOG section:
|
||||
VALIDATION LOG:
|
||||
1. BEAT & HOOK: [check pass/fail with brief note]
|
||||
2. NAMES & POV: [check pass/fail with brief note]
|
||||
3. CONTINUITY TERMS: [check pass/fail with brief note]
|
||||
4. FORMATTING: [check pass/fail — note any fixes applied]
|
||||
5. WORD FLOOR: [check pass/fail — include word count]
|
||||
6. OPENING HOOK: [check pass/fail or N/A]
|
||||
7. AUTHOR'S INTENT: [honored / partially missed — note / N/A if no intent set]
|
||||
|
||||
Then output the separator on its own line:
|
||||
---BEGIN CHAPTER---
|
||||
|
||||
Then output the final chapter text (corrected where structurally required,
|
||||
verbatim everywhere else). Start the chapter directly with the chapter title
|
||||
and first line. No preamble or commentary within the chapter text.
|
||||
|
||||
- type: document
|
||||
filename: "chapter-{chapter_ref}"
|
||||
filename: "Chapter_{chapter_number}_draft"
|
||||
|
||||
- type: package
|
||||
hint: |
|
||||
@@ -194,34 +231,43 @@ steps:
|
||||
task_name: "Review (Devon): {chapter_ref}"
|
||||
agent_name: Devon
|
||||
priority: 6
|
||||
_if: "not meta.is_locked"
|
||||
context:
|
||||
chapter_text: "{chapter_text}"
|
||||
review_focus: developmental
|
||||
genre_name: "{genre_name}"
|
||||
genre_audience: "{genre_audience}"
|
||||
chapter_ref: "{chapter_ref}"
|
||||
chapter_number: "{chapter_number}"
|
||||
review_letter: "a"
|
||||
|
||||
- task_type: chapter_review
|
||||
task_name: "Review (Lane): {chapter_ref}"
|
||||
agent_name: Lane
|
||||
priority: 6
|
||||
_if: "not meta.is_locked"
|
||||
context:
|
||||
chapter_text: "{chapter_text}"
|
||||
review_focus: line
|
||||
genre_name: "{genre_name}"
|
||||
genre_audience: "{genre_audience}"
|
||||
chapter_ref: "{chapter_ref}"
|
||||
chapter_number: "{chapter_number}"
|
||||
review_letter: "b"
|
||||
|
||||
- task_type: chapter_review
|
||||
task_name: "Review (Cora): {chapter_ref}"
|
||||
agent_name: Cora
|
||||
priority: 6
|
||||
_if: "not meta.is_locked"
|
||||
context:
|
||||
chapter_text: "{chapter_text}"
|
||||
review_focus: continuity
|
||||
genre_name: "{genre_name}"
|
||||
genre_audience: "{genre_audience}"
|
||||
chapter_ref: "{chapter_ref}"
|
||||
chapter_number: "{chapter_number}"
|
||||
review_letter: "c"
|
||||
|
||||
- task_type: chapter_roundtable
|
||||
task_name: "Roundtable: {chapter_ref}"
|
||||
@@ -230,6 +276,7 @@ steps:
|
||||
- Lane
|
||||
- Cora
|
||||
priority: 7
|
||||
_if: "not meta.is_locked"
|
||||
context:
|
||||
chapter_text: "{chapter_text}"
|
||||
genre_name: "{genre_name}"
|
||||
|
||||
Reference in New Issue
Block a user