ワンクリックで
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.