From df62a19c3f6535863bc0c7ddec37d46928a49377 Mon Sep 17 00:00:00 2001 From: David Baity <158404677+MazakTheDwarf@users.noreply.github.com> Date: Thu, 12 Mar 2026 02:16:18 -0400 Subject: [PATCH] fix(book-pipeline): inference hints + LLM-filled context vars + roster roundtable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - book_research.yml: add inference hint when genre_name/genre_audience/research_focus are empty - book_outline.yml: add inference hint for genre/audience; change package schema to ask LLM to FILL genre_name/genre_audience/prose_style/chapter_target_words from the outline text (was using {template_vars} which stay empty unless planning sets them) - devon/agent.yml: add chapter_roundtable to supported_templates - lane/agent.yml: add chapter_roundtable to supported_templates (all three editors now participate in roundtable — roster-driven, not hardcoded) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- agents/devon/agent.yml | 1 + agents/lane/agent.yml | 1 + templates/book_outline.yml | 23 +++++++++++++++-------- templates/book_research.yml | 17 +++++++++++------ 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/agents/devon/agent.yml b/agents/devon/agent.yml index 858087f..cfd28b2 100644 --- a/agents/devon/agent.yml +++ b/agents/devon/agent.yml @@ -21,4 +21,5 @@ manages: [] department: editorial supported_templates: - chapter_review + - chapter_roundtable - book_editorial diff --git a/agents/lane/agent.yml b/agents/lane/agent.yml index df37b5a..60b44c4 100644 --- a/agents/lane/agent.yml +++ b/agents/lane/agent.yml @@ -20,3 +20,4 @@ manages: [] department: editorial supported_templates: - chapter_review + - chapter_roundtable diff --git a/templates/book_outline.yml b/templates/book_outline.yml index c929576..43a597b 100644 --- a/templates/book_outline.yml +++ b/templates/book_outline.yml @@ -30,8 +30,9 @@ steps: hint: | You are {agent.name}. This is round {task.iteration} of the creative boardroom. - GENRE: {genre_name} | AUDIENCE: {genre_audience} - STRUCTURE GUIDE: {outline_structure} + GENRE: {genre_name|[infer from project description if blank]} + AUDIENCE: {genre_audience|[infer from project description if blank]} + STRUCTURE GUIDE: {outline_structure|[use standard 3-act structure with chapter hooks if blank]} The room is deciding on ONE book concept to write. The trend research is in the DELIVERABLES and RAG above — everyone has read it. @@ -145,15 +146,21 @@ steps: You are the Project Manager. The outline above describes a multi-chapter book. Convert EVERY chapter in the outline into a sequential create_task action for Iris. + CRITICAL — Fill in these values from the outline document you just wrote: + - genre_name: the exact genre (e.g., "YA Romance", "Science Fiction", "Literary Fiction") + - genre_audience: the target audience (e.g., "Young adults 14–18", "Adult romance readers") + - prose_style: copy the 3-sentence Voice & Tone Guide from the outline exactly + - chapter_target_words: the target word count per chapter as a number string (e.g., "3500") + - chapter_ref: zero-padded two-digit chapter number, e.g. "ch-01", "ch-02", ... "ch-18" + Rules: - - One action per chapter (minimum {chapter_count} chapters) + - One action per chapter (minimum {chapter_count|10} chapters) - task_name format: "Write Chapter N: [Chapter Title]" - 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]." - depends_on: the exact task_name of the PREVIOUS chapter (empty string for Chapter 1) - - chapter_ref: zero-padded two-digit chapter number, e.g. "ch-01", "ch-02", ... "ch-18" The depends_on chain creates sequential writing — each chapter waits for the previous to be committed. schema: @@ -165,10 +172,10 @@ steps: description: "string" depends_on: "string" context: - genre_name: "{genre_name}" - genre_audience: "{genre_audience}" - prose_style: "{prose_style}" - chapter_target_words: "{chapter_target_words}" + genre_name: "string" + genre_audience: "string" + prose_style: "string" + chapter_target_words: "string" chapter_ref: "string" - type: close diff --git a/templates/book_research.yml b/templates/book_research.yml index 36c342f..9d8d0e1 100644 --- a/templates/book_research.yml +++ b/templates/book_research.yml @@ -26,14 +26,17 @@ builders: steps: - type: think hint: | - You are researching the current {genre_name} fiction landscape. + You are researching the current fiction landscape for this book project. - TARGET AUDIENCE: {genre_audience} - GENRE: {genre_name} - RESEARCH FOCUS: {research_focus} + GENRE: {genre_name|[infer from the project description above]} + TARGET AUDIENCE: {genre_audience|[infer from the project description above]} + RESEARCH FOCUS: {research_focus|[infer: what trends, tropes, and reader expectations matter most for this project?]} + + NOTE: If GENRE, TARGET AUDIENCE, or RESEARCH FOCUS are blank above, read the + PROJECT DESCRIPTION section and infer them from the project's stated goal. Your mission: identify the single best search query to find what's TRENDING RIGHT NOW - in {genre_name} fiction in 2025–2026. + in this fiction genre in 2025–2026. State your analysis, then on the last line write: SEARCH QUERY: [your query here] @@ -49,7 +52,9 @@ steps: You have live search results above (in PRIOR RESULTS). If the web search results are empty or unavailable, use your expert training knowledge. - Synthesize the findings into an actionable publishing brief for a {genre_name} book: + Infer the GENRE and AUDIENCE from the PROJECT DESCRIPTION if not explicitly provided above. + + Synthesize the findings into an actionable publishing brief for this book: 1. TOP TRENDING — What sub-genres and themes are hot right now? Rank them. 2. AUDIENCE INSIGHTS — What does the target reader ({genre_audience}) demand?