Libra CodeHub

CedarCopilot/cedar-mail

Branch: staging

[2026-09-06] merging staging to main

merged#2704CedarCopilot

CedarCopilot wants to merge 3 commits into main from staging

Not deployedTimeline and evidence
  1. Opened
    Sep 6, 2026, 5:34 PM
  2. Sep 6, 2026, 6:09 PM
  3. Merged
    Sep 6, 2026, 6:26 PM
  4. Live on staging, live on prod, observed
    Pending
  5. Not deployed

    Not deployed

    Pending

Libra has no production signal for this change yet because it has not deployed. Libra checks hourly for 3 days after each deploy.

Greptile Summary

This change adds vendor-bucket cleanup, before-meeting scheduling checks, strategist execution, and instruction-evaluation coverage.

Two reproduced defects require changes before merge: vendor cleanup can delete tasks from legitimate domains that merely contain a vendor name, and a queued before-meeting run can still execute after its specific timing configuration is replaced. External calendar titles are also inserted directly into the meeting-preparation instruction context and must be treated as untrusted input.

T-Rex validation blocked

The hostile calendar-title runtime harness did not run because the server test configuration only discovers tests located under src/**/*.test.ts and tests/**/*.test.ts.

Confidence Score: 0/5

Not safe to merge: the destructive cleanup path, stale scheduled execution path, external-title instruction boundary, and repository requirement must be addressed before merging.

The reproduced destructive cleanup and stale scheduling failures, together with the security-relevant calendar-title handling, reduce confidence to the minimum required result.

Files Needing Attention: apps/server/scripts/cancel-vendor-bucket-tasks.ts; apps/server/src/mastra/routeHandlers/event-execution/handleExecuteScheduledExecution.ts; apps/server/.claude/skills/playbook-instruction-eval/domain-identification-eval.ts

Security Review

An external calendar organizer can control the title that is placed directly into the meeting-preparation instruction context. That execution can write documents and notify users, so the title must be isolated as untrusted data and sensitive actions must remain authorized independently of model instructions.

T-Rex T-Rex Logs

What T-Rex did

  • T-Rex produced a proof for a posted P1 finding and documented how the isolated vendor-regex selection and APPLY harness behaved in a dry-run, including lookalike domains selected as vendor buckets and tasks marked agent_deleted, while existing vendor-bucket selection tests pass.
  • T-Rex validated the before-meeting handler suite, noting nine passing tests, and documented the hostile-calendar-title harness and its capture command, while the hostile run was blocked by Vitest discovery due to the test include patterns.
  • T-Rex validated the strategist update flow, showing the update payload reaches the generated prompt unchanged and confirming that field, task, and document mutation paths preserve ownership and authorization controls, with nine tests passing.
  • T-Rex verified the narrow runtime harness for strategist updates, showing a missing endpoint before the PR and a passing run after, with the closing delimiter preserved in the prompt and server-boundary checks described.
  • T-Rex documented the pre-change and after-change logs for PR-2704 queued-config validation, including the authored validation test, to inspect how queued-config tasks are dispatched and canceled.

View all artifacts

T-Rex Ran code and verified through T-Rex

Comments

Show production surfaces and changed-file mapping

Production surfaces

Libra has not measured any production surfaces for this change yet.

Changed files → surfaces

  • apps/mail/modules/agentCanvas/components/SaveStatusBadge.tsxno production surface mapped
  • apps/mail/modules/documents/playbook/PlaybookDocument.tsxno production surface mapped
  • apps/mail/modules/documents/yjs/CedarYjsProvider.tsno production surface mapped
  • apps/mail/modules/documents/yjs/index.tsno production surface mapped
  • apps/mail/modules/documents/yjs/providerRegistry.tsno production surface mapped
  • apps/mail/modules/files/store/documentSaveLogSlice.tsno production surface mapped
  • apps/mail/tests/modules/files/yjs/CedarYjsProvider.test.tsno production surface mapped
  • apps/server/.claude/skills/playbook-instruction-eval/domain-identification-eval.tsno production surface mapped
  • apps/server/.claude/skills/playbook-instruction-eval/fixtures/domain-identification-baseline.mdno production surface mapped
  • apps/server/.claude/skills/playbook-instruction-eval/fixtures/domain-identification-cases.tsno production surface mapped
  • apps/server/scripts/cancel-vendor-bucket-tasks.tsno production surface mapped
  • apps/server/scripts/run-cancel-vendor-bucket-tasks.mjsno production surface mapped
  • apps/server/src/db/aop-schema.tsno production surface mapped
  • apps/server/src/db/migrations/scripts/rollout-core-field-ownership.tsno production surface mapped
  • apps/server/src/mastra/mcp/external/__tests__/server.test.tsno production surface mapped
  • apps/server/src/mastra/mcp/external/server.tsno production surface mapped
  • apps/server/src/mastra/routeHandlers/event-execution/__tests__/before-meeting-execution-rsvp-gate.test.tsno production surface mapped
  • apps/server/src/mastra/routeHandlers/event-execution/__tests__/handleExecuteFromClientSend-crm-updater-agentid.test.tsno production surface mapped
  • apps/server/src/mastra/routeHandlers/event-execution/__tests__/handleExecuteFromClientSend-draft-closure.test.tsno production surface mapped
  • apps/server/src/mastra/routeHandlers/event-execution/__tests__/handleExecuteFromClientSend-live-next-steps.test.tsno production surface mapped
  • apps/server/src/mastra/routeHandlers/event-execution/handleExecuteFromClientSend.tsno production surface mapped
  • apps/server/src/mastra/routeHandlers/event-execution/handleExecuteScheduledExecution.tsno production surface mapped
  • apps/server/src/mastra/skills/crm/domain-identification.tsno production surface mapped
  • apps/server/src/mastra/tools/__tests__/tool-grant.test.tsno production surface mapped
  • apps/server/src/mastra/tools/config/config-tool-shared.tsno production surface mapped
  • apps/server/src/mastra/tools/conversation/updateConversationFieldsTool.tsno production surface mapped
  • apps/server/src/mastra/tools/event-execution/__tests__/runSubagentTool-drafter.test.tsno production surface mapped
  • apps/server/src/mastra/tools/event-execution/__tests__/runSubagentTool-strategist.test.tsno production surface mapped
  • apps/server/src/mastra/tools/event-execution/orchestrator-dispatch-tools.tsno production surface mapped
  • apps/server/src/mastra/tools/event-execution/runSubagentTool.tsno production surface mapped
  • apps/server/src/mastra/tools/subagent-tool-allowlists.tsno production surface mapped
  • apps/server/src/mastra/tools/task/updateNextStepsAndTasksTool.tsno production surface mapped
  • apps/server/src/mastra/tools/tool-grant.tsno production surface mapped
  • apps/server/src/mastra/utils/conversation-field-updates.tsno production surface mapped
  • apps/server/src/mastra/utils/strategist-updates.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/__tests__/agent-bound-chat.test.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/__tests__/apply-pending-mutation-agentid.test.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/chat-workflow.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/harness/__tests__/delegate-tool-scoping.test.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/harness/__tests__/legacy-tool-name-map.test.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/harness/__tests__/request-context.test.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/harness/delegate-tool-scoping.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/harness/legacy-tool-name-map.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/harness/mcp-server.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/harness/request-context.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/harness/subagents.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/run-chat-agent-sdk.tsno production surface mapped
  • apps/server/src/mastra/workflows/event-execution/pre-execution-setup.tsno production surface mapped
  • apps/server/src/services/agent-action-queue/tool-call-timing.tsno production surface mapped
  • apps/server/src/services/agent-workspace/agent-read.tsno production surface mapped
  • apps/server/src/services/aop/__tests__/field-ownership.test.tsno production surface mapped
  • apps/server/src/services/aop/__tests__/system-subagents-registry.test.tsno production surface mapped
  • apps/server/src/services/aop/aop-agents.tsno production surface mapped
  • apps/server/src/services/aop/core-field-ownership.tsno production surface mapped
  • apps/server/src/services/aop/field-ownership.tsno production surface mapped
  • apps/server/src/services/aop/types.tsno production surface mapped
  • apps/server/src/services/chat/pending-mutations.tsno production surface mapped
  • apps/server/src/services/crm/__tests__/conversations.hydrate-slack.test.tsno production surface mapped
  • apps/server/src/services/crm/__tests__/conversations.vendor-bucket-lookup.test.tsno production surface mapped
  • apps/server/src/services/crm/conversations.tsno production surface mapped
  • apps/server/src/services/document-saving/index.tsno production surface mapped
  • apps/server/src/services/playbook/__tests__/before-meeting-legacy-meeting-prep-recovery.test.tsno production surface mapped
  • apps/server/src/services/playbook/__tests__/reference-resolver.test.tsno production surface mapped
  • apps/server/src/services/playbook/__tests__/seed-playbook.test.tsno production surface mapped
  • apps/server/src/services/playbook/__tests__/strategist-relevance-gate-migration.test.tsno production surface mapped
  • apps/server/src/services/playbook/__tests__/strategist-seed.test.tsno production surface mapped
  • apps/server/src/services/playbook/agent-defaults/index.tsno production surface mapped
  • apps/server/src/services/playbook/agent-defaults/strategist.tsno production surface mapped
  • apps/server/src/services/playbook/backfill/strategist-relevance-gate-migration.tsno production surface mapped
  • apps/server/src/services/playbook/playbook-execution-triggers.tsno production surface mapped
  • apps/server/src/services/playbook/playbook-renderers.tsno production surface mapped
  • apps/server/src/services/playbook/reference-resolver.tsno production surface mapped
  • apps/server/src/services/playbook/seed-playbook.tsno production surface mapped
  • apps/server/src/trpc/routes/__tests__/agent-router-auth.test.tsno production surface mapped
  • apps/server/src/trpc/routes/__tests__/agent-scoped-reads.test.tsno production surface mapped
  • apps/server/src/trpc/routes/__tests__/aop-agents-router.test.tsno production surface mapped
  • apps/server/src/trpc/routes/files.tsno production surface mapped
  • apps/server/tests/scripts/cancel-vendor-bucket-tasks-selection.test.tsno production surface mapped
  • docs/changelogs/2026-W36.mdno production surface mapped
  • docs/design/f8-agent-log.mdno production surface mapped
  • docs/design/f8-vendor-conversation-routing.mdno production surface mapped
  • docs/design/refused-save-client-state.mdno production surface mapped
  • docs/design/stale-task-failure-modes.mdno production surface mapped
  • docs/design/task-completion-write-path.mdno production surface mapped