You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(approvals): a schedule-triggered run can write its own locked record (#3712) (#3749)
Closes#3712. Residual of #3456, left open by #3703.
A run with no principal now passes provenance alone: `resolveRunDataContext`
returns `{ flowRunId }` — no userId, positions, permissions, or `isSystem`.
Every principal gate keys on one of those fields, so the context authorizes
identically to no context at all; the run keeps its documented #1888 unscoped
posture and only becomes attributable.
Provenance moved out of the hook session into `ctx.provenance`, so an
identity-less writer is never forced to present an empty session — which would
have turned "no caller" into "an anonymous caller" and narrowed the #1888
fail-open for attachments alone.
Also relaxes `BaseEngineOptionsSchema.context` to a partial envelope
(`ExecutionContextInput`): parse-time defaults made positions/permissions/
isSystem required on a caller-supplied option, asserting that every
data-engine context carries a principal.
0 commit comments