Update strategic_review.yml -- add mission charter awareness and company proposal gate (Sprint 82)

This commit is contained in:
2026-04-18 03:23:06 +00:00
parent ab5726cc26
commit 010f8bcd53

View File

@@ -1,126 +1,175 @@
name: strategic_review
description: "Crimson Leaf 24-hour strategic review -- full portfolio evaluation from each executive's perspective."
debug: true
model: power
system: agent_prompt
agent_prompt:
- "= identity.md"
participant_prompt:
- "= identity.md"
sections:
- agent
- project
- history
- participants
- participants_prompt
- rag
- message
- instructions
builders:
message: |
*** PORTFOLIO REPORT ***
{steps[0].text}
steps:
- type: tool
action: get_portfolio_report
output_key: portfolio_data
- type: think
max_tokens: 8000
rotate_participants: true
loop:
max_iterations: 3
hint: |
You are {agent.name}, participating in the Crimson Leaf Holdings strategic review.
This is round {task.iteration} of the board session.
The portfolio report is above. Analyze it from YOUR perspective:
- If you are Edgar (The Operator): Focus on systems health, metrics, what's broken,
what needs fixing. Are companies executing? Are processes working?
- If you are Orion (The Visionary): Focus on opportunities, growth, what we're missing.
Are we building the right things? What should we start? What should we kill?
- If you are Sloane (The Dealmaker): Focus on marketing, visibility, revenue.
Are we selling? Does anyone know we exist? What channels are we missing?
Build on previous speakers' points. Disagree if you must -- this is a board debate.
When genuine consensus is reached across all perspectives, include exactly:
"consensus_reached: true"
If debate should continue, do NOT include that line.
- type: think
max_tokens: 6000
agent: first_available
output_key: strategic_brief
hint: |
Synthesize the boardroom transcript into a STRATEGIC BRIEF for David.
Structure:
1. EXECUTIVE SUMMARY -- one paragraph on portfolio health
2. CRITICAL ISSUES -- things that need immediate attention (if any)
3. OPPORTUNITIES -- ranked by priority
4. ACTION ITEMS -- specific tasks for David, formatted as:
"David, [verb]: [details]"
5. NEXT REVIEW -- what should we focus on in the next 24-hour review?
Keep it actionable. David is one person -- prioritize ruthlessly.
MARKETING DISPATCH ASSESSMENT:
Check the portfolio data for Crimson Leaf Publishing projects.
A book is "complete" if its project has a deliverable named MANUSCRIPT-README or
if the portfolio report shows a project_index task completed.
A book "needs marketing" if crimson_leaf_marketing shows no active campaign for it.
At the end of your brief, include:
CLM_DISPATCH: <book-project-slug if a completed book needs CLM campaign, or "none">
- type: think
max_tokens: 100
output_key: clm_dispatch_slug
hint: |
Read the CLM_DISPATCH line from the strategic brief above.
Extract the value after "CLM_DISPATCH: " and output it exactly, nothing else.
Valid values: cypress-bend, crimson-vows, binding-thread, or none.
Output ONLY the value. No explanation.
- type: think
max_tokens: 600
output_key: clm_dispatch_message
hint: |
If clm_dispatch_slug is "none", output exactly: none
Otherwise write a marketing campaign request for that book. Include:
- Book title, genre, audience, author
- The manuscript is complete in Crimson Leaf Publishing Gitea repo
- Request: full marketing campaign (strategy, social media, email, press release, ad copy)
- Urgency: book has no active campaign and needs revenue generation
Book reference:
- cypress-bend: "Cypress Bend" contemporary romance, audience adult women 25-45
- crimson-vows: "Crimson Vows" paranormal romance, audience adult women 25-40
- binding-thread: "The Binding Thread" fantasy romance, audience adult women 20-40
Output ONLY the message text. No preamble.
- type: tool
action: enqueue_strategy
optional: true
params:
company_slug: "crimson_leaf_marketing"
project_slug: "book-marketing-agency"
task_type: "marketing_campaign"
content: "{clm_dispatch_message}"
- type: reply
target: discussion
adjudication:
enabled: false
name: strategic_review
description: "Crimson Leaf 24-hour strategic review -- mission assessment, portfolio evaluation, gap identification, and escalation."
debug: true
model: power
system: agent_prompt
agent_prompt:
- "= identity.md"
- "= mission.md"
participant_prompt:
- "= identity.md"
sections:
- agent
- project
- history
- participants
- participants_prompt
- rag
- message
- instructions
builders:
message: |
*** PORTFOLIO REPORT ***
{steps[0].text}
steps:
- type: tool
action: get_portfolio_report
output_key: portfolio_data
- type: think
max_tokens: 8000
rotate_participants: true
loop:
max_iterations: 3
hint: |
You are {agent.name}, participating in the Crimson Leaf Holdings strategic review.
This is round {task.iteration} of the board session.
The portfolio report is above. Your mission charter is in your system prompt.
Analyze from YOUR perspective:
- If you are Edgar (The Operator): Focus on systems health, metrics, gaps in capability.
Are companies executing? Are we moving toward the mission success criteria?
What gaps are blocking revenue? What should we PROPOSE to David?
- If you are Orion (The Visionary): Focus on opportunities and what we are missing.
Are we building the right things? What should we start? What should we kill?
- If you are Sloane (The Dealmaker): Focus on marketing, visibility, revenue.
Are we selling? Does anyone know we exist? What channels are we missing?
Build on previous speakers' points. Disagree if you must -- this is a board debate.
When genuine consensus is reached across all perspectives, include exactly:
consensus_reached: true
If debate should continue, do NOT include that line.
- type: think
max_tokens: 6000
agent: first_available
output_key: strategic_brief
hint: |
Synthesize the boardroom transcript into a STRATEGIC BRIEF for David.
Structure:
1. EXECUTIVE SUMMARY -- one paragraph on portfolio health and mission progress
2. MISSION GAP AUDIT -- assess each gap from the mission charter. Is Gap 1 (CLO)
still the top priority? Has anything changed that elevates a different gap?
3. CRITICAL ISSUES -- things needing immediate attention
4. OPPORTUNITIES -- ranked by priority
5. ACTION ITEMS -- specific tasks for David:
"David, [verb]: [details]"
6. NEXT REVIEW -- focus for the next 24-hour review
Keep it actionable. David is one person -- prioritize ruthlessly.
PROPOSAL GATE ASSESSMENT:
Based on the gap audit, should Edgar submit a company proposal this cycle?
Criteria: gap is materially blocking revenue AND cannot be solved by existing resources
AND no proposal has been submitted in the last 30 days.
State one of: PROPOSAL_NEEDED: [company-slug] or PROPOSAL_NEEDED: none
MARKETING DISPATCH ASSESSMENT:
A book "needs marketing" if crimson_leaf_marketing shows no active campaign for it.
At the end of your brief, include:
CLM_DISPATCH: <book-project-slug if a completed book needs CLM campaign, or "none">
- type: think
max_tokens: 100
output_key: proposal_project_slug
hint: |
Read the PROPOSAL_NEEDED line from the strategic brief above.
If the value is "none", output exactly: none
Otherwise output exactly: incubation
Output ONLY one word. No explanation. No punctuation.
- type: think
max_tokens: 800
output_key: proposal_brief
hint: |
The proposal decision is: {proposal_project_slug}
If {proposal_project_slug} is "none", output exactly: none
Otherwise, write the task message for the company_proposal pipeline.
This brief becomes the input that drives the full business plan.
Include:
- Which company to propose (name, slug, purpose in one sentence)
- What gap it fills (specific -- what Edgar cannot do today without it)
- Why now (cost of waiting another 30 days)
- Proposed 90-day success criteria (measurable)
- Known constraints or dependencies
Be specific. This brief drives the entire proposal document.
Output ONLY the brief text. No labels. No preamble.
- type: tool
action: enqueue_strategy
optional: true
params:
company_slug: "crimson_leaf"
project_slug: "{proposal_project_slug}"
task_type: "company_proposal"
content: "{proposal_brief}"
agent_name: "edgar"
- type: think
max_tokens: 100
output_key: clm_dispatch_slug
hint: |
Read the CLM_DISPATCH line from the strategic brief above.
Extract the value after "CLM_DISPATCH: " and output it exactly, nothing else.
Valid values: cypress-bend, crimson-vows, binding-thread, or none.
Output ONLY the value. No explanation.
- type: think
max_tokens: 600
output_key: clm_dispatch_message
hint: |
If {clm_dispatch_slug} is "none", output exactly: none
Otherwise write a marketing campaign request for that book. Include:
- Book title, genre, audience
- The manuscript is complete in Crimson Leaf Publishing Gitea repo
- Request: full marketing campaign (strategy, social, email, press release, ad copy)
- Urgency: book has no active campaign and needs revenue generation
Book reference:
- cypress-bend: "Cypress Bend" contemporary romance, audience adult women 25-45
- crimson-vows: "Crimson Vows" paranormal romance, audience adult women 25-40
- binding-thread: "The Binding Thread" fantasy romance, audience adult women 20-40
Output ONLY the message text. No preamble.
- type: tool
action: enqueue_strategy
optional: true
params:
company_slug: "crimson_leaf_marketing"
project_slug: "book-marketing-agency"
task_type: "marketing_campaign"
content: "{clm_dispatch_message}"
- type: reply
target: discussion
adjudication:
enabled: false