Libra CodeHub

CedarCopilot/cedar-mail

Branch: staging

[2026-09-14] mergign staging to main

merged#2782CedarCopilot

CedarCopilot wants to merge 1 commit into main from staging

Live on prod, no production signal yetTimeline and evidence
  1. Opened
    Sep 14, 2026, 12:36 PM
  2. Sep 14, 2026, 12:47 PM
  3. Merged
    Sep 14, 2026, 2:24 PM
  4. Live on prod
    Sep 14, 2026, 2:24 PM
  5. Observed 2 days
    Sep 14, 2026, 2:24 PM
  6. Pipelines steady after this deploy
    Sep 14, 2026, 2:24 PM
  7. Unobserved

    Live on prod, no production signal yet

    Sep 17, 2026, 11:32 AM

Behaviors Libra is checking

Meeting objects created from conversation search results or overview events initialize the backend-only ambiguityPingedAt marker to null so ambiguity-ping retry deduplication can track them.Inconclusivelow confidence

Verification reached its 130s outer budget before the verifier returned. Libra is keeping this intent verifying until the next check.

prod, checked Sep 17, 2026, 11:32 AM

Failures attributed to this change

error @ GET /<redacted-token>/<id>.jsonIntroducedmedium confidence

unknown

prod, first seen Sep 14, 2026, 2:34 PM
error @ GET /<redacted-token>/<id>.jsonIntroducedmedium confidence

unknown

prod, first seen Sep 14, 2026, 2:34 PM
error @ GET /<redacted-token>/<id>.jsonIntroducedmedium confidence

unknown

prod, first seen Sep 14, 2026, 2:34 PM
error @ GET /<redacted-token>/<id>.jsonIntroducedmedium confidence

unknown

prod, first seen Sep 14, 2026, 2:34 PM
error @ GET /<redacted-token>/<id>.jsonIntroducedmedium confidence

unknown

prod, first seen Sep 14, 2026, 2:34 PM
Customer impact is not proven from the retained evidence. 0 hits · no retained affected-user count · no retained trace sample.Introducedmedium confidence

single_user

prod, first seen Sep 14, 2026, 2:57 PM
error @ GET /<redacted-token>/<id>.jsonIntroducedmedium confidence

unknown

prod, first seen Sep 14, 2026, 2:57 PM
error @ GET /<redacted-token>/<id>.jsonIntroducedmedium confidence

unknown

prod, first seen Sep 14, 2026, 2:57 PM
Customer impact is not proven from the retained evidence. 0 hits · no retained affected-user count · no retained trace sample.Introducedmedium confidence

single_user

prod, first seen Sep 15, 2026, 3:19 PM

Libra has verdicts on 0 of 1 tracked behaviors on prod; 1 is still being checked. Libra attributed 9 failures to this change at medium confidence and is still confirming them. Libra checks hourly for 3 days after each deploy.

Greptile Summary

Findings

  • The live-thread guard blocks drafting and notification work based on unclassified newer thread activity, including activity that may not replace the requested action.
  • Concurrent redeliveries of an unattributed meeting can both send an ambiguity Slack DM before either delivery records completion.
  • The new meeting-event column is outside the deploy-enforced migration path, so services can issue queries for a column that has not been created.

Confidence Score: 2/5

Do not merge until the stale-action suppression, duplicate ambiguity notifications, and migration rollout failure are corrected.

Three independently reproduced failures can block required communications, duplicate user-facing notifications, or break meeting-event reads after deployment.

Files Needing Attention: apps/server/src/mastra/tools/draft-comms/live-thread-guard.ts; apps/server/src/mastra/workflows/event-execution/pre-execution-setup.ts; apps/server/src/db/migrations/add_ambiguity_pinged_at_to_crm_meeting_events.sql

T-Rex T-Rex Logs

What T-Rex did

  • T-Rex produced a proof for a posted P1 finding.
  • T-Rex produced a proof for a second posted P1 finding, with additional artifacts captured.
  • T-Rex ran a general-contract validation that executed the live-thread guard command and returned a successful result.
  • T-Rex reproduced a race condition with synchronized deliveries and observed SlackSends counts that demonstrate the interleaving behavior.
  • T-Rex performed a migration-check repro for ambiguity ping, documenting the before/after results and a blocker due to a missing DATABASE_URL.

View all artifacts

T-Rex Ran code and verified through T-Rex

Comments Outside Diff (3)

  1. General comment

    P1 Live thread guard blocks required prospect replies for unrelated newer activity

    • Bug
      • At apps/server/src/mastra/tools/draft-comms/live-thread-guard.ts:56, any hasNewerActivity result triggers a hard refusal for draft and notification actions. The executed focused test supplied a newer but unrelated non-draft message and received a refusal at the draft-email boundary, preventing the required prospect response.
    • Cause
      • blockStaleThreadAction reduces the staleness result to aggregate hasNewerActivity, hasExistingDraft, and newerMessageCount fields, then refuses on either flag. Neither its input nor ThreadStalenessResult carries sender, direction, message intent, or relevance information that could establish whether the newer activity supersedes the requested action.
    • Fix
      • Do not use unclassified newer activity as an authoritative refusal. Extend the live-check result with the data needed to classify newer messages and block only when they supersede or duplicate the requested action; otherwise surface the activity to the subagent for contextual handling. Keep the existing-draft guard separately scoped to genuine du
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/conversations/components/ConversationSearchCommandBar.tsxno production surface mapped
  • apps/mail/modules/conversations/components/OverviewDocTab.tsxno production surface mapped
  • apps/server/.claude/skills/playbook-instruction-eval/crm-known-deal-hint-eval.tsno production surface mapped
  • apps/server/.claude/skills/playbook-instruction-eval/eval-domain-identification.tsno production surface mapped
  • apps/server/.claude/skills/playbook-instruction-eval/eval-vendor-bucket.tsno production surface mapped
  • apps/server/.claude/skills/playbook-instruction-eval/fixtures/reza-fathom-vendor-bucket-meeting.txtno production surface mapped
  • apps/server/.claude/skills/playbook-instruction-eval/fixtures/vooma-mcleod-meeting.txtno production surface mapped
  • apps/server/.claude/skills/sherlock/SHERLOCK_SYSTEM_KNOWLEDGE.mdno production surface mapped
  • apps/server/docs/design/ambiguous-meeting-company-assignment.mdno production surface mapped
  • apps/server/scripts/manual-fix-jacob-reorder.tsno production surface mapped
  • apps/server/scripts/reorder-any-block-tail.tsno production surface mapped
  • apps/server/src/db/crm-schema.tsno production surface mapped
  • apps/server/src/db/migrations/add_ambiguity_pinged_at_to_crm_meeting_events.sqlno production surface mapped
  • apps/server/src/mastra/agents/on-event-execution-agent.tsno production surface mapped
  • apps/server/src/mastra/skills/crm/domain-identification.tsno production surface mapped
  • apps/server/src/mastra/tools/draft-comms/live-thread-guard.tsno production surface mapped
  • apps/server/src/mastra/tools/event-execution/__tests__/draft-tools-sibling-guard.test.tsno production surface mapped
  • apps/server/src/mastra/tools/event-execution/__tests__/external-crm-contact-crosscheck.test.tsno production surface mapped
  • apps/server/src/mastra/tools/event-execution/__tests__/external-crm-domain-guards.test.tsno production surface mapped
  • apps/server/src/mastra/tools/event-execution/assignEventToConversationTool.tsno production surface mapped
  • apps/server/src/mastra/tools/event-execution/onEventExecutionDraftEmailTool.tsno production surface mapped
  • apps/server/src/mastra/tools/event-execution/onEventExecutionDraftSlackTool.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/notify/notifyUserTool.tsno production surface mapped
  • apps/server/src/mastra/utils/company-domain-assignment.tsno production surface mapped
  • apps/server/src/mastra/workflows/event-execution/pre-execution-setup.tsno production surface mapped
  • apps/server/src/services/crm/__tests__/match-global-company-by-any-domain.test.tsno production surface mapped
  • apps/server/src/services/crm/__tests__/meeting-ambiguity-ping-message.test.tsno production surface mapped
  • apps/server/src/services/crm/__tests__/meeting-ambiguity-ping.test.tsno production surface mapped
  • apps/server/src/services/crm/__tests__/meeting-calendar-backstop.test.tsno production surface mapped
  • apps/server/src/services/crm/__tests__/meeting-events.markMeetingAsFailed.test.tsno production surface mapped
  • apps/server/src/services/crm/__tests__/meeting-events.shouldUpdateEventConversationId.test.tsno production surface mapped
  • apps/server/src/services/crm/calendar-events.tsno production surface mapped
  • apps/server/src/services/crm/companies.tsno production surface mapped
  • apps/server/src/services/crm/meeting-ambiguity-ping-message.tsno production surface mapped
  • apps/server/src/services/crm/meeting-ambiguity-ping.tsno production surface mapped
  • apps/server/src/services/crm/meeting-events.tsno production surface mapped
  • apps/server/src/services/integrations/crm/driver.tsno production surface mapped
  • apps/server/src/services/llm/__tests__/resolve-model.test.tsno production surface mapped
  • apps/server/src/services/llm/understudy.tsno production surface mapped
  • apps/server/src/services/mail/threads/__tests__/staleness-check.test.tsno production surface mapped
  • apps/server/src/services/mail/threads/staleness-check.tsno production surface mapped
  • apps/server/src/services/playbook/backfill/reorder-any-block-tail.tsno production surface mapped