Why: The approved U5 scope needs the action half of the loop: an
idempotent ledger (migration v24), a single-choke SubmitAction (plugin
activation, current-revision, action whitelist, params-hash
idempotency), dispatch through the command bus so DangerHigh lands on
the existing inline confirm card with no Confirmed passthrough (the
endpoint does not even bind the field), the button-only
generative-ui.submit storing form data in the plugin KV ledger, and
catalog discipline rejecting unknown action ids at present time.
Evidence: go build/vet clean; full go test ./... green; surfacesvc/
genui/store suites also green under AGENT_PG_TEST_DSN; red matrix
covers disabled/stale-revision/cross-owner/unknown-action/idempotent
same-and-different-params/danger-high-await-confirm and the endpoint
forged-confirmed case.
Impact: Additive migration v24 + new endpoint/command; existing
endpoints and command semantics untouched (B-class whitelist starts
empty per the approved scope).
Refs: U5 action-scope r2 (approved, Documents #71); UI #46/#47;
Frontend #56; Dev task feature/generative-ui-u5
weichen
merged commit eb12f102f2 into main2026-10-11 14:24:35 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Why: Approved U5 scope - idempotent action ledger (v24), single-choke SubmitAction (activation/revision/whitelist/idempotency), command-bus dispatch reusing the DangerHigh inline confirm card with no Confirmed passthrough, button-only generative-ui.submit to the plugin KV ledger, catalog action discipline.
Evidence: build/vet clean; full go test green; PG-dialect suites green; red matrix covers the approved acceptance lines.
Impact: Additive; B-class whitelist starts empty per approved scope.
Refs: U5 action-scope r2 (Documents #71); UI #46/#47; Frontend #56; Dev task feature/generative-ui-u5