pr-preflight
Run convergent independent review lanes before ThreatForge owner validation
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Run convergent independent review lanes before ThreatForge owner validation
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Select the next executable AUTO ThreatForge issue
Shape one ThreatForge issue and populate Project 2 metadata without coding
Compatibility alias for implementing a settled ThreatForge bug issue
Orchestrate one settled ThreatForge issue through verification and preflight
Re-derive and repair the ThreatForge GitHub board after roadmap or code drift
Produce a read-only maintainer briefing from ThreatForge Project 2
| name | pr-preflight |
| description | Run convergent independent review lanes before ThreatForge owner validation |
Run on a complete local diff or, after explicit PR-creation authorization, a draft PR. The issue
has been In progress since it was claimed, and preflight does not move it.
MUTATING runs alone. Nothing else runs while it holds the tree,
including you, and it may only be dispatched against a clean tree at a known commitpr-reviewerslop-auditorsecurity-auditor for security/trust-boundary lanesthreat-model-expert for .thf, STRIDE, or threat-quality lanesthreat-model-expert has no shell, so give it the commit yourself and expect that back —
a lane cannot attest a state it has no way to read.Preflight changes no board state. It is not owner validation and cannot approve or merge the PR.
Lanes share one checkout. A lane that reverts a line to prove a test catches it is doing the
right thing, but a second lane running the suite in that window sees the first lane's breakage
and reports it as a defect — with a line number, a mechanism and a fix, all fabricated. The
inverse is worse: a half-applied mutation can make a suite look green to another lane, and a
false clearance is not visibly wrong. This happened on #233; see the recognition log in
docs/quality/agentic-slop.md.
Serialization is the mechanism, because a git worktree per lane starts with no node_modules
and nothing here runs vitest without one — an npm ci per lane per round, or a shared store
that recouples the lanes. Build that only if lane wall-clock ever dominates.
pr-reviewer, slop-auditor and security-auditor each carry a ## Tree hygiene section
stating what they owe you. Those sections are byte-identical from the heading to end of file, on
purpose, so drift between them is greppable. Enforcing them is your job, not theirs:
MUTATING lane only against a clean tree at a known commit. That precondition is
what makes its restoration checkable: git status --porcelain reports paths and status, not
contents, so it can only confirm a restore when the state it is confirming a return to is
empty. On a tree that was already dirty it cannot tell a restored file from a differently
broken one. Committing first is the way there, and committing needs authorization you may not
have — when you cannot commit, every lane is read-only. That costs mutation proofs for one
round. It costs nothing you can lose.MUTATING lane entered on a clean
commit, so git checkout -- . && git clean -fd returns it there — including the untracked
scratch a bare reset would leave behind to fail the next lane's precondition. Confirm
git status --porcelain is empty before re-dispatching. A read-only lane that dirtied the
tree anyway is a different problem: it may have written over uncommitted work that was never
yours, so stop and look rather than resetting.