diff --git a/templates/strategic_review.yml b/templates/strategic_review.yml index 29b4921..102f09f 100644 --- a/templates/strategic_review.yml +++ b/templates/strategic_review.yml @@ -7,6 +7,7 @@ system: agent_prompt agent_prompt: - "= identity.md" - "= mission.md" + - "= strategic_log.md" participant_prompt: - "= identity.md" @@ -40,12 +41,14 @@ 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 is in your system prompt. + The portfolio report is above. Your mission charter and strategic log are 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? + Check the strategic_log: what proposals are already submitted and awaiting David? + 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. Are we building the right things? What should we start? What should we kill? @@ -79,9 +82,10 @@ steps: 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. + Check the strategic_log.md in your context. 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. State one of: PROPOSAL_NEEDED: [company-slug] or PROPOSAL_NEEDED: none MARKETING DISPATCH ASSESSMENT: @@ -168,6 +172,52 @@ steps: task_type: "marketing_campaign" content: "{clm_dispatch_message}" + - type: think + max_tokens: 3000 + output_key: updated_log + hint: | + Write the COMPLETE updated strategic_log.md for this review cycle. + + 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}) + + ### Board Consensus + [One paragraph: what did the board agree on this cycle?] + + ### Gap Status Updates + GAP 1 (CLO): [status -- submitted/deferred/awaiting David/no change] + GAP 2 (CLR): [status] + GAP 3 (KDP pipeline): [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"] + NONE: [reason] + + ### CLM Dispatch + [ONE of:] + DISPATCHED: [book-project-slug] -- marketing campaign task sent to CLM + NONE + + ### Next Review Focus + [One sentence on what to watch for next cycle] + + 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. + + - type: document + dest_path: "agents/edgar/strategic_log.md" + commit_msg: "log: strategic review cycle" + - type: reply target: discussion