CedarCopilot wants to merge 0 commits into staging from chore/f8-clear-vendor-bucket-recommendations
Live on prod, no production signal yet
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.
Already executed: 18 cleared, 6 conversations, 5 users, read-back clean.
The vendor-bucket cleanup only covered todo. A recommendation carries the same misrouted content as a task , same wrong object, same customer named in a vendor's notification , and surfaces in the agenda's recommendation section.
So after Xander's six PandaDoc tasks were cancelled, six PandaDoc recommendations were still sitting there, all overdue:
Mark fully-executed deals Closed Won in CRM , WZMH A… 08-21
Approve Utile order form in PandaDoc , unblocks Xand… 08-24
Follow up with Matt Bedee re: Middough Executive Sum… 08-25
Mark Geis Companies as Closed Won in CRM , order for… 08-31
Those would have reappeared on Monday's agenda looking exactly like the problem he reported.
| user | conversation | cleared |
|---|---|---|
| PandaDoc | 6 | |
| Broadband Hospitality | 3 | |
| Canto | 3 | |
| Small Business Loans | 3 | |
| KBMCo | 2 | |
| Procurement Sciences AI | 1 |
<email>'s "Small Business Loans" is newly caught: 286 inbound, 285 from DocuSign.
The predicate is unchanged and is what makes this safe: >= 5 inbound, >= 70% from a single vendor sender, and zero inbound from a real counterparty. Nothing holding a genuine customer email is touched , the same test that correctly spared a conversation carrying four PandaDoc notices and one message from the actual customer.
Test added pinning that both statuses are covered, so a later edit can't silently narrow it back.
🤖 Generated with Claude Code
https://claude.ai/code/session_01NVHnt2pEEjhVwSyhkcaxoC
This PR extends the vendor-bucket cleanup to remove both open tasks and recommendations while retaining the existing conversation qualification predicate.
todo and recommended rows during candidate selection.agent_deleted during an applied cleanup.The implementation appears safe to merge, with a non-blocking weakness in the new regression test’s ability to detect partial status-filter regressions.
The cleanup consistently handles both target statuses, but the added test checks duplicated source literals rather than the behavior or consistency of all four filters.
Files Needing Attention: apps/server/tests/scripts/cancel-vendor-bucket-tasks-selection.test.ts
| Filename | Overview |
|---|---|
| apps/server/scripts/cancel-vendor-bucket-tasks.ts | Consistently broadens candidate selection, mutation, and verification from todo tasks to both todo and recommended tasks. |
| apps/server/tests/scripts/cancel-vendor-bucket-tasks-selection.test.ts | Adds status coverage assertions, but the source-substring approach does not ensure that every operational filter retains both statuses. |
| docs/design/f8-agent-log.md | Documents the final state and conclusions of the related task-routing remediation work. |
### Issue 1
apps/server/tests/scripts/cancel-vendor-bucket-tasks-selection.test.ts:59-60
**Status test misses regressions**
These assertions only verify that each status-list literal appears so
Libra has not measured any production surfaces for this change yet.