Skip to content

feat(plan-task): add blast-radius non-negotiable - #115

Merged
bborbe merged 1 commit into
masterfrom
feat/plan-task-blast-radius
Aug 28, 2026
Merged

feat(plan-task): add blast-radius non-negotiable#115
bborbe merged 1 commit into
masterfrom
feat/plan-task-blast-radius

Conversation

@bborbe

@bborbe bborbe commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Adds a sixth non-negotiable (fifth hard check) to plan-task § 5: when a task's subtasks push to a registry, deploy, mutate a cluster, or need a credential/secret, the task must name the external system AND the account written to.

Why: a credential requirement with no named target is a scope gap — the owner discovers what was automated at the secrets request, after the work has shipped.

Observed 2026-08-27 on the version-skew-guard task: a publish-on-tag CI was designed, PR'd, reviewed, merged and released with no objection. The owner questioned it ("Is the agent trying to push a docker image? I don't think that I want this") only when its Docker Hub secrets were requested — costing two reversal PRs for a net deletion. plan-task had passed the task: its existing checks cover SC/subtask/verify quality, never external blast radius.

Also updates the section preamble count (five → six checks, four → five hard).

@ben-s-pull-request-reviewer ben-s-pull-request-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{
  "verdict": "approve",
  "summary": "PR adds a 6th hard non-negotiable 'Blast radius named' to plan-task, requiring tasks with registry pushes, deployments, cluster mutations, or credential needs to name the external system and account. The rule text is specific and well-grounded in an observed incident. CHANGELOG and command doc are consistent.",
  "comments": [],
  "concerns_addressed": [
    "correctness: preamble says sixth is soft but rule is hard — verified NOT an issue. The new 'Blast radius named' rule is correctly placed under **Hard:** (line 105). Counting: 1. Success Criteria defined, 2. Subtasks reach goal, 3. E2E verify present, 4. Subtask-goal alignment, 5. Blast radius named — all five hard. KISS ceiling is the sixth (soft). Preamble 'first five hard, sixth soft' is accurate.",
    "security: rule text specificity — confirmed adequate. Rule explicitly requires naming the external system AND the account written to, with a concrete example ('pushes docker.io/bborbe/<img> under the bborbe Docker Hub account'). The observed incident (publish-on-tag CI shipped Docker Hub push without owner awareness, costing two reversal PRs) is cited as motivation and correctly frames the failure mode."
  ]
}

@bborbe
bborbe merged commit d771a78 into master Aug 28, 2026
2 checks passed
@bborbe
bborbe deleted the feat/plan-task-blast-radius branch August 28, 2026 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant