Sprint 56: Upstream draft control and editorial boundary refactor
- book_chapter: Remove PASS 2+3 (internal polish cycle); replace with narrow
SELF-CHECK step (structural validation only — names/POV/hook/format/word-floor).
Add anti-overpolish drafting discipline rules to PASS 1.
Add genre-aware guide-use note (apply only the guide matching {genre_name}).
Update adjudication prose_quality description to match draft-quality standard.
- chapter_polish: Convert from broad 'Rewrite the chapter' pass to bounded
editorial control pass. Explicitly forbids expansion, sensory addition,
global voice upgrades, new content. Instructs verbatim preservation of
unaffected paragraphs. Adjudication rewritten around correction fidelity
rather than 'more polished is better'. Threshold lowered from 90 to 80.
- chapter_review: Add explicit output categories — STRENGTHS TO PRESERVE,
MUST-FIX CONTINUITY, MUST-FIX CLARITY, OPTIONAL, FORBIDDEN, VERDICT.
Remove 'REWRITE' verdict option (roundtable resolves that). Remove all three
writing-craft guides (editorial tasks do not need genre writing guidance).
- chapter_roundtable: Update CONSENSUS REACHED block to MUST APPLY / OPTIONAL /
PRESERVE / VERDICT categories. Require disagreements to be resolved before
calling consensus. Remove REWRITE verdict option. Remove all writing-craft
guides. Remove 'skills' from sections. Add package hint to populate key_changes
from the full structured consensus. Update adjudication to score structured output.
- book_outline: Strengthen Voice & Tone Guide as hard operating constraints
(not aspirations); include anti-overpolish rules, rhythm rules, and voice
don'ts. Expand per-chapter outline format to include Opens-at location,
Character state, and Dominant tension. Enrich chapter task description
packets with that state data so book_chapter has richer upstream context.
- skills/skills.md: Document writing-vs-editorial guide split established in
Sprint 56. Update Used-by column. Add boundary rules section.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -2,6 +2,7 @@ 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
|
||||
step_pause_mode: true
|
||||
context_builders:
|
||||
- markov_names
|
||||
|
||||
@@ -134,12 +135,29 @@ steps:
|
||||
- Chapter N: [Title]
|
||||
- Summary: 2–3 sentences of what happens
|
||||
- Emotional beat: what the reader feels
|
||||
- Hook / cliffhanger: how this chapter ends
|
||||
- Hook / cliffhanger: the exact last image or line that makes readers continue
|
||||
- Opens at: [location / setting at chapter start]
|
||||
- Character state: [protagonist's emotional and physical state as the chapter opens]
|
||||
- Dominant tension: [the active conflict or pressure driving this chapter]
|
||||
|
||||
## Voice & Tone Guide
|
||||
Three sentences describing the narrative voice per the style guide below.
|
||||
Write the Voice & Tone Guide as HARD OPERATING CONSTRAINTS, not aspirations.
|
||||
This guide will be copied verbatim into every chapter task as {prose_style} —
|
||||
treat it as rules the author must follow on every page, not a mood description.
|
||||
|
||||
PROSE STYLE: {prose_style}
|
||||
One example opening sentence.
|
||||
|
||||
Format the Voice & Tone Guide as:
|
||||
- POV and tense: [e.g., "First-person present tense throughout."]
|
||||
- Sentence rhythm: [e.g., "Vary sentence length; no more than two consecutive complex
|
||||
sentences. Short sentences for impact. Fragments allowed for interiority."]
|
||||
- Anti-overpolish rules: [e.g., "Not every paragraph needs a memorable line. Use
|
||||
functional connective prose. Let observation precede interpretation — show the moment
|
||||
before naming what it means. Avoid clustering aphorisms. Prefer scene motion over
|
||||
thesis delivery."]
|
||||
- Voice don'ts: [e.g., "No head-hopping. No passive construction during action beats.
|
||||
No normalizing the protagonist's distinctive voice."]
|
||||
- One example opening sentence that demonstrates all of the above.
|
||||
|
||||
## Publishing Notes
|
||||
Why this book fits the genre and target audience.
|
||||
@@ -147,6 +165,27 @@ steps:
|
||||
- type: document
|
||||
filename: "{{task_name_slug}}"
|
||||
|
||||
- type: think
|
||||
agent: first_available
|
||||
hint: |
|
||||
Extract a CLEAN CHAPTER LIST from the outline document above.
|
||||
Output ONLY the chapter list in this exact format — no other text:
|
||||
|
||||
Chapter [Title]
|
||||
Summary: [2-3 sentence summary]
|
||||
POV: [character name or "narrator"]
|
||||
|
||||
Chapter [Title]
|
||||
Summary: [2-3 sentence summary]
|
||||
POV: [character name or "narrator"]
|
||||
|
||||
Rules:
|
||||
- One "Chapter [Title]" line per chapter, in order
|
||||
- Indented metadata lines underneath each chapter (Summary, POV)
|
||||
- Do NOT include chapter numbers — just the title
|
||||
- Do NOT include any markdown headers, bullet points, or extra formatting
|
||||
- This output will be parsed by StoryForge's outline sync engine
|
||||
|
||||
- type: package
|
||||
packet_type: IntakeResponse
|
||||
hint: |
|
||||
@@ -173,8 +212,14 @@ steps:
|
||||
- task_name format: "Write Chapter N: [Chapter Title]" (N is a plain number, 1, 2, 3...)
|
||||
- agent_name: always "Iris"
|
||||
- task_type: always "book_chapter"
|
||||
- description: Include the chapter summary, POV character, emotional beat, and cliffhanger from the outline.
|
||||
Start with: "You are writing Chapter N of [Book Title]. [chapter summary]. POV: [character name]."
|
||||
- description: >
|
||||
Include the chapter summary, POV character, emotional beat, cliffhanger, character state,
|
||||
dominant tension, and opening location from the chapter outline.
|
||||
Start with: "You are writing Chapter N of [Book Title]. [chapter summary].
|
||||
POV: [character name]. Opens at: [location]. [Character name] enters this chapter
|
||||
[character state]. Dominant tension: [tension]. Closes with: [cliffhanger hook]."
|
||||
Also include the Voice & Tone Guide from the outline as the prose_style value —
|
||||
copy it exactly. This is a hard constraint for every sentence of the chapter.
|
||||
- depends_on: the exact task_name of the PREVIOUS chapter (empty string for Chapter 1)
|
||||
|
||||
The depends_on chain creates sequential writing — each chapter waits for the previous to be committed.
|
||||
|
||||
Reference in New Issue
Block a user