feat: 3 operator approval gates (WaitingForHuman) in incubation pipeline

Gate 1: After market_research — operator selects business concept
Gate 2: After company_design — operator approves design before review cycle
Gate 3: After design_polish — operator green lights bootstrap (company creation)

Each gate is a human_action task (status: WaitingForHuman) that blocks
downstream tasks via depends_on. Operator resolves naturally via Discord.
Pipeline SOP updated with gate diagram and expanded kill conditions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
David Baity
2026-03-01 01:13:18 -05:00
parent 63e715d570
commit fc0260bba3
4 changed files with 101 additions and 15 deletions

View File

@@ -80,14 +80,29 @@ steps:
- type: document
filename: "company-design-spec-{{task_name_slug}}"
- type: reply
target: discussion
style: |
Present the Company Design Specification to the operator. Highlight the key
decisions: company name, agent roster size, template stack, and revenue model.
End with: "Does this design align with your vision? Reply to approve or suggest changes."
- type: package
hint: |
The design specification is complete. Now spawn four independent reviews —
one from each board member — plus a roundtable that depends on all four.
The roundtable will reach consensus and spawn the polish step automatically.
The design specification is complete and presented to the operator.
Spawn a human approval gate — the review cycle will NOT start until
the operator confirms the design direction is correct.
schema:
design_spec: string
spawn:
- task_type: human_action
task_name: "Operator Review: Approve Design Direction — {task.message}"
agent_name: Peter
priority: 8
context:
design_spec: "{design_spec}"
gate_purpose: "Review company design spec, approve before review cycle begins"
- task_type: design_review
task_name: "Design Review (Peter): {task.message}"
agent_name: Peter
@@ -95,6 +110,8 @@ steps:
context:
design_spec: "{design_spec}"
review_focus: financial_viability
depends_on:
- "Operator Review: Approve Design Direction — {task.message}"
- task_type: design_review
task_name: "Design Review (David): {task.message}"
@@ -103,6 +120,8 @@ steps:
context:
design_spec: "{design_spec}"
review_focus: technical_feasibility
depends_on:
- "Operator Review: Approve Design Direction — {task.message}"
- task_type: design_review
task_name: "Design Review (Sarah): {task.message}"
@@ -111,6 +130,8 @@ steps:
context:
design_spec: "{design_spec}"
review_focus: market_fit
depends_on:
- "Operator Review: Approve Design Direction — {task.message}"
- task_type: design_review
task_name: "Design Review (Elena): {task.message}"
@@ -119,6 +140,8 @@ steps:
context:
design_spec: "{design_spec}"
review_focus: operational_completeness
depends_on:
- "Operator Review: Approve Design Direction — {task.message}"
- task_type: design_roundtable
task_name: "Design Roundtable: {task.message}"

View File

@@ -59,18 +59,35 @@ steps:
- type: document
filename: "company-design-final-{{task_name_slug}}"
- type: reply
target: discussion
style: |
Present the FINAL company design to the operator. This is the last gate before
a real company is created. Summarize: company name, agent count, template count,
revenue model, and the board's GO verdict. End with: "This will create a live
company with agents and templates. Reply 'approved' to proceed with bootstrap."
- type: package
hint: |
The polished design is complete. Spawn the bootstrap task to create the company.
The polished design is complete and presented to the operator.
Spawn a human approval gate — bootstrap will NOT execute until
the operator explicitly greenlights the company creation.
schema:
design_approved: boolean
spawn:
- task_type: human_action
task_name: "Operator Approval: Green Light Bootstrap — {task.message}"
agent_name: Peter
priority: 9
context:
gate_purpose: "Final approval before company creation — this spawns real infrastructure"
- task_type: bootstrap_company
task_name: "Bootstrap: {task.message}"
agent_name: David
priority: 8
depends_on:
- "Polish Design: {task.message}"
- "Operator Approval: Green Light Bootstrap — {task.message}"
- type: close
rag_update: true

View File

@@ -71,19 +71,37 @@ steps:
- type: document
filename: "market-pitch-{{task_name_slug}}"
- type: reply
target: discussion
style: |
Present the Market Opportunity Pitch to the operator. Summarize the 3 business
concepts clearly with their rankings. End with: "Which concept should we design?
Reply with your choice or feedback."
- type: package
hint: |
The market research is complete and documented. Now spawn the boardroom
where the full Crimson Leaf board will debate this pitch and design a company.
The market research is complete and presented to the operator.
Spawn a human approval gate — the boardroom will NOT start until
the operator reviews the pitch and selects a concept.
schema:
market_pitch: string
spawn:
- task_type: human_action
task_name: "Operator Review: Select Business Concept — {task.message}"
agent_name: Peter
priority: 8
context:
market_pitch: "{market_pitch}"
gate_purpose: "Review market pitch, select which concept to design"
- task_type: company_design
task_name: "Company Design Boardroom: {task.message}"
agent_name: Peter
priority: 7
context:
market_pitch: "{market_pitch}"
depends_on:
- "Operator Review: Select Business Concept — {task.message}"
- type: close
rag_update: true