Update pulse_check.yml -- post status summary to #general after each cycle (Sprint 82)

This commit is contained in:
2026-04-18 03:25:08 +00:00
parent 9d3eb9d3fc
commit e1686cfacb

View File

@@ -1,103 +1,130 @@
name: pulse_check name: pulse_check
description: "Crimson Leaf holding company health scan -- Edgar checks all subsidiaries every 3 hours." description: "Crimson Leaf holding company health scan -- Edgar checks all subsidiaries every 3 hours."
debug: true debug: true
model: power model: power
system: agent_prompt system: agent_prompt
agent_prompt: agent_prompt:
- "= identity.md" - "= identity.md"
sections: sections:
- agent - agent
- project - project
- 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: think - type: think
max_tokens: 4000 max_tokens: 4000
hint: | hint: |
You are Edgar, CEO of Crimson Leaf Holdings. You just received the portfolio report above. You are Edgar, CEO of Crimson Leaf Holdings. You just received the portfolio report above.
Analyze it as a systems operator would: Analyze it as a systems operator would:
1. Which companies are active? Which are idle (no recent activity)? 1. Which companies are active? Which are idle (no recent activity)?
2. Are any tasks stuck (in_progress but old)? Any unusually high failure rates? 2. Are any tasks stuck (in_progress but old)? Any unusually high failure rates?
3. Are adjudication pass rates healthy (>65%) or concerning? 3. Are adjudication pass rates healthy (>65%) or concerning?
4. Is the system healthy (workers online, queue depth reasonable)? 4. Is the system healthy (workers online, queue depth reasonable)?
Be concise and data-driven. Flag only what needs human attention. Be concise and data-driven. Flag only what needs human attention.
For each issue, format as: "David, [action needed]: [details]" For each issue, format as: "David, [action needed]: [details]"
If everything looks healthy, say so briefly -- don't invent problems. If everything looks healthy, say so briefly -- don't invent problems.
Also assess Crimson Leaf Publishing (CLP) production status: Also assess Crimson Leaf Publishing (CLP) production status:
- The portfolio report includes a project_breakdown array for each company. - The portfolio report includes a project_breakdown array for each company.
- Look at the crimson_leaf_publishing company's project_breakdown. - Look at the crimson_leaf_publishing company's project_breakdown.
- Each project entry has: name, slug, tasks_in_progress, tasks_completed, - Each project entry has: name, slug, tasks_in_progress, tasks_completed,
last_activity_utc, hours_since_activity, and is_idle (true/false). last_activity_utc, hours_since_activity, and is_idle (true/false).
- is_idle is true when tasks_in_progress=0 AND hours_since_activity > 4. - is_idle is true when tasks_in_progress=0 AND hours_since_activity > 4.
- Identify which CLP project has is_idle=true and the highest hours_since_activity. - Identify which CLP project has is_idle=true and the highest hours_since_activity.
- That is the project most overdue for a chapter dispatch. - That is the project most overdue for a chapter dispatch.
- type: think - type: think
max_tokens: 100 max_tokens: 100
output_key: dispatch_project_slug output_key: dispatch_project_slug
hint: | hint: |
Based on the portfolio report's project_breakdown for crimson_leaf_publishing, Based on the portfolio report's project_breakdown for crimson_leaf_publishing,
which single CLP project has is_idle=true with the most hours_since_activity? which single CLP project has is_idle=true with the most hours_since_activity?
Valid output values (pick exactly one): cypress-bend, crimson-vows, binding-thread, none Valid output values (pick exactly one): cypress-bend, crimson-vows, binding-thread, none
Rules: output ONLY the slug value. No explanation. No punctuation. No newlines. Rules: output ONLY the slug value. No explanation. No punctuation. No newlines.
If ALL three projects have is_idle=false (tasks currently in progress), output: none If ALL three projects have is_idle=false (tasks currently in progress), output: none
- type: think - type: think
max_tokens: 500 max_tokens: 500
output_key: dispatch_message output_key: dispatch_message
hint: | hint: |
The project selected for dispatch is: {dispatch_project_slug} The project selected for dispatch is: {dispatch_project_slug}
If {dispatch_project_slug} is "none", output exactly: none If {dispatch_project_slug} is "none", output exactly: none
Otherwise, write a clear chapter dispatch for the writing team. Include: Otherwise, write a clear chapter dispatch for the writing team. Include:
- Book context: title, genre, lead characters, core conflict, setting - Book context: title, genre, lead characters, core conflict, setting
- Task: "Write the next unwritten chapter. Check existing deliverables to find the - Task: "Write the next unwritten chapter. Check existing deliverables to find the
last written chapter and continue from there. If no chapters exist, start with ch-01." last written chapter and continue from there. If no chapters exist, start with ch-01."
- Word count target: approximately 3500 words per chapter - Word count target: approximately 3500 words per chapter
- Reminder: use the book outline in Gitea (pae/{company_slug}/projects/{project_slug}/) - Reminder: use the book outline in Gitea (pae/{company_slug}/projects/{project_slug}/)
for chapter titles and plot beats for chapter titles and plot beats
Book reference: Book reference:
- cypress-bend: "Cypress Bend" - contemporary romance, Louisiana bayou. Elena Vargas - cypress-bend: "Cypress Bend" -- contemporary romance, Louisiana bayou. Elena Vargas
(painter) and Jax Harlan (reclusive novelist). 12 chapters. (painter) and Jax Harlan (reclusive novelist). 12 chapters.
- crimson-vows: "Crimson Vows" - paranormal romance, blood pact. Lila Voss and vampire - crimson-vows: "Crimson Vows" -- paranormal romance, blood pact. Lila Voss and vampire
heir Damian Voss. 10 chapters. heir Damian Voss. 10 chapters.
- binding-thread: "The Binding Thread" - fantasy romance, fate-weavers. Lira and - binding-thread: "The Binding Thread" -- fantasy romance, fate-weavers. Lira and
rebel leader Thorne. Kingdom of Eldoria. 12 chapters. rebel leader Thorne. Kingdom of Eldoria. 12 chapters.
Output ONLY the dispatch message text. No labels. No metadata. No preamble. Output ONLY the dispatch message text. No labels. No metadata. No preamble.
- type: tool - type: tool
action: enqueue_strategy action: enqueue_strategy
optional: true optional: true
params: params:
company_slug: "crimson_leaf_publishing" company_slug: "crimson_leaf_publishing"
project_slug: "{dispatch_project_slug}" project_slug: "{dispatch_project_slug}"
task_type: "book_chapter" task_type: "book_chapter"
content: "{dispatch_message}" content: "{dispatch_message}"
- type: reply - type: think
target: discussion max_tokens: 200
output_key: status_summary
adjudication: hint: |
enabled: false Write a brief 2-line status update for the Discord #general channel.
This should be punchy and informative -- David reads this to know if anything needs attention.
Format:
Line 1: "Pulse check -- [time context] -- [one word health: HEALTHY / ATTENTION / IDLE]"
Line 2: "[What action was taken or what was observed. Dispatch fired? All idle? Issue flagged?]"
Examples:
"Pulse check -- 3h cycle -- HEALTHY"
"Dispatched ch-06 to Cypress Bend. CLP queue active on all 3 projects."
"Pulse check -- 3h cycle -- ATTENTION"
"David, Crimson Vows has been idle 18h. Dispatch fired. Adj pass rate dropped to 42%."
"Pulse check -- 3h cycle -- IDLE"
"All CLP projects active. No dispatches needed. System nominal."
Keep it to 2 lines maximum. No extra commentary.
- type: reply
target: channel
channel_id: "1473516041249493104"
hint: |
Post the status_summary above to the channel. Output it exactly as written.
Do not add any explanation, preamble, or additional context.
adjudication:
enabled: false