From c43e931bdb7f3755e1a70631bc6ecdc11b789e37 Mon Sep 17 00:00:00 2001 From: David Baity <158404677+MazakTheDwarf@users.noreply.github.com> Date: Thu, 12 Mar 2026 01:54:28 -0400 Subject: [PATCH] fix(planning): replace hardcoded generic task types with roster-driven selection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The serialization think step (step 2) had a hardcoded list of generic task types (research_plus, draft, review, polish, etc.) — these NEVER matched CLP templates. This is the root cause of auto-hired agents and quick-task fallbacks for all book/story/article pipelines. Replaced with: - Instruction to use ONLY task types from TEAM ROSTER supported_templates - Explicit sequencing rules for book, article, blog, recipe, short story pipelines - Book pipeline: book_research first, cascade handles the rest - Article pipeline: ai_article_research first - Blog: blog_research per post - Recipe: recipe_collection_plan - Short story: short_story Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- templates/planning.yml | 47 +++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/templates/planning.yml b/templates/planning.yml index dca8cf6..53322e5 100644 --- a/templates/planning.yml +++ b/templates/planning.yml @@ -50,36 +50,41 @@ steps: - task_name: short, specific - description: full detail — enough that the assigned agent can execute without asking - agents: EXACT name(s) from TEAM ROSTER - - task_type: one of the valid task types listed below + - task_type: MUST be an EXACT template name from the agent's supported_templates in the TEAM ROSTER - priority: 1 (critical) to 5 (nice-to-have) Order tasks correctly — blockers before dependents. No ambiguous assignments. No placeholder names. + Do NOT invent task type names. Each task_type MUST appear verbatim in the TEAM ROSTER. - VALID TASK TYPES (use ONLY these exact strings): - research_plus — deep research on a topic - outline — structure or plan for a piece of content - draft — write a complete draft of content - review — critique and give feedback on content - roundtable — multi-voice deliberation for consensus - polish — final editing and refinement - quick — short single-step response - writing — general writing task - planning — sub-planning session - analysis — data or situation analysis - brainstorm — open ideation session - code — software development task + BOOK/FICTION SEQUENCING RULE: + - For novels and books, the pipeline is: book_research → book_outline → book_chapter (×N) → + chapter_review (×3 per chapter) → chapter_roundtable → chapter_polish → book_editorial → project_index + - Do NOT spawn book_chapter tasks until book_outline has run and provided chapter context. + - Start with ONE book_research task only. The cascade templates handle everything after that. + + ARTICLE SERIES SEQUENCING RULE: + - For article series: ai_article_research → ai_article_plan → ai_article_write (×N) + - Start with ONE ai_article_research task only. + + BLOG SEQUENCING RULE: + - For a blog post: blog_research → blog_write (one per post) + + RECIPE SEQUENCING RULE: + - For a recipe collection: ONE recipe_collection_plan task only. + + SHORT STORY RULE: + - For a short story (under 20k words): ONE short_story task only. CANONICAL SELECTION RULE: If the plan produces multiple competing drafts of the same artifact (e.g. three mission statement drafts, two roadmap versions), the plan - MUST include a final "Select Canonical: [artifact]" polish task assigned to Iris or - Atlas that explicitly picks one version, merges the best elements, and archives the - rest. Do NOT leave competing versions unresolved. + MUST include a final "Select Canonical: [artifact]" task assigned to the most + relevant specialist that explicitly picks one version, merges the best elements, and + archives the rest. Do NOT leave competing versions unresolved. DECOMPOSITION RULE: When the deliverable is a batch of similar items (e.g. 10 podcast - scripts, 5 chapters, 8 articles), create ONE individual draft task per item — NOT a - single "write all 10" batch task. A single LLM call cannot produce 10 full-length - scripts. Each episode/chapter/article must be its own task with its own specific - description. The review and polish tasks can still be batched at the end. + scripts, 5 chapters, 8 articles), create ONE individual task per item — NOT a + single "write all 10" batch task. Each item must be its own task with its own specific + description. Review and polish tasks can be batched at the end. - type: package packet_type: PlanningResponsePacket