fix: strategic_review -- git_read_file loads mission+log, per-cycle log write-back
This commit is contained in:
@@ -2,16 +2,6 @@ name: strategic_review
|
|||||||
description: "Crimson Leaf 24-hour strategic review -- mission assessment, portfolio evaluation, gap identification, and escalation."
|
description: "Crimson Leaf 24-hour strategic review -- mission assessment, portfolio evaluation, gap identification, and escalation."
|
||||||
debug: true
|
debug: true
|
||||||
model: power
|
model: power
|
||||||
system: agent_prompt
|
|
||||||
|
|
||||||
agent_prompt:
|
|
||||||
- "= identity.md"
|
|
||||||
- "= mission.md"
|
|
||||||
- "= strategic_log.md"
|
|
||||||
|
|
||||||
participant_prompt:
|
|
||||||
- "= identity.md"
|
|
||||||
|
|
||||||
sections:
|
sections:
|
||||||
- agent
|
- agent
|
||||||
- project
|
- project
|
||||||
@@ -21,17 +11,36 @@ sections:
|
|||||||
- rag
|
- rag
|
||||||
- message
|
- message
|
||||||
- instructions
|
- instructions
|
||||||
|
|
||||||
builders:
|
builders:
|
||||||
message: |
|
message: |
|
||||||
*** PORTFOLIO REPORT ***
|
*** PORTFOLIO REPORT ***
|
||||||
{steps[0].text}
|
{steps[0].text}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- type: tool
|
- type: tool
|
||||||
action: get_portfolio_report
|
action: get_portfolio_report
|
||||||
output_key: portfolio_data
|
output_key: portfolio_data
|
||||||
|
|
||||||
|
- type: tool
|
||||||
|
action: git_read_file
|
||||||
|
params:
|
||||||
|
path: "agents/edgar/mission.md"
|
||||||
|
output_key: mission_data
|
||||||
|
optional: false
|
||||||
|
|
||||||
|
- type: tool
|
||||||
|
action: git_read_file
|
||||||
|
params:
|
||||||
|
path: "agents/edgar/strategic_log.md"
|
||||||
|
output_key: strategic_log_data
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
- type: tool
|
||||||
|
action: git_read_file
|
||||||
|
params:
|
||||||
|
path: "agents/edgar/logs/latest.md"
|
||||||
|
output_key: latest_log_entry
|
||||||
|
optional: true
|
||||||
|
|
||||||
- type: think
|
- type: think
|
||||||
max_tokens: 8000
|
max_tokens: 8000
|
||||||
rotate_participants: true
|
rotate_participants: true
|
||||||
@@ -41,13 +50,24 @@ steps:
|
|||||||
You are {agent.name}, participating in the Crimson Leaf Holdings strategic review.
|
You are {agent.name}, participating in the Crimson Leaf Holdings strategic review.
|
||||||
This is round {task.iteration} of the board session.
|
This is round {task.iteration} of the board session.
|
||||||
|
|
||||||
The portfolio report is above. Your mission charter and strategic log are in your system prompt.
|
The portfolio report is above.
|
||||||
|
|
||||||
|
=== MISSION CHARTER ===
|
||||||
|
{mission_data}
|
||||||
|
|
||||||
|
=== STRATEGIC LOG (Master) ===
|
||||||
|
{strategic_log_data}
|
||||||
|
|
||||||
|
=== LAST CYCLE ENTRY ===
|
||||||
|
{latest_log_entry}
|
||||||
|
===
|
||||||
|
|
||||||
Analyze from YOUR perspective:
|
Analyze from YOUR perspective:
|
||||||
|
|
||||||
- If you are Edgar (The Operator): Focus on systems health, metrics, gaps in capability.
|
- 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?
|
Are companies executing? Are we moving toward the mission success criteria?
|
||||||
What gaps are blocking revenue? What should we PROPOSE to David?
|
What gaps are blocking revenue? What should we PROPOSE to David?
|
||||||
Check the strategic_log: what proposals are already submitted and awaiting David?
|
Check the strategic_log and last cycle entry: what proposals are already submitted?
|
||||||
Do NOT propose a company if it was already submitted in the last 30 days.
|
Do NOT propose a company if it was already submitted in the last 30 days.
|
||||||
|
|
||||||
- If you are Orion (The Visionary): Focus on opportunities and what we are missing.
|
- If you are Orion (The Visionary): Focus on opportunities and what we are missing.
|
||||||
@@ -82,10 +102,10 @@ steps:
|
|||||||
Keep it actionable. David is one person -- prioritize ruthlessly.
|
Keep it actionable. David is one person -- prioritize ruthlessly.
|
||||||
|
|
||||||
PROPOSAL GATE ASSESSMENT:
|
PROPOSAL GATE ASSESSMENT:
|
||||||
Check the strategic_log.md in your context. Has CLO (or whichever gap-company)
|
Check the strategic_log and last cycle entry below. Has CLO (or whichever gap-company)
|
||||||
been proposed in the last 30 days? If yes, state PROPOSAL_NEEDED: none.
|
been proposed in the last 30 days? If yes, state PROPOSAL_NEEDED: none.
|
||||||
Only propose if: gap is materially blocking revenue AND cannot be solved by
|
Only propose if: gap is materially blocking revenue AND cannot be solved by
|
||||||
existing resources AND no proposal for this company appears in strategic_log.md.
|
existing resources AND no proposal for this company appears in the log.
|
||||||
State one of: PROPOSAL_NEEDED: [company-slug] or PROPOSAL_NEEDED: none
|
State one of: PROPOSAL_NEEDED: [company-slug] or PROPOSAL_NEEDED: none
|
||||||
|
|
||||||
MARKETING DISPATCH ASSESSMENT:
|
MARKETING DISPATCH ASSESSMENT:
|
||||||
@@ -93,6 +113,12 @@ steps:
|
|||||||
At the end of your brief, include:
|
At the end of your brief, include:
|
||||||
CLM_DISPATCH: <book-project-slug if a completed book needs CLM campaign, or "none">
|
CLM_DISPATCH: <book-project-slug if a completed book needs CLM campaign, or "none">
|
||||||
|
|
||||||
|
=== STRATEGIC LOG ===
|
||||||
|
{strategic_log_data}
|
||||||
|
|
||||||
|
=== LAST CYCLE ENTRY ===
|
||||||
|
{latest_log_entry}
|
||||||
|
|
||||||
- type: think
|
- type: think
|
||||||
max_tokens: 100
|
max_tokens: 100
|
||||||
output_key: proposal_project_slug
|
output_key: proposal_project_slug
|
||||||
@@ -173,50 +199,44 @@ steps:
|
|||||||
content: "{clm_dispatch_message}"
|
content: "{clm_dispatch_message}"
|
||||||
|
|
||||||
- type: think
|
- type: think
|
||||||
max_tokens: 3000
|
max_tokens: 600
|
||||||
output_key: updated_log
|
output_key: log_entry
|
||||||
hint: |
|
hint: |
|
||||||
Write the COMPLETE updated strategic_log.md for this review cycle.
|
Write a brief summary of THIS CYCLE'S strategic review to record in the log.
|
||||||
|
This entry will be loaded next cycle so Edgar remembers what was decided.
|
||||||
|
|
||||||
The current log content is in your system context (loaded from
|
Format:
|
||||||
agents/edgar/strategic_log.md at task start). Copy ALL existing entries
|
## Cycle Entry: Task {task.id}
|
||||||
EXACTLY as they appear. Do NOT summarize, shorten, or alter them.
|
|
||||||
|
|
||||||
Then APPEND a new entry at the END using this exact format:
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Entry {task.created_at_date} (Task {task.id})
|
|
||||||
|
|
||||||
### Board Consensus
|
### Board Consensus
|
||||||
[One paragraph: what did the board agree on this cycle?]
|
[One sentence: what did the board agree on?]
|
||||||
|
|
||||||
### Gap Status Updates
|
### Gap Status
|
||||||
GAP 1 (CLO): [status -- submitted/deferred/awaiting David/no change]
|
GAP 1 (CLO): [submitted/deferred/awaiting David/no change -- ONE of these]
|
||||||
GAP 2 (CLR): [status]
|
GAP 2 (CLR): [status]
|
||||||
GAP 3 (KDP pipeline): [status]
|
GAP 3 (KDP): [status]
|
||||||
|
|
||||||
### Proposal Decision
|
### Proposal Decision
|
||||||
[ONE of:]
|
[ONE of:]
|
||||||
SUBMITTED: [company-slug] -- proposal task enqueued to incubation this cycle
|
SUBMITTED: [company-slug] -- task enqueued to incubation this cycle
|
||||||
DEFERRED: [reason, e.g. "CLO already submitted on YYYY-MM-DD, awaiting David"]
|
DEFERRED: [reason]
|
||||||
NONE: [reason]
|
NONE: [reason]
|
||||||
|
|
||||||
### CLM Dispatch
|
### CLM Dispatch
|
||||||
[ONE of:]
|
[ONE of:]
|
||||||
DISPATCHED: [book-project-slug] -- marketing campaign task sent to CLM
|
DISPATCHED: [book-project-slug]
|
||||||
NONE
|
NONE
|
||||||
|
|
||||||
### Next Review Focus
|
### Next Focus
|
||||||
[One sentence on what to watch for next cycle]
|
[One sentence]
|
||||||
|
|
||||||
OUTPUT: The COMPLETE file content starting from the very first line.
|
Keep it factual. Use only what happened in this cycle.
|
||||||
If the log exceeds 30 entries, compact the 10 oldest into an
|
Do NOT invent history. Do NOT summarize old entries.
|
||||||
"ARCHIVED SUMMARY" block at the top to keep the file manageable.
|
Output ONLY the entry text above.
|
||||||
|
|
||||||
- type: document
|
- type: document
|
||||||
dest_path: "agents/edgar/strategic_log.md"
|
dest_path: "agents/edgar/logs/latest.md"
|
||||||
commit_msg: "log: strategic review cycle"
|
commit_msg: "log: strategic review cycle {task.id}"
|
||||||
|
|
||||||
- type: reply
|
- type: reply
|
||||||
target: discussion
|
target: discussion
|
||||||
|
|||||||
Reference in New Issue
Block a user