Skip to content

fix: validity never short-circuits triage in remediation doctrine#90

Merged
mathieubellon merged 1 commit into
mainfrom
fix/validity-does-not-skip-triage
Jun 23, 2026
Merged

fix: validity never short-circuits triage in remediation doctrine#90
mathieubellon merged 1 commit into
mainfrom
fix/validity-does-not-skip-triage

Conversation

@mathieubellon

Copy link
Copy Markdown
Collaborator

Problem

An agent driving incident remediation skipped the ownership and blast-radius triage and jumped straight to a generic "rotate it" plan, rationalizing it as: several keys came back valid, so rotation is unconditional regardless of the answers.

That inverts the doctrine. The four triage axes are detection context, exposure, ownership, and blast radius — validity is not one of them. The doctrine said "triage first" and "rotation is necessary but not sufficient," but never named the specific trap: treating a valid result as a substitute for triage. So nothing forbade the shortcut.

Rotation is also not the definitive answer on its own. A valid credential wired into production-critical systems is the most dangerous thing to rotate blind — that is Coordination mode (a supervised, sequenced, dependency-mapped rollout that can take a live system down if rushed), not a fast "just rotate it."

Fix

Doctrine (scan-secrets + triage-incidents, kept structurally diffable):

  • New Principle 7 — "Validity sets urgency, not the plan — it never lets you skip triage."
  • New "Validity does not select a mode" note in section 3 — mode selection runs on ownership x blast radius, never on validity.

Routing layer:

  • triage-incidents SKILL.md: "Triage before action — even for valid incidents."
  • scan-secrets SKILL.md step 3: a valid result does not let you skip triage.

Regression lock-in:

Verification

  • npm test — 11/11 pass
  • evals.json validates

🤖 Generated with Claude Code

A valid finding was being read as license to skip the ownership and
blast-radius triage and jump straight to a generic "rotate it" plan.
That inverts the doctrine: validity sets urgency, not the plan, and a
valid production-critical credential is the most dangerous thing to
rotate blind (Coordination — a supervised, sequenced rollout), not a
fast rotation.

- Add doctrine principle 7 ("Validity sets urgency, not the plan") and a
  "Validity does not select a mode" note to both the scan-secrets and
  triage-incidents remediation doctrines (kept structurally diffable).
- Guard the routing layer: triage-incidents SKILL.md "Triage before
  action — even for valid incidents" and scan-secrets SKILL.md step 3.
- Add triage-incidents eval #4 locking in the valid-keys-do-not-skip-
  triage behavior.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mathieubellon mathieubellon merged commit 4c2b0b7 into main Jun 23, 2026
4 checks passed
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