CedarCopilot wants to merge 1 commit into staging from fix/org-cron-slack-health-tiebreak
Live on prod, no production signal yet
Verification reached its 120s wall-clock budget before a tied verdict. Libra is keeping this intent verifying until the next check.
Libra has verdicts on 0 of 1 tracked behaviors on prod; 1 is still being checked. Libra checks hourly for 3 days after each deploy.
pickOrgCronRepresentative ranked org-level cron candidates by Google-connection health only, so a rep with a fresh Google token but no Slack connection could still be picked to run a Slack-delivered digest/report , the run builds fine and dies silently at the final "post to Slack" step.hasSlackConnection as a ranking tiebreak (after Google usability, before token-expiry freshness), sourced from a second query against the Klavis-managed Slack connection row (existence-based , Klavis holds the actual OAuth token itself, so Cedar's own row carries none to check).daily-call-summary/weekly-competitor-report org agents: Anand (freshest Google token, no Slack) would otherwise be picked over Jacob Doty (has Slack).This checks Slack connection existence, the same way the existing code checks Google token presence , it does not probe live Slack API health or queue saturation. A representative could still fail if Slack itself is degraded at run time. Flagging this per an automated review note; treating it as out of scope for this fix since it matches the existing pattern in this file rather than introducing a new one.
pnpm --filter @zero/server exec vitest run src/services/playbook/__tests__/org-cron-representative.test.ts , 14/14 pass (4 new tests covering the Slack tiebreak + the merge helper)pnpm --filter @zero/server run types , clean on touched files🤖 Generated with Claude Code
https://claude.ai/code/session_01F4mjBtjYZyxnVvLQpehDSb
This PR augments organization-cron representative selection with Slack connection presence so Slack-delivered scheduled agents prefer a representative capable of delivery.
The PR appears safe to merge with no actionable regressions identified.
The Slack query matches current Klavis connection conventions, candidate marking is immutable, and ranking preserves Google usability as its highest-priority condition while addressing the missing-Slack representative case.
| Filename | Overview |
|---|---|
| apps/server/src/services/playbook/manifest-utils.ts | Adds Slack connection lookup, candidate annotation, and Slack-aware representative ranking without introducing a confirmed regression. |
| apps/server/src/services/playbook/tests/org-cron-representative.test.ts | Adds focused coverage for Slack ranking precedence and immutable candidate annotation. |
Reviews (1): Last reviewed commit: "fix(playbook): rank org-cron representat..." | Re-trigger Greptile
Libra has not measured any production surfaces for this change yet.