Repository navigation
feat(skills): add adversarial-review and gate issue-ship on it - #248
Merged
Merged
Conversation
adversarial-review extracts the claims a diff, PR body, or subagent report makes and routes each to its decisive check: skeptic agents in parallel for behavior, verify-doc-claims for docs, break-one-condition in a throwaway worktree for tests, before/after enumeration for counts. It returns a verdict table ending in ADVERSARIAL: PASS|FAIL. issue-ship runs it after implementation and never opens the PR on FAIL. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Owner
Author
Test results
Not covered
|
Stated claims are chosen by the author, so the author's blind spots never reach the table. Step 1b switches stance to "how do I break this", derives implicit claims from five angles (trust boundary, error paths, ordering, touched callers, removal), and routes them through the same checks under the same skeptic cap. Hypotheticals that never ran stay rows without evidence and do not count against the change. Security attack surface is handed to pentest-parallel-prs. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A skill that tries to refute what a change claims about itself, and an issue-ship gate that refuses to open a PR until it passes.
skills/adversarial-review/SKILL.md| claim | source | kind |, derive the implicit claims an attacker would test (Step 1b), route by kind, adjudicate, emitADVERSARIAL: PASSorFAIL (n refuted, m unverifiable)skills/issue-ship/SKILL.mdFAILsends refuted claims and evidence to a freshimplementerdispatch; Step 5 never starts onFAILRouting by claim kind — existing pieces do the checking, the skill only orchestrates:
skepticagent per claim, parallel, cap 6 by blast radiusverify-doc-claimson the touched md files, table taken as-isSubagent verdicts stay hypotheses: a
REFUTEDis accepted only after the main session opens the cited evidence.Step 1b (second commit; the third only unwraps the description onto one line) adds the attacker stance: stated claims are chosen by the author, so the author's blind spots never reach the table. Five angles — trust boundary, error paths, ordering, touched callers, removal — each become an implicit claim with
source: implicitand ride the same routing under the same skeptic cap. A hypothetical that never ran is a row without evidence and does not count against the change. Security attack surface stays withpentest-parallel-prs.Design choices
testclaims runs in the main session in agit worktree addthrowaway, becauseskepticis read-only. Alternative was marking such claims UNVERIFIABLE.workflow.md's ~10K-token spawn cost, not measured.context-diet/scripts/measure.py) before commit; routing detail lives in the body.Not in this PR
Behavioral verification of the skill (a run through
empirical-prompt-tuning, or an end-to-end issue-ship pass).just testcovers format and lint only.🤖 Generated with Claude Code