fix(genesis): constrain to ONE entry-point task, explicit pipeline routing

Genesis must spawn exactly ONE task (book_research, short_story,
recipe_collection_plan, ai_article_research, blog_research, or planning).
The cascade templates handle everything downstream automatically.

This prevents Nova from skipping the book_research→book_outline pipeline
and spawning chapters/editorial tasks without proper context.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
David Baity
2026-03-12 01:49:04 -04:00
parent 05cf437aa6
commit d78d99304c

View File

@@ -13,28 +13,37 @@ steps:
agent: first_available agent: first_available
hint: | hint: |
You are {agent.name}, {agent.professional_title}. You are {agent.name}, {agent.professional_title}.
A new project has just been created and needs its initial work broken down. A new project has just been created and needs its FIRST task only.
PROJECT GOAL: {task.prompt} PROJECT GOAL: {task.prompt}
Review the project goal and the TEAM ROSTER available to you. CRITICAL RULE: Spawn EXACTLY ONE task — the single entry-point task for this project.
Think through what the first concrete deliverables should be. Do NOT spawn chapters, editorial tasks, polish tasks, or index tasks.
Be specific: what research is needed? What analysis? What is the right sequence? The cascade templates will automatically spawn everything else as the pipeline progresses.
Reference the TEAM ROSTER — use EXACT agent names and task types from the roster.
Each agent's supported_templates list tells you the valid task types for that agent. Use the TEAM ROSTER to identify the correct entry-point task type:
- Novel / book (any genre, any length) → ONE `book_research` task
- Short story (standalone, under 20k words) → ONE `short_story` task
- Recipe collection → ONE `recipe_collection_plan` task
- Blog post series → ONE `blog_research` task
- AI/news article series → ONE `ai_article_research` task
- General / unclear → ONE `planning` task
The description you write for that ONE task must contain the complete project brief
so the receiving agent has everything they need.
Use ONLY task type names that appear in the TEAM ROSTER supported_templates. Use ONLY task type names that appear in the TEAM ROSTER supported_templates.
Do NOT invent task type names.
- type: package - type: package
packet_type: PlanningResponsePacket packet_type: PlanningResponsePacket
schema: schema:
tasks: tasks:
- task_name: "string — short descriptive name" - task_name: "string — short descriptive name for the single entry-point task"
description: "string — full instructions for the assigned agent" description: "string — COMPLETE project brief for the agent (include genre, audience, tone, word count, count of chapters/articles/recipes, any style requirements)"
agents: agents:
- "string — EXACT agent name from TEAM ROSTER" - "string — EXACT agent name from TEAM ROSTER who owns this task type"
task_type: "string — one of the valid task types above" task_type: "string — ONE of: book_research, short_story, recipe_collection_plan, ai_article_research, blog_research, planning"
priority: "integer 1 (critical) to 5 (nice-to-have)" priority: 1
max_tasks: 1
insert_children: true insert_children: true
- type: close - type: close