You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After its audit, a Security run tries to reproduce each recorded Security finding, one session at a time, in a throwaway worktree detached at the audited commit.
The reproduction Session prompt carries the finding, read from its record. It asks the session to:
write a proof-of-concept test from the finding's validation plan, and run it against the untouched code, with harmless payloads only, never against a deployed site or a real third-party service;
if the test reproduces the finding, score its severity with the skill's own likelihood-and-impact rubric, and judge whether one session can hold the fix;
write the test's text to a file thirdshift names;
end on a final line: reproduced, with the severity and the size, or not reproduced.
thirdshift writes the outcome onto the record: the severity (the advisory's severity field, or a line in a private issue's body), the reproduction notes, and the test. An unreproduced finding keeps no severity.
Acceptance criteria
After an audit, each recorded finding gets one reproduction session, in order, each in a fresh throwaway worktree.
The prompt carries the finding and the rules above, and the Factory skills are linked into the worktree.
A reproduced finding's record gets its severity, the reproduction notes and the test. An unreproduced one gets the notes and no severity.
On a private repository, the outcome is written into the finding issue's body.
Progress lines name each reproduction and its outcome.
A session that ends without its final line leaves the record as it was, and the run's cause says so.
Activity
Route fake GitHub updates by endpoint rather than body URLs (#542)
Merge origin/issue-427 into issue-542
JacobStephens2 commentedon Oct 8, 2026
Closed by #566, merged into issue-427 by a thirdshift Merge run.