epic: one guard enforces the recorded limits on every surface #670

Closed
opened 2026-09-29 19:06:46 +00:00 by hexajon · 0 comments
Owner

ADR 0046 decides one guard that refuses a write by its effect, on every surface: the CLI, MCP, and the raw API passthrough. No limit has an override.

Children, in the order the work can run:

  • #653 the guard package with its three effects.
  • #654 every operation and spec endpoint declares its effects. It needs #538 first, so that the vendored specs come from the live forges.
  • #659 the git write functions call the guard. Needs #653.
  • #660 the forge client send functions call the guard. Needs #653 and #654.
  • #666 every removal is proven by the forge's answer. Needs #653.
  • #665 a commit on the default branch is refused, with no override. Needs #659.
  • #668 the raw API passthrough keeps every limit. Needs #653, #654, and #660.
  • #669 a parity test fails when a write skips the guard. Needs #659 and #660.

Done when every child is closed and the gate passes with the parity test in place. This work ships in v0.20.0, the one release that carries every breaking change to the ADR tooling.

ADR 0046 decides one guard that refuses a write by its effect, on every surface: the CLI, MCP, and the raw API passthrough. No limit has an override. Children, in the order the work can run: - #653 the guard package with its three effects. - #654 every operation and spec endpoint declares its effects. It needs #538 first, so that the vendored specs come from the live forges. - #659 the git write functions call the guard. Needs #653. - #660 the forge client send functions call the guard. Needs #653 and #654. - #666 every removal is proven by the forge's answer. Needs #653. - #665 a commit on the default branch is refused, with no override. Needs #659. - #668 the raw API passthrough keeps every limit. Needs #653, #654, and #660. - #669 a parity test fails when a write skips the guard. Needs #659 and #660. Done when every child is closed and the gate passes with the parity test in place. This work ships in v0.20.0, the one release that carries every breaking change to the ADR tooling.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
sixfold-space/madtea#670
No description provided.