一键导入
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.