v0.7.61: private provenance alignment - #6326
Conversation
* fix(tools): align private provenance with wire payloads * fix(execution): separate provenance source from actor
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Table batch writes align provenance selection keys with what actually ships on the wire: Internal tool transport hardens failure handling: unverified or non-error HTTP responses are rebuilt with safe JSON errors—real 4xx–5xx keep their status with a generic message so route bodies/headers are not leaked; other cases become 502 metadata verification failures. Added tests for table/memory error paths and registry behavior when provenance crosses from another user in the same workspace (anonymous trace labels). Reviewed by Cursor Bugbot for commit 71d7d8d. Configure here. |
Greptile SummaryThe PR aligns private secret provenance with serialized tool payloads and permits provenance to cross user identities only within an already-authorized workspace.
Confidence Score: 5/5The PR appears safe to merge, with workspace and personal provenance boundaries preserved across the changed paths. The changed scope checks reject cross-workspace and mismatched personal provenance, table selections remain aligned with serialized request bodies, and unverifiable tool responses expose only sanitized failures.
|
| Filename | Overview |
|---|---|
| apps/sim/lib/execution/durable-secret-provenance.ts | Centralizes scope admission so workspace resources accept same-workspace sources while personal resources retain exact-user isolation. |
| apps/sim/app/api/table/row-secret-provenance.ts | Applies the shared scope-compatibility policy to table writes without weakening cross-workspace rejection. |
| apps/sim/lib/table/secret-provenance-selection.ts | Filters undefined top-level fields so provenance selections match the JSON-serialized row payload. |
| apps/sim/tools/index.ts | Rebuilds unverifiable private-metadata responses with sanitized bodies and headers while preserving legitimate HTTP error statuses. |
| apps/sim/app/api/tools/file/manage/route.ts | Renames the expected scope concept to destination scope, reflecting the shared same-workspace provenance policy. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
A[Tool input and secret trace] --> B[Serialize wire payload]
B --> C[Attach private provenance bundle]
C --> D[Authenticated internal route]
D --> E{Scope compatible?}
E -->|Same destination workspace| F[Accept source provenance]
E -->|Personal resource and same user| F
E -->|Cross-workspace or mismatched personal user| G[Reject request]
F --> H[Persist or propagate durable provenance]
Reviews (1): Last reviewed commit: "fix(tools): align private provenance wit..." | Re-trigger Greptile
fix(tools): align private provenance with wire payloads (#6325)