framework: merge wrappers must stamp executor provenance (session/pane/PID/host) in a durable pre-merge provider receipt #855
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
When multiple concurrent agent lanes operate against a single shared provider token, the provider's
merged_byfield resolves to that one shared identity for every merge, regardless of which lane actually executed it. The provider timeline exposes no client-side host / process / session, so after a merge there is no durable way to attribute the executing lane. This defeats post-hoc audit of who performed a given merge and undermines the merge-authority model (a merge is supposed to be traceable to a named executor).This is structural, not a misconfiguration: as long as N lanes share one token,
merged_byis unattributable by construction.Proposed fix
The Mosaic merge wrappers (
~/.config/mosaic/tools/git/pr-merge.shand any sibling mutation wrappers) should emit executor provenance into a durable provider record BEFORE the mutation:This makes the actual executor auditable even under a single shared token, because the pre-merge receipt is written by the same process that performs the mutation and is timestamped ahead of it.
Acceptance
Context
Cross-references the captured framework gap
OpenBrain 7f3bbe68(shared-token merge-attribution impossibility). Operator-agnostic framework improvement — applies to any deployment where agent lanes share a provider credential.