CedarCopilot wants to merge 0 commits into staging from cursor/daily-customer-deploy-digest-b524
Live on prod, watching, 1 day left
Libra has verdicts on 0 of 7 tracked behaviors on prod; 7 are still being checked. Libra checks hourly for 3 days after each deploy.
Adds an automation , a sibling of the changelog / product-updates automation , that runs once per PR merge to main (production) and tells the customer success team when the merged change is relevant to specific customers.
On each merge to main it:
#customer-success , a plain-English description of the fix/feature, the customer(s) it's relevant for, and the PR link.The existing changelog automation is customer-facing and runs ~3×/week off the working branch. This one is internal (for CS), triggers per merge, reads the merged PR on main, and does not open a PR or write a changelog file , it just surfaces "what shipped for whom" so CS can proactively follow up with the customer whose bug/request just went live.
| File | What |
|---|---|
.cursor/skills/customer-deploy-digest/SKILL.md | The per-merge automation prompt (scopes to the triggering PR , no time-window scan), customer-mention extraction rules (with explicit non-customer traps like model/vendor code-names , Jev, Sol, Kimi, Greptile , and teammates), message format, empty-state (skip silently by default), and per-merge triggering notes (including direct-push-to-main coverage). |
scripts/send-customer-deploy-digest.ts | Webhook sender that converts the digest markdown to Slack mrkdwn and posts to #customer-success via SLACK_CUSTOMER_SUCCESS_WEBHOOK_URL (falls back to SLACK_ALERTS_WEBHOOK_URL), mirroring scripts/send-slack-triage.ts. Supports -- --dry-run to preview. Unchanged from the initial revision. |
package.json | Adds the send-customer-deploy-digest script. |
The per-merge trigger lives outside the repo (a Cursor Automation / Cloud Agent run, or a GitHub Action that launches one) and passes the run the merged PR number (and/or merge SHA). Point it at CedarCopilot/cedar-mail with the "Automation prompt (run on every merge to main)" block from the skill as its prompt. The environment needs gh (read access) and SLACK_CUSTOMER_SUCCESS_WEBHOOK_URL (or SLACK_ALERTS_WEBHOOK_URL).
Empty-state defaults to silence on a merge that names no customer (posting the original "No customer fixes or feature requests found." line on every merge would flood #customer-success). That line is documented in the skill as an opt-in if per-merge confirmation is ever wanted.
Validated the sender rendering (unchanged) and the per-merge message format via --dry-run (nothing posted to Slack). Earlier validation ran the data-gathering commands against real production history and correctly surfaced Manufact while ignoring model/tooling names (Jev, Sol, Kimi) and teammate mentions.
Single-merge render (dry-run):
*Shipped to production , Vooma*
• Fixed Salesforce next-step sync dropping updates , *Vooma* (<https://github.com/CedarCopilot/cedar-mail/pull/2854|#2854>)
Libra has not measured any production surfaces for this change yet.