Web UI: Gated action framework #434

Closed
opened 2026-07-07 12:21:02 -05:00 by jcwalker3 · 0 comments
Owner

Problem statement

Future UI write actions (claim issue, comment, review) must not bypass MCP capability gates. The architecture needs a disabled-by-default action framework before any writes ship.

Scope

Prepare UI architecture for future write actions without enabling unsafe writes now:

  • actions disabled by default
  • every action requires exact MCP capability proof
  • action preview shows mutation ledger before execution
  • no review/merge/delete/comment/create buttons unless gated
  • tests prove ungated actions cannot run

Acceptance criteria

  • All actions disabled by default in MVP
  • Every action declares required MCP capability and profile role
  • Action preview renders a mutation ledger before execution (even when disabled)
  • No review/merge/delete/comment/create buttons are enabled without passing capability gates
  • Automated tests prove ungated actions cannot invoke mutations

Non-goals

  • Enabling real write actions in MVP
  • Bypassing MCP tools with direct shell/API fallbacks
  • Storing operator credentials in the browser

Relation to tracker

Child of tracker #425. Implements one slice of the MCP Control Plane internal web UI. Does not duplicate backend policy already enforced by MCP tools/workflows.

Dependencies

Depends on #426. Should be implemented before any non-read-only UI action ships.

Notes

Align with gitea_resolve_task_capability and task capability map.

## Problem statement Future UI write actions (claim issue, comment, review) must not bypass MCP capability gates. The architecture needs a disabled-by-default action framework before any writes ship. ## Scope Prepare UI architecture for future write actions without enabling unsafe writes now: - actions disabled by default - every action requires exact MCP capability proof - action preview shows mutation ledger before execution - no review/merge/delete/comment/create buttons unless gated - tests prove ungated actions cannot run ## Acceptance criteria - All actions disabled by default in MVP - Every action declares required MCP capability and profile role - Action preview renders a mutation ledger before execution (even when disabled) - No review/merge/delete/comment/create buttons are enabled without passing capability gates - Automated tests prove ungated actions cannot invoke mutations ## Non-goals - Enabling real write actions in MVP - Bypassing MCP tools with direct shell/API fallbacks - Storing operator credentials in the browser ## Relation to tracker Child of tracker #425. Implements one slice of the MCP Control Plane internal web UI. Does not duplicate backend policy already enforced by MCP tools/workflows. ## Dependencies Depends on #426. Should be implemented before any non-read-only UI action ships. ## Notes Align with `gitea_resolve_task_capability` and task capability map.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Scaled-Tech-Consulting/Gitea-Tools#434