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
hint: |
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}
Review the project goal and the TEAM ROSTER available to you.
Think through what the first concrete deliverables should be.
Be specific: what research is needed? What analysis? What is the right sequence?
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.
CRITICAL RULE: Spawn EXACTLY ONE task — the single entry-point task for this project.
Do NOT spawn chapters, editorial tasks, polish tasks, or index tasks.
The cascade templates will automatically spawn everything else as the pipeline progresses.
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.
Do NOT invent task type names.
- type: package
packet_type: PlanningResponsePacket
schema:
tasks:
- task_name: "string — short descriptive name"
description: "string — full instructions for the assigned agent"
- task_name: "string — short descriptive name for the single entry-point task"
description: "string — COMPLETE project brief for the agent (include genre, audience, tone, word count, count of chapters/articles/recipes, any style requirements)"
agents:
- "string — EXACT agent name from TEAM ROSTER"
task_type: "string — one of the valid task types above"
priority: "integer 1 (critical) to 5 (nice-to-have)"
- "string — EXACT agent name from TEAM ROSTER who owns this task type"
task_type: "string — ONE of: book_research, short_story, recipe_collection_plan, ai_article_research, blog_research, planning"
priority: 1
max_tasks: 1
insert_children: true
- type: close