fix: strategic_review -- git_read_file loads mission+log, per-cycle log write-back

This commit is contained in:
2026-04-26 16:35:08 +00:00
parent 34386e550f
commit 69d2c2c00a

View File

@@ -2,16 +2,6 @@ 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"
- "= strategic_log.md"
participant_prompt:
- "= identity.md"
sections:
- agent
- project
@@ -21,17 +11,36 @@ sections:
- rag
- message
- instructions
builders:
message: |
*** PORTFOLIO REPORT ***
{steps[0].text}
steps:
- type: tool
action: get_portfolio_report
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
max_tokens: 8000
rotate_participants: true
@@ -41,13 +50,24 @@ steps:
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 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:
- 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?
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.
- 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.
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.
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
MARKETING DISPATCH ASSESSMENT:
@@ -93,6 +113,12 @@ steps:
At the end of your brief, include:
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
max_tokens: 100
output_key: proposal_project_slug
@@ -173,50 +199,44 @@ steps:
content: "{clm_dispatch_message}"
- type: think
max_tokens: 3000
output_key: updated_log
max_tokens: 600
output_key: log_entry
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
agents/edgar/strategic_log.md at task start). Copy ALL existing entries
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})
Format:
## Cycle Entry: Task {task.id}
### Board Consensus
[One paragraph: what did the board agree on this cycle?]
[One sentence: what did the board agree on?]
### Gap Status Updates
GAP 1 (CLO): [status -- submitted/deferred/awaiting David/no change]
### Gap Status
GAP 1 (CLO): [submitted/deferred/awaiting David/no change -- ONE of these]
GAP 2 (CLR): [status]
GAP 3 (KDP pipeline): [status]
GAP 3 (KDP): [status]
### Proposal Decision
[ONE of:]
SUBMITTED: [company-slug] -- proposal task enqueued to incubation this cycle
DEFERRED: [reason, e.g. "CLO already submitted on YYYY-MM-DD, awaiting David"]
SUBMITTED: [company-slug] -- task enqueued to incubation this cycle
DEFERRED: [reason]
NONE: [reason]
### CLM Dispatch
[ONE of:]
DISPATCHED: [book-project-slug] -- marketing campaign task sent to CLM
DISPATCHED: [book-project-slug]
NONE
### Next Review Focus
[One sentence on what to watch for next cycle]
### Next Focus
[One sentence]
OUTPUT: The COMPLETE file content starting from the very first line.
If the log exceeds 30 entries, compact the 10 oldest into an
"ARCHIVED SUMMARY" block at the top to keep the file manageable.
Keep it factual. Use only what happened in this cycle.
Do NOT invent history. Do NOT summarize old entries.
Output ONLY the entry text above.
- type: document
dest_path: "agents/edgar/strategic_log.md"
commit_msg: "log: strategic review cycle"
dest_path: "agents/edgar/logs/latest.md"
commit_msg: "log: strategic review cycle {task.id}"
- type: reply
target: discussion