CedarCopilot wants to merge 1 commit into main from staging
Libra exercised 2 changed behaviors; none regressed.
Libra ran this behavior against the change and confirmed the check detects when it breaks.
Changed code: google-slides-manager.tsx.
Libra ran this behavior against the change and confirmed the check detects when it breaks.
Changed code: initializeResponseProcessorRegistry.ts.
Not deployed
Libra has no production signal for this change yet because it has not deployed. Libra checks hourly for 3 days after each deploy.
Do not merge until the CRM resync failures and absolute-import requirement are addressed. The field-response and Orum request-size concerns are non-blocking.
### Issue 1
apps/server/src/services/crm/crm-pull-refresh.ts:920-928
When a mapped Salesforce field is blank but Cedar holds an old value, this pre-updater resync reports success without clearing it. A stage-change approval can then treat a required companion field as unchanged and omit it, leaving the stage update subject to Salesforce’s required-field rejection. This must be fixed before merging.
### Issue 2
apps/server/src/services/crm/crm-pull-refresh.ts:581
If field mapping starts before the resync timeout, this abort check has already passed. The caller can proceed with fallback data and write a newer value while the in-flight mapping later finishes and overwrites it with the older CRM value. This must be fixed before merging.
### Issue 3
apps/server/src/services/integrations/meetings/orum.ts:263-266
Orum’s size check runs only after the public route reads the entire request body. An oversized request was fully read and acknowledged, so the parsing cap does not bound memory used to receive it. If no upstream request-size limit applies, repeated large submissions can consume server resources. This is a non-blocking concern; enforce a limit while reading the request.
> **How this was verified:** An oversized unsigned request was fully read before Orum skipped parsing.
### Issue 4
apps/mail/modules/cedar-os/src/store/agentConnection/responseProcessors/requestDriveFileResponseProcessor.ts:1
The new `createResponseProcessor` import uses a relative path, as does the new `RequestDriveFileRenderer` import in `initializeMessageRendererRegistry.tsx`. Both violate the repository guide’s directive to use absolute imports. This repository requirement must be satisfied before merging.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
This PR adds a chat Google Drive picker, public-link knowledge-base ingestion, Orum webhook capture, conversation-field write verdicts, a HubSpot deal-write guard, and pre-updater CRM
Libra has not measured any production surfaces for this change yet.