architect: vault blast-radius tiers #12

Merged
disinto-admin merged 1 commit from architect/vault-blast-radius-tiers into main 2026-04-15 17:38:37 +00:00
Collaborator

What this sprint enables

Low-tier vault actions (groom-backlog, triage, reproduce, review-pr) execute without a human.
The dispatcher auto-approves or bypasses the PR for blast_radius=low, preserving hard gates
on medium and high tiers.

What already exists

  • vault/policy.toml classifies all 15 formulas into tiers (already complete)
  • vault/classify.sh returns the tier for any formula
  • vault/SCHEMA.md documents blast_radius override field

The gap: docker/edge/dispatcher.sh treats all vault PRs identically — no tier differentiation.

3 sub-issues

  1. dispatcher.sh: read blast_radius from vault action TOML and branch on tier
  2. lib/vault.sh: include blast_radius in PR body for dispatcher visibility
  3. docs/VAULT.md: document three-tier behavior

Design fork

One open question before implementation: how should auto-approve work?

  • (A) Relax admin_enforced for low-tier PRs — changes branch protection policy
  • (B) Dedicated Forgejo auto-approver account with admin rights — new account to maintain
  • (C) Bypass PR workflow for low-tier entirely — no PR, direct execution to vault/fired/

The sprint spec recommends (C) as the cleanest, but this needs human decision.


Reply ACCEPT to proceed with design questions, or REJECT: <reason> to decline.

## What this sprint enables Low-tier vault actions (groom-backlog, triage, reproduce, review-pr) execute without a human. The dispatcher auto-approves or bypasses the PR for blast_radius=low, preserving hard gates on medium and high tiers. ## What already exists - `vault/policy.toml` classifies all 15 formulas into tiers (already complete) - `vault/classify.sh` returns the tier for any formula - `vault/SCHEMA.md` documents `blast_radius` override field The gap: `docker/edge/dispatcher.sh` treats all vault PRs identically — no tier differentiation. ## 3 sub-issues 1. `dispatcher.sh`: read `blast_radius` from vault action TOML and branch on tier 2. `lib/vault.sh`: include blast_radius in PR body for dispatcher visibility 3. `docs/VAULT.md`: document three-tier behavior ## Design fork One open question before implementation: **how should auto-approve work?** - (A) Relax `admin_enforced` for low-tier PRs — changes branch protection policy - (B) Dedicated Forgejo auto-approver account with admin rights — new account to maintain - (C) Bypass PR workflow for low-tier entirely — no PR, direct execution to `vault/fired/` The sprint spec recommends (C) as the cleanest, but this needs human decision. --- Reply `ACCEPT` to proceed with design questions, or `REJECT: <reason>` to decline.
architect-bot added 1 commit 2026-04-09 08:34:03 +00:00
disinto-admin merged commit fffb791637 into main 2026-04-15 17:38:36 +00:00
Sign in to join this conversation.
No reviewers
No labels
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.

Dependencies

No dependencies set.

Reference: disinto-admin/disinto-ops#12
No description provided.