Extracted from tangle-network/agent-runtime#694 (final ledger there). The ./multishot loop core (runMultishot + the loop inside runMultishotMatrix) is ruled subsumed by runGraph with the production caller brain. Deletion is gated on consumer migration, and the gate is measured, not assumed.
Aliveness census (2026-08-16, deletion scope = zero)
| surface |
evidence |
gtm-agent origin/master |
5 files import @tangle-network/agent-eval/multishot; runMultishot at eval/matrix/multishot.ts:9; runMultishotMatrix at eval/matrix/matrix.ts:30 (called in runMatrixPass) |
tax-agent origin/main |
3 files; runMultishot called at tests/eval/multishot.ts:286 |
| npm dependents (tarball-grep dist) |
agent-runtime 0.135.0 + 0.135.2, agent-app 0.45.60, sandbox-ui 0.103.1, agent-knowledge 8.0.1 — 0 hits for agent-eval/multishot |
The gate — all three must land first
- tangle-network/gtm-agent#897 — both gtm loop call sites onto
runGraph (built, parity 4/4 deep-equal vs runMultishot, sound-with-nits audit; held on the runtime 0.135.3 keystone, agent-runtime#873).
- tangle-network/tax-agent#486 — the tax migration (open).
- The gtm
runMultishotMatrix follow-up — by #897's own scope the matrix path stays loop-backed after it merges.
Execution rules when the gate opens
- Re-run the census above (default-branch greps + tarball-grep of every npm dependent) before removing any export.
- Eval-layer parts (judges, matrix composites, types, router helpers) relocate with import specifiers preserved; only the loop core deletes.
MultishotDriverEmptyError becomes an edge-ledger empty event per the #694 ruling.
- Full suite +
verify:package; changelog; release; watch npm and PyPI.
Extracted from tangle-network/agent-runtime#694 (final ledger there). The
./multishotloop core (runMultishot+ the loop insiderunMultishotMatrix) is ruled subsumed byrunGraphwith the production caller brain. Deletion is gated on consumer migration, and the gate is measured, not assumed.Aliveness census (2026-08-16, deletion scope = zero)
origin/master@tangle-network/agent-eval/multishot;runMultishotateval/matrix/multishot.ts:9;runMultishotMatrixateval/matrix/matrix.ts:30(called inrunMatrixPass)origin/mainrunMultishotcalled attests/eval/multishot.ts:286agent-eval/multishotThe gate — all three must land first
runGraph(built, parity 4/4 deep-equal vsrunMultishot, sound-with-nits audit; held on the runtime 0.135.3 keystone, agent-runtime#873).runMultishotMatrixfollow-up — by #897's own scope the matrix path stays loop-backed after it merges.Execution rules when the gate opens
MultishotDriverEmptyErrorbecomes an edge-ledgeremptyevent per the #694 ruling.verify:package; changelog; release; watch npm and PyPI.