원클릭으로
empirical-collapse
Use when selecting the surviving branch on verifier evidence after collision.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when selecting the surviving branch on verifier evidence after collision.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when attacking branches to find what the verifier cannot catch.
Use when flagging branch conviction or calibrating instinct against outcomes.
Use when budgeting, routing, and scaling a run to fit the ask.
Use when recording dead branches so future runs avoid re-litigating them.
Use when isolating branches in git worktrees and reconciling the survivor.
Use when verifying a branch with any stack's real test toolchain.
| name | empirical-collapse |
| description | Use when selecting the surviving branch on verifier evidence after collision. |
Collapse converges the superposition onto one survivor using evidence only. The rule
is deliberately boring: verification gates, findings rank, conviction never enters.
The engine (pqa.collapse.select_survivor) is canonical; the judge mirrors it and
surfaces the reasoning — when they disagree, the engine wins and the disagreement goes
in the report.
(findings_resolved desc, coverage desc, non-incremental first).The final tie-break toward the less incremental branch is the quantum jump: when the evidence is equal, take the bigger defensible swing.
pqa-collapse-judge (model fable) receives
the N digests, the findings JSON, and the verifier results — never raw code.
P-relativize is judgment over evidence, and the evidence here is structured;
"let me read the code to get a feel" is the eloquence reflex in a lab coat.BranchResult(name, verified, has_tests, coverage, findings_resolved, findings_total, conviction, incremental) per branch and run select_survivor.
The invariant gate (scripts/check_invariant.py) statically forbids conviction
from entering _rank_key — that is the one rule that cannot break, enforced in CI.verified (94% coverage) /
passes-but-thinly-tested (40% coverage) / verified (coverage unmeasured) /
UNVERIFIED — no test suite. Coverage is a confidence qualifier, never a victory
lap.from pqa.collapse import BranchResult, select_survivor
results = [
BranchResult("b0", verified=True, has_tests=True, coverage=91.0,
findings_resolved=1, findings_total=2, conviction=None,
incremental=True),
BranchResult("b1", verified=True, has_tests=True, coverage=84.0,
findings_resolved=3, findings_total=3, conviction="high",
incremental=False),
BranchResult("b2", verified=False, has_tests=True, coverage=None,
findings_resolved=2, findings_total=4, conviction=None,
incremental=False),
]
outcome = select_survivor(results)
# b2 is out (failed verification). b1 beats b0 on findings_resolved (3 > 1) —
# coverage is never consulted, and conviction was never consulted at all.
# outcome.survivor.name == "b1"; outcome.confidence == "verified (84% coverage)"
Had b0 also resolved 3 findings, the tie would fall to coverage and b0's 91% would beat b1's 84% — the non-incremental bit breaks only full ties, last. Walk the tuple in order; never improvise the ranking.