fix(chapter_production): enforce sequential polished ordering, detect pipeline gaps
This commit is contained in:
@@ -28,30 +28,39 @@ steps:
|
|||||||
|
|
||||||
Review the DELIVERABLES section above.
|
Review the DELIVERABLES section above.
|
||||||
|
|
||||||
STEP 1 -- Count completed (polished) chapters:
|
STEP 1 -- Count fully polished chapters (sequential):
|
||||||
Look for files matching the pattern: staging/polished/chapter-ch-XX.md
|
Look for files matching: staging/polished/chapter-ch-XX.md
|
||||||
Count how many such files exist (ch-01, ch-02, etc.)
|
Walk the sequence from ch-01 upward. Count how many consecutive chapters
|
||||||
These are the chapters that have been fully written AND polished.
|
have a polished file. STOP counting at the first gap -- a missing polished
|
||||||
|
file breaks the sequence even if later chapters are polished.
|
||||||
|
Example: ch-01, ch-02, ch-03 exist but ch-04 missing -> sequential polished = 3
|
||||||
|
even if ch-05 polished file also exists.
|
||||||
|
|
||||||
STEP 2 -- Count in-progress (drafted) chapters:
|
STEP 2 -- Identify the next chapter needed:
|
||||||
Look for any staging files that suggest a chapter has been drafted but not polished.
|
NEXT_CHAPTER = the first chapter in the sequence that does NOT have a polished file.
|
||||||
Examples: review files, roundtable files, or draft files for a given chapter ref.
|
This is always sequential_polished_count + 1.
|
||||||
|
Example: ch-01 through ch-05 polished, ch-06 missing -> NEXT_CHAPTER = ch-06
|
||||||
|
Even if ch-07 is already polished, ch-06 must be completed first.
|
||||||
|
|
||||||
STEP 3 -- Determine next chapter:
|
STEP 3 -- Check if NEXT_CHAPTER is already in the pipeline:
|
||||||
The next chapter to write is the first chapter that has NO draft files at all.
|
Look in DELIVERABLES for any staging evidence for NEXT_CHAPTER:
|
||||||
- If polished: ch-01 through ch-04 and draft evidence for ch-05: next is ch-06
|
- A draft file (e.g. Chapter_6_draft.md or Chapter_06_draft.md)
|
||||||
- If polished: ch-01 and draft evidence for ch-02: next is ch-03
|
- Any review files (e.g. Chapter_6_review_a.md)
|
||||||
- If nothing exists for any chapter: next is ch-01
|
If staging evidence exists for NEXT_CHAPTER: it is ALREADY_IN_PIPELINE.
|
||||||
|
If no staging evidence at all: it is NEEDS_DRAFT.
|
||||||
|
|
||||||
Also check the BOOK OUTLINE if available above for chapter titles and total count.
|
STEP 4 -- Determine STATUS:
|
||||||
If all chapters exist in some form up to the outline limit: the book is DONE.
|
Check the BOOK OUTLINE for total chapter count (TOTAL_CHAPTERS).
|
||||||
|
If sequential_polished_count >= TOTAL_CHAPTERS: STATUS = COMPLETE
|
||||||
|
Otherwise: STATUS = NEEDS_CHAPTER
|
||||||
|
|
||||||
Output:
|
Output:
|
||||||
STATUS: NEEDS_CHAPTER or COMPLETE
|
STATUS: NEEDS_CHAPTER or COMPLETE
|
||||||
NEXT_CHAPTER: ch-01 (or ch-02, etc., or N/A if COMPLETE)
|
NEXT_CHAPTER: ch-06 (or whichever, or N/A if COMPLETE)
|
||||||
CHAPTER_TITLE: <from outline if available, otherwise "Chapter N">
|
CHAPTER_TITLE: <from outline if available>
|
||||||
POLISHED_COUNT: <number of staging/polished/chapter-ch-*.md files found>
|
SEQUENTIAL_POLISHED: <count of consecutive polished chapters from ch-01>
|
||||||
DRAFTED_COUNT: <number of chapters with any staging evidence>
|
ALREADY_IN_PIPELINE: yes or no
|
||||||
|
PIPELINE_STAGE: draft-only / has-reviews / has-polish / none
|
||||||
|
|
||||||
- type: think
|
- type: think
|
||||||
max_tokens: 100
|
max_tokens: 100
|
||||||
@@ -70,8 +79,15 @@ steps:
|
|||||||
|
|
||||||
If STATUS is COMPLETE: output exactly: none
|
If STATUS is COMPLETE: output exactly: none
|
||||||
|
|
||||||
If STATUS is NEEDS_CHAPTER, write a chapter dispatch message for Iris (lead author).
|
If STATUS is NEEDS_CHAPTER:
|
||||||
Include:
|
- If ALREADY_IN_PIPELINE is "yes": the chapter has a draft but is not polished.
|
||||||
|
Write a dispatch message instructing the author to pick up from the existing draft,
|
||||||
|
run the roundtable and polish sequence, and NOT re-draft from scratch.
|
||||||
|
Include: "Note: a draft already exists for this chapter in staging -- proceed directly
|
||||||
|
to chapter_roundtable using the existing draft. Do not re-write the draft."
|
||||||
|
- If ALREADY_IN_PIPELINE is "no": write a normal chapter dispatch message.
|
||||||
|
|
||||||
|
Always include:
|
||||||
- Book: {project.name} ({genre_name})
|
- Book: {project.name} ({genre_name})
|
||||||
- Chapter to write: the NEXT_CHAPTER value from the decision
|
- Chapter to write: the NEXT_CHAPTER value from the decision
|
||||||
- Chapter title: the CHAPTER_TITLE value
|
- Chapter title: the CHAPTER_TITLE value
|
||||||
|
|||||||
Reference in New Issue
Block a user