sneakoscope 4.8.7 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/README.md +51 -726
  2. package/config/bench-baseline.json +7 -0
  3. package/crates/sks-core/Cargo.lock +1 -1
  4. package/crates/sks-core/Cargo.toml +1 -1
  5. package/crates/sks-core/src/main.rs +1 -1
  6. package/dist/bin/install.js +35 -0
  7. package/dist/bin/sks.js +1 -1
  8. package/dist/cli/cli-theme.js +51 -0
  9. package/dist/cli/command-registry.js +15 -4
  10. package/dist/cli/help-fast.js +18 -8
  11. package/dist/cli/insane-search-command.js +36 -8
  12. package/dist/cli/install-helpers.js +32 -0
  13. package/dist/commands/codex-lb.js +2 -0
  14. package/dist/commands/doctor.js +94 -9
  15. package/dist/commands/proof.js +6 -3
  16. package/dist/config/skills-manifest.json +82 -54
  17. package/dist/core/agents/agent-conflict-graph.js +5 -0
  18. package/dist/core/agents/agent-lease.js +5 -0
  19. package/dist/core/agents/agent-ledger-schemas.js +1 -0
  20. package/dist/core/agents/agent-lifecycle.js +5 -3
  21. package/dist/core/agents/agent-orchestrator.js +268 -62
  22. package/dist/core/agents/agent-output-validator.js +14 -3
  23. package/dist/core/agents/agent-patch-queue-store.js +95 -2
  24. package/dist/core/agents/agent-patch-queue.js +6 -3
  25. package/dist/core/agents/agent-patch-schema.js +13 -0
  26. package/dist/core/agents/agent-proof-evidence.js +6 -1
  27. package/dist/core/agents/agent-runner-fake.js +40 -0
  28. package/dist/core/agents/agent-worker-pipeline.js +36 -2
  29. package/dist/core/agents/codex-exec-worker-adapter.js +2 -0
  30. package/dist/core/agents/native-cli-worker.js +0 -1
  31. package/dist/core/agents/native-worker-backend-router.js +58 -1
  32. package/dist/core/codex-app/sks-menubar.js +477 -132
  33. package/dist/core/codex-app.js +1 -0
  34. package/dist/core/codex-control/codex-sdk-config-policy.js +2 -1
  35. package/dist/core/codex-control/codex-sdk-env-policy.js +1 -1
  36. package/dist/core/codex-control/schemas/agent-worker-result.schema.js +12 -3
  37. package/dist/core/codex-hooks/codex-hook-managed-install.js +5 -0
  38. package/dist/core/codex-hooks/codex-hook-state-writer.js +70 -11
  39. package/dist/core/codex-hooks/codex-hook-trust-doctor.js +2 -2
  40. package/dist/core/codex-lb/codex-lb-env.js +20 -1
  41. package/dist/core/commands/basic-cli.js +18 -1
  42. package/dist/core/commands/check-command.js +37 -5
  43. package/dist/core/commands/computer-use-command.js +62 -7
  44. package/dist/core/commands/db-command.js +31 -5
  45. package/dist/core/commands/fast-mode-command.js +3 -0
  46. package/dist/core/commands/gate-result-contract.js +43 -0
  47. package/dist/core/commands/gates-command.js +6 -1
  48. package/dist/core/commands/gc-command.js +29 -2
  49. package/dist/core/commands/goal-command.js +9 -2
  50. package/dist/core/commands/gx-command.js +79 -7
  51. package/dist/core/commands/image-ux-review-command.js +188 -13
  52. package/dist/core/commands/mad-db-command.js +85 -176
  53. package/dist/core/commands/mad-sks-command.js +230 -29
  54. package/dist/core/commands/menubar-command.js +24 -2
  55. package/dist/core/commands/naruto-command.js +64 -10
  56. package/dist/core/commands/plan-command.js +76 -0
  57. package/dist/core/commands/ppt-command.js +159 -24
  58. package/dist/core/commands/qa-loop-command.js +6 -2
  59. package/dist/core/commands/release-command.js +55 -2
  60. package/dist/core/commands/research-command.js +1 -1
  61. package/dist/core/commands/review-command.js +217 -0
  62. package/dist/core/commands/route-success-helpers.js +59 -0
  63. package/dist/core/commands/run-command.js +19 -7
  64. package/dist/core/commands/seo-command.js +49 -1
  65. package/dist/core/commands/ui-command.js +161 -0
  66. package/dist/core/commands/uninstall-command.js +15 -1
  67. package/dist/core/db-safety.js +2 -2
  68. package/dist/core/doctor/doctor-dirty-planner.js +51 -7
  69. package/dist/core/doctor/doctor-transaction.js +8 -0
  70. package/dist/core/doctor/doctor-zellij-repair.js +1 -0
  71. package/dist/core/doctor/imagegen-repair.js +161 -0
  72. package/dist/core/feature-fixture-runner.js +2 -2
  73. package/dist/core/feature-fixtures.js +58 -37
  74. package/dist/core/feature-registry.js +102 -2
  75. package/dist/core/fsx.js +39 -6
  76. package/dist/core/image-ux-review/imagegen-adapter.js +48 -11
  77. package/dist/core/image-ux-review.js +16 -0
  78. package/dist/core/imagegen/imagegen-capability.js +11 -5
  79. package/dist/core/imagegen/require-imagegen.js +57 -0
  80. package/dist/core/init/skills.js +10 -5
  81. package/dist/core/mad-db/mad-db-coordinator.js +94 -18
  82. package/dist/core/mad-db/mad-db-policy.js +12 -10
  83. package/dist/core/mad-sks/executors/executor-base.js +8 -2
  84. package/dist/core/mad-sks/executors/index.js +4 -0
  85. package/dist/core/mad-sks/executors/sql-plane-executor.js +194 -0
  86. package/dist/core/naruto/naruto-active-pool.js +15 -4
  87. package/dist/core/naruto/naruto-real-worker-child.js +11 -1
  88. package/dist/core/naruto/naruto-role-policy.js +3 -0
  89. package/dist/core/naruto/naruto-task-hints.js +10 -0
  90. package/dist/core/naruto/naruto-work-graph.js +8 -2
  91. package/dist/core/naruto/naruto-work-item.js +6 -0
  92. package/dist/core/naruto/solution-tournament.js +101 -0
  93. package/dist/core/permission-gates.js +30 -0
  94. package/dist/core/pipeline-internals/runtime-core.js +11 -3
  95. package/dist/core/pipeline-internals/runtime-gates.js +27 -0
  96. package/dist/core/ppt-review/index.js +6 -1
  97. package/dist/core/ppt-review/slide-imagegen-review.js +75 -10
  98. package/dist/core/ppt.js +70 -2
  99. package/dist/core/proof/auto-finalize.js +70 -11
  100. package/dist/core/proof/proof-schema.js +2 -0
  101. package/dist/core/proof/route-adapter.js +5 -1
  102. package/dist/core/proof/route-finalizer.js +8 -5
  103. package/dist/core/proof/selftest-proof-fixtures.js +18 -5
  104. package/dist/core/proof/validation.js +2 -0
  105. package/dist/core/provider/model-router.js +53 -0
  106. package/dist/core/release/release-gate-node.js +3 -0
  107. package/dist/core/release/release-gate-resource-governor.js +1 -0
  108. package/dist/core/routes/constants.js +1 -1
  109. package/dist/core/routes.js +65 -18
  110. package/dist/core/safety/mutation-guard.js +5 -1
  111. package/dist/core/stop-gate/gate-evaluator.js +102 -0
  112. package/dist/core/stop-gate/stop-gate-check.js +16 -1
  113. package/dist/core/stop-gate/stop-gate-writer.js +4 -0
  114. package/dist/core/triwiki/agents-md-projector.js +184 -0
  115. package/dist/core/triwiki-wrongness/wrongness-schema.js +3 -1
  116. package/dist/core/trust-kernel/trust-kernel-schema.js +1 -0
  117. package/dist/core/trust-kernel/trust-report.js +1 -1
  118. package/dist/core/trust-kernel/trust-status.js +2 -0
  119. package/dist/core/ui/dashboard-html.js +111 -0
  120. package/dist/core/update/update-migration-state.js +386 -15
  121. package/dist/core/update-check.js +178 -81
  122. package/dist/core/verification/diff-quality.js +100 -0
  123. package/dist/core/verification/impact-scan.js +164 -0
  124. package/dist/core/verification/machine-feedback.js +146 -0
  125. package/dist/core/verification/mistake-rule-compiler.js +195 -0
  126. package/dist/core/version.js +1 -1
  127. package/dist/core/zellij/zellij-self-heal.js +9 -6
  128. package/dist/core/zellij/zellij-slot-telemetry.js +1 -1
  129. package/dist/scripts/check-feature-quality.js +2 -2
  130. package/dist/scripts/cli-output-consistency-check.js +57 -0
  131. package/dist/scripts/coding-bench-check.js +136 -0
  132. package/dist/scripts/doctor-imagegen-repair-check.js +62 -0
  133. package/dist/scripts/ensure-bin-executable.js +11 -3
  134. package/dist/scripts/harness-benchmark-check.js +104 -0
  135. package/dist/scripts/legacy-update-e2e-check.js +228 -0
  136. package/dist/scripts/mad-db-command-check.js +11 -8
  137. package/dist/scripts/mad-db-route-identity-check.js +8 -6
  138. package/dist/scripts/mad-db-safety-conflict-matrix-check.js +31 -8
  139. package/dist/scripts/mad-db-skill-policy-snapshot-check.js +4 -5
  140. package/dist/scripts/naruto-real-active-pool-runtime-check.js +26 -1
  141. package/dist/scripts/ppt-real-imagegen-wiring-check.js +5 -1
  142. package/dist/scripts/proof-root-cause-policy-check.js +2 -0
  143. package/dist/scripts/release-dag-full-coverage-check.js +13 -4
  144. package/dist/scripts/release-gate-dag-runner.js +14 -0
  145. package/dist/scripts/release-gate-existence-audit.js +2 -1
  146. package/dist/scripts/release-gate-planner.js +2 -1
  147. package/dist/scripts/release-gate-script-parity-check.js +45 -17
  148. package/dist/scripts/release-metadata-1-19-check.js +2 -1
  149. package/dist/scripts/seo-geo-feature-fixture-quality-check.js +1 -1
  150. package/dist/scripts/sks-1-11-gate-lib.js +8 -6
  151. package/dist/scripts/sks-menubar-install-check.js +57 -20
  152. package/dist/scripts/ux-review-real-loop-fixture-check.js +9 -4
  153. package/dist/scripts/ux-review-run-wires-imagegen-check.js +4 -0
  154. package/dist/scripts/zellij-slot-telemetry-runtime-check.js +1 -0
  155. package/docs/assets/sneakoscope-architecture-pipeline.jpg +0 -0
  156. package/docs/demo.tape +28 -0
  157. package/package.json +31 -24
  158. package/schemas/codex/completion-proof.schema.json +3 -2
  159. package/schemas/release/release-gate-node.schema.json +2 -1
  160. package/dist/scripts/agent-backfill-route-blackbox.js +0 -5
  161. package/dist/scripts/agent-dynamic-pool-route-blackbox.js +0 -5
  162. package/dist/scripts/agent-parallel-write-blackbox.js +0 -56
  163. package/dist/scripts/agent-patch-swarm-route-blackbox.js +0 -10
  164. package/dist/scripts/agent-route-blackbox-lib.js +0 -132
  165. package/dist/scripts/blackbox-command-import-smoke.js +0 -143
  166. package/dist/scripts/blackbox-global-shim.js +0 -77
  167. package/dist/scripts/blackbox-matrix.js +0 -70
  168. package/dist/scripts/blackbox-npx-one-shot.js +0 -69
  169. package/dist/scripts/blackbox-pack-install.js +0 -174
  170. package/dist/scripts/brand-neutrality-zero-leakage-blackbox.js +0 -4
  171. package/dist/scripts/build-once-runner-blackbox.js +0 -34
  172. package/dist/scripts/codex-0140-integration-blackbox.js +0 -13
  173. package/dist/scripts/codex-agent-type-blackbox.js +0 -4
  174. package/dist/scripts/codex-app-harness-blackbox.js +0 -4
  175. package/dist/scripts/codex-app-skill-agent-blackbox.js +0 -4
  176. package/dist/scripts/codex-hook-approval-blackbox.js +0 -4
  177. package/dist/scripts/codex-init-deep-directory-local-blackbox.js +0 -4
  178. package/dist/scripts/codex-native-feature-broker-blackbox.js +0 -4
  179. package/dist/scripts/codex-native-pattern-analysis-blackbox.js +0 -4
  180. package/dist/scripts/codex-native-read-repair-split-blackbox.js +0 -55
  181. package/dist/scripts/codex-native-reference-cache-blackbox.js +0 -41
  182. package/dist/scripts/core-skill-integrity-blackbox.js +0 -32
  183. package/dist/scripts/dfix-fast-blackbox-check.js +0 -37
  184. package/dist/scripts/dfix-parallel-write-blackbox.js +0 -48
  185. package/dist/scripts/dfix-patch-swarm-route-blackbox.js +0 -10
  186. package/dist/scripts/doctor-dirty-repair-blackbox.js +0 -22
  187. package/dist/scripts/doctor-dirty-semantic-blackbox.js +0 -8
  188. package/dist/scripts/doctor-native-capability-repair-blackbox.js +0 -39
  189. package/dist/scripts/doctor-transaction-engine-blackbox.js +0 -28
  190. package/dist/scripts/doctor-zellij-fix-blackbox.js +0 -4
  191. package/dist/scripts/doctor-zellij-no-homebrew-blackbox.js +0 -4
  192. package/dist/scripts/doctor-zellij-upgrade-blackbox.js +0 -4
  193. package/dist/scripts/gate-pack-runner-blackbox.js +0 -27
  194. package/dist/scripts/gate-pack-v2-blackbox.js +0 -18
  195. package/dist/scripts/geo-cli-blackbox-check.js +0 -18
  196. package/dist/scripts/loop-collision-blackbox.js +0 -3
  197. package/dist/scripts/loop-concurrency-oversubscription-blackbox.js +0 -3
  198. package/dist/scripts/loop-fixture-production-misuse-blackbox.js +0 -3
  199. package/dist/scripts/loop-kill-interrupt-real-blackbox.js +0 -3
  200. package/dist/scripts/loop-merge-strategy-blackbox.js +0 -3
  201. package/dist/scripts/loop-mesh-production-e2e-blackbox.js +0 -3
  202. package/dist/scripts/loop-side-effect-blackbox.js +0 -3
  203. package/dist/scripts/mad-db-operation-lifecycle-blackbox.js +0 -29
  204. package/dist/scripts/mad-sks-actual-executor-blackbox.js +0 -5
  205. package/dist/scripts/mad-zellij-headless-fallback-blackbox.js +0 -4
  206. package/dist/scripts/mad-zellij-self-heal-blackbox.js +0 -4
  207. package/dist/scripts/naruto-loop-mesh-blackbox.js +0 -3
  208. package/dist/scripts/naruto-real-parallelism-blackbox.js +0 -307
  209. package/dist/scripts/naruto-worktree-coding-blackbox.js +0 -29
  210. package/dist/scripts/parallel-runtime-real-blackbox.js +0 -44
  211. package/dist/scripts/pipeline-codex-native-doctor-mad-routing-real-blackbox.js +0 -77
  212. package/dist/scripts/pipeline-codex-native-e2e-blackbox.js +0 -13
  213. package/dist/scripts/pipeline-codex-native-image-routing-real-blackbox.js +0 -50
  214. package/dist/scripts/pipeline-codex-native-loop-routing-real-blackbox.js +0 -74
  215. package/dist/scripts/pipeline-codex-native-qa-routing-real-blackbox.js +0 -51
  216. package/dist/scripts/pipeline-codex-native-research-routing-real-blackbox.js +0 -45
  217. package/dist/scripts/pipeline-execution-profile-routing-blackbox.js +0 -4
  218. package/dist/scripts/postinstall-global-doctor-blackbox.js +0 -12
  219. package/dist/scripts/ppt-full-e2e-blackbox-check.js +0 -109
  220. package/dist/scripts/ppt-imagegen-blackbox-check.js +0 -46
  221. package/dist/scripts/qa-backfill-route-blackbox.js +0 -5
  222. package/dist/scripts/qa-patch-swarm-route-blackbox.js +0 -10
  223. package/dist/scripts/release-full-parallelism-blackbox.js +0 -41
  224. package/dist/scripts/release-triwiki-first-runner-blackbox.js +0 -48
  225. package/dist/scripts/release-wiring-3110-blackbox.js +0 -27
  226. package/dist/scripts/release-wiring-3112-blackbox.js +0 -17
  227. package/dist/scripts/release-wiring-3113-blackbox.js +0 -17
  228. package/dist/scripts/research-backfill-route-blackbox.js +0 -5
  229. package/dist/scripts/research-final-reviewer-blackbox.js +0 -70
  230. package/dist/scripts/research-stage-cycle-runtime-blackbox.js +0 -40
  231. package/dist/scripts/research-synthesis-writer-blackbox.js +0 -24
  232. package/dist/scripts/route-blackbox-realism-check.js +0 -21
  233. package/dist/scripts/scheduler-resource-claim-blackbox.js +0 -24
  234. package/dist/scripts/seo-cli-blackbox-check.js +0 -18
  235. package/dist/scripts/sks-3110-all-feature-regression-blackbox.js +0 -116
  236. package/dist/scripts/sks-3112-all-feature-regression-blackbox.js +0 -29
  237. package/dist/scripts/sks-3113-all-feature-regression-blackbox.js +0 -17
  238. package/dist/scripts/sks-400-all-feature-regression-blackbox.js +0 -21
  239. package/dist/scripts/sks-400-extreme-parallel-blackbox.js +0 -8
  240. package/dist/scripts/sks-400-five-minute-blackbox.js +0 -9
  241. package/dist/scripts/sks-400-legacy-purge-blackbox.js +0 -8
  242. package/dist/scripts/sks-401-all-feature-regression-blackbox.js +0 -46
  243. package/dist/scripts/sks-401-five-minute-actual-blackbox.js +0 -23
  244. package/dist/scripts/sks-402-all-feature-regression-blackbox.js +0 -9
  245. package/dist/scripts/sks-402-five-minute-real-blackbox.js +0 -22
  246. package/dist/scripts/sksd-warm-cache-blackbox.js +0 -12
  247. package/dist/scripts/team-backfill-route-blackbox.js +0 -5
  248. package/dist/scripts/team-parallel-write-blackbox.js +0 -55
  249. package/dist/scripts/team-patch-swarm-route-blackbox.js +0 -10
  250. package/dist/scripts/triwiki-affected-graph-blackbox.js +0 -28
  251. package/dist/scripts/triwiki-proof-bank-blackbox.js +0 -30
  252. package/dist/scripts/triwiki-proof-bank-lock-blackbox.js +0 -7
  253. package/dist/scripts/ux-patch-swarm-route-blackbox.js +0 -10
  254. package/dist/scripts/ux-review-imagegen-blackbox-check.js +0 -67
  255. package/dist/scripts/zellij-initial-main-only-blackbox.js +0 -28
  256. package/dist/scripts/zellij-pane-lock-concurrency-blackbox.js +0 -80
  257. package/dist/scripts/zellij-pane-lock-open-worker-integration-blackbox.js +0 -137
  258. package/dist/scripts/zellij-self-heal-typed-blackbox.js +0 -4
  259. package/dist/scripts/zellij-slot-telemetry-real-blackbox.js +0 -20
  260. package/dist/scripts/zellij-stacked-fallback-integration-blackbox.js +0 -81
  261. package/dist/scripts/zellij-worker-pane-real-ui-blackbox.js +0 -202
@@ -1,39 +1,39 @@
1
1
  {
2
2
  "schema": "sks.skills-manifest.v1",
3
- "package_version": "4.8.7",
3
+ "package_version": "5.3.0",
4
4
  "skills": [
5
5
  {
6
6
  "canonical_name": "answer",
7
7
  "type": "official",
8
- "content_sha256": "eb501fbc70c0ba8fd6df6abcbe5cda0bc39693e0f0abc6c8867f4ef441fa793d",
8
+ "content_sha256": "8fb94d033bf880b1e8f540cfa09501bf4771dff6e86506f16fa1d61c6af0bf3c",
9
9
  "hash_history": [],
10
10
  "deprecated_aliases": []
11
11
  },
12
12
  {
13
13
  "canonical_name": "autoresearch",
14
14
  "type": "official",
15
- "content_sha256": "1250cf46bc3fa1c66c4b5a44315631848a4ef5c326ad194aca0f964d274ffcf8",
15
+ "content_sha256": "dc78db2b05574b9d773082dc238e1ff8cd8e381d7cd3439a832cd3d1a5e0e00b",
16
16
  "hash_history": [],
17
17
  "deprecated_aliases": []
18
18
  },
19
19
  {
20
20
  "canonical_name": "autoresearch-loop",
21
21
  "type": "official",
22
- "content_sha256": "2baab5c1b25d265494981303ae4c33715dc27154f64662badf447a7d88f1117f",
22
+ "content_sha256": "9e9f3c384787e9c91996070045ccb28ede99780d34ccddff659b365f572ba367",
23
23
  "hash_history": [],
24
24
  "deprecated_aliases": []
25
25
  },
26
26
  {
27
27
  "canonical_name": "commit",
28
28
  "type": "official",
29
- "content_sha256": "aa6a9593461eba7abd11b8c9bc035d9a1d496f1798fb013ec09288777d1f3c43",
29
+ "content_sha256": "19f10169140db99b723f52a397ae7a48ed40644b49b7fc69645a55255684e531",
30
30
  "hash_history": [],
31
31
  "deprecated_aliases": []
32
32
  },
33
33
  {
34
34
  "canonical_name": "commit-and-push",
35
35
  "type": "official",
36
- "content_sha256": "7866ccc825979a7a501f905485c91b10d73f646292b5d5fd07111928afe324fa",
36
+ "content_sha256": "d415de7b324ee2d9420c43e3c98f28564f7a3a3b0e4c87075ee26148c892ca78",
37
37
  "hash_history": [],
38
38
  "deprecated_aliases": []
39
39
  },
@@ -47,56 +47,56 @@
47
47
  {
48
48
  "canonical_name": "computer-use-fast",
49
49
  "type": "official",
50
- "content_sha256": "7d7dd5da1b4e7e673183f736dc0b9adf1b3235d18dfa17dc616e2e5a3f77429f",
50
+ "content_sha256": "ceef5a743f1b02808e3767688e93a29d6b90a3dc205606e55ef9d2ea429e6433",
51
51
  "hash_history": [],
52
52
  "deprecated_aliases": []
53
53
  },
54
54
  {
55
55
  "canonical_name": "context7-docs",
56
56
  "type": "official",
57
- "content_sha256": "bac43a8e4c8fd76b994e7af28b0ce2d56306dcaac72136328ebb3514b988bbbd",
57
+ "content_sha256": "b77c6144104e5fd8b6326f4982911089647de56f6c8183ec12c06fe94f67a695",
58
58
  "hash_history": [],
59
59
  "deprecated_aliases": []
60
60
  },
61
61
  {
62
62
  "canonical_name": "cu",
63
63
  "type": "official",
64
- "content_sha256": "96bb1df88ff15a94e91d903d2eac5bf0ffd49d8f6365d71818cd4ffa8c936b3f",
64
+ "content_sha256": "518be0a2560228b7fcb9ce6b9d616bb8ba4f8b39bc1dd5bbb413b5040534d0ed",
65
65
  "hash_history": [],
66
66
  "deprecated_aliases": []
67
67
  },
68
68
  {
69
69
  "canonical_name": "db",
70
70
  "type": "official",
71
- "content_sha256": "b3e208167c5a01b4e88f8ac2026dbdf3d8a9f7976fe5bb1aabc60b5035da8278",
71
+ "content_sha256": "b8cd51795c678eabea6c8d9152e51945405a564b5c1c7086050cb9e23f612f05",
72
72
  "hash_history": [],
73
73
  "deprecated_aliases": []
74
74
  },
75
75
  {
76
76
  "canonical_name": "db-safety-guard",
77
77
  "type": "official",
78
- "content_sha256": "49eef27e8c37732660a5ebe26b47a84e7e7cc685917b0acbdf7eb3a94e366887",
78
+ "content_sha256": "d895a36fa408722ca3a126e000f15031fa61f3781110b23ec4436b7347a8c526",
79
79
  "hash_history": [],
80
80
  "deprecated_aliases": []
81
81
  },
82
82
  {
83
83
  "canonical_name": "design-artifact-expert",
84
84
  "type": "official",
85
- "content_sha256": "5c023adcb40a555b4698179945c3b79322719d6dc3369a0947a261d31b751db0",
85
+ "content_sha256": "1566047ca39b11c2a175db7f1225fd9cff45a87717e3c8da7ffc47ef2f9cac96",
86
86
  "hash_history": [],
87
87
  "deprecated_aliases": []
88
88
  },
89
89
  {
90
90
  "canonical_name": "design-system-builder",
91
91
  "type": "official",
92
- "content_sha256": "bec2bddc9009a670de33df3787103c8f8206f5a17070b8cb64bbab184fba2053",
92
+ "content_sha256": "2a509459e3434543d66df8549e26bfc22b1e2f7da3c718ddf302966a5fa9562a",
93
93
  "hash_history": [],
94
94
  "deprecated_aliases": []
95
95
  },
96
96
  {
97
97
  "canonical_name": "design-ui-editor",
98
98
  "type": "official",
99
- "content_sha256": "6c3fe7738cd62378ab33aeac103f372d8e0726288e42a9ce1d2cf2caa0ace1f3",
99
+ "content_sha256": "4881236c6fbf9343248021411dd476a004c3be204cf6cea8f216ee5aead8f04f",
100
100
  "hash_history": [],
101
101
  "deprecated_aliases": []
102
102
  },
@@ -110,98 +110,98 @@
110
110
  {
111
111
  "canonical_name": "fast-mode",
112
112
  "type": "official",
113
- "content_sha256": "97f152b5575d7b0e24d321d79ec6fe498e60abce562d388ccd45d31732746be5",
113
+ "content_sha256": "c4fd8f70ef34cb2569e5258baaa361e86ad24f3b0c0b11b5f52fbdafd739aea6",
114
114
  "hash_history": [],
115
115
  "deprecated_aliases": []
116
116
  },
117
117
  {
118
118
  "canonical_name": "fast-off",
119
119
  "type": "official",
120
- "content_sha256": "509362aa713498cf0d8c10c8b5c7b7a70b29d78da5dc2fa265d66071e7478115",
120
+ "content_sha256": "de6c190f2e91783a571f28458f1e5d4c53b7d4d8aad9c3e8d35713f154bdea02",
121
121
  "hash_history": [],
122
122
  "deprecated_aliases": []
123
123
  },
124
124
  {
125
125
  "canonical_name": "fast-on",
126
126
  "type": "official",
127
- "content_sha256": "f02f7c8fe1e766ed6c341d059e1ce469a8e5032438bd8381affcdbe4d6d90dde",
127
+ "content_sha256": "a6f94a0ba22f14803022742418de0a1d2643ad2d775a71b319f48dd438b47924",
128
128
  "hash_history": [],
129
129
  "deprecated_aliases": []
130
130
  },
131
131
  {
132
132
  "canonical_name": "from-chat-img",
133
133
  "type": "official",
134
- "content_sha256": "8cef38c9f7c97b31378cd626d8fa43a05cfc29cdb62ec6a0bcd77595f7ca8015",
134
+ "content_sha256": "18125b5245f503c961f61b1f0447ff78754aed4e0e78a82b70699a9319a76c02",
135
135
  "hash_history": [],
136
136
  "deprecated_aliases": []
137
137
  },
138
138
  {
139
139
  "canonical_name": "getdesign-reference",
140
140
  "type": "official",
141
- "content_sha256": "a86adcfbe2e031b7dd438506efba4ebccd98fba4b9a70392fccdfcb118d19116",
141
+ "content_sha256": "eda3653a91e4553b5bd3813b97fe0997b3f9039aa9318d5433a48aafa0077ee2",
142
142
  "hash_history": [],
143
143
  "deprecated_aliases": []
144
144
  },
145
145
  {
146
146
  "canonical_name": "goal",
147
147
  "type": "official",
148
- "content_sha256": "35456da6a929270f9df8c54a351bf0a2a867a9b903cc3918cb2e40a040d60ca6",
148
+ "content_sha256": "ba8a1817705d7b87ce597c8e8574146f9ab7faa1c4a4adcba0d4dafcbd68bfb9",
149
149
  "hash_history": [],
150
150
  "deprecated_aliases": []
151
151
  },
152
152
  {
153
153
  "canonical_name": "gx",
154
154
  "type": "official",
155
- "content_sha256": "f5e16f2e0c8000ed9672af28090608688a72e983304451f2f13a4c70a4a21d53",
155
+ "content_sha256": "789745db0181420075a6a3969cdf0fa2baf45db69877b075c7584ced0d73f059",
156
156
  "hash_history": [],
157
157
  "deprecated_aliases": []
158
158
  },
159
159
  {
160
160
  "canonical_name": "gx-visual-generate",
161
161
  "type": "official",
162
- "content_sha256": "15d184b6b1fe61706764568868709b912024ab8ad0e416fbaeaa480e3182c1f9",
162
+ "content_sha256": "fd70574e33809aac5ee4e31f3cc1f29bb253c4716712dd61314e82cf96c24b67",
163
163
  "hash_history": [],
164
164
  "deprecated_aliases": []
165
165
  },
166
166
  {
167
167
  "canonical_name": "gx-visual-read",
168
168
  "type": "official",
169
- "content_sha256": "99878b9fa667228676dc2d3b0f53ecdda8c62df94684697ad53f96699d95d5bc",
169
+ "content_sha256": "c0f0887544d29c2fcb436cbfb5ef681e70443cd775f1697e2b3dca9e746cd4d9",
170
170
  "hash_history": [],
171
171
  "deprecated_aliases": []
172
172
  },
173
173
  {
174
174
  "canonical_name": "gx-visual-validate",
175
175
  "type": "official",
176
- "content_sha256": "8a095b1d2212ac197a7912ebc64653d5f8cb3872d9bb4b5e525814ba7158ee96",
176
+ "content_sha256": "8cd1fbf4cedbcad60e612376ba8d82e75df3950eeeec591cb975f590d706282e",
177
177
  "hash_history": [],
178
178
  "deprecated_aliases": []
179
179
  },
180
180
  {
181
181
  "canonical_name": "help",
182
182
  "type": "official",
183
- "content_sha256": "5bb21aef1078642511505a5cdc02f6a631767201255eaba3c721ca3530c47e54",
183
+ "content_sha256": "e222cc7d3c190572ee51fd353d917e34a6395c9f7e4d4a06706140fca2f96508",
184
184
  "hash_history": [],
185
185
  "deprecated_aliases": []
186
186
  },
187
187
  {
188
188
  "canonical_name": "honest-mode",
189
189
  "type": "official",
190
- "content_sha256": "506335fe70355dfe1b045ab13e4fb746f49fc7169433ce18fec74b0c04eb987d",
190
+ "content_sha256": "298461b2ecb1a2c53fad3c06809a18a3416b26278300c8f248a4ddd58d2622b4",
191
191
  "hash_history": [],
192
192
  "deprecated_aliases": []
193
193
  },
194
194
  {
195
195
  "canonical_name": "hproof-claim-ledger",
196
196
  "type": "official",
197
- "content_sha256": "837743afc2f559fbd294cf916b73f68d907f3bcc275c9d340342c9e876da238d",
197
+ "content_sha256": "c4c5a3c352129a00a6960d13d66fea83abba066334f054d661c8c1f6414a1a2f",
198
198
  "hash_history": [],
199
199
  "deprecated_aliases": []
200
200
  },
201
201
  {
202
202
  "canonical_name": "hproof-evidence-bind",
203
203
  "type": "official",
204
- "content_sha256": "0ad34819b743ba3644d851c37b0a964b7aa19b3b8f79107f271f0a75b37f69a2",
204
+ "content_sha256": "281b051a4aefdfd8c7a0536f31968b5a270f47741076334e39623b82f4e4f425",
205
205
  "hash_history": [],
206
206
  "deprecated_aliases": []
207
207
  },
@@ -215,14 +215,14 @@
215
215
  {
216
216
  "canonical_name": "imagegen",
217
217
  "type": "official",
218
- "content_sha256": "e8bdd4695a6e716ccfe19ed591d03710aaf0c8e1529196d3fd6c2fd2b84c8de1",
218
+ "content_sha256": "3e70f340abb3c7a7bf782e755341f269510e89e0cb3cd5352659d0da49920650",
219
219
  "hash_history": [],
220
220
  "deprecated_aliases": []
221
221
  },
222
222
  {
223
223
  "canonical_name": "imagegen-source-scout",
224
224
  "type": "official",
225
- "content_sha256": "9b7b42e64de3c731ed42c85c8188cea0d6b2a074b87e653c953459b13c777a4f",
225
+ "content_sha256": "6b82a03af455b2243595946d6d58b63677740a5e2e3b6608505ac8621522421d",
226
226
  "hash_history": [],
227
227
  "deprecated_aliases": []
228
228
  },
@@ -236,14 +236,14 @@
236
236
  {
237
237
  "canonical_name": "insane-search",
238
238
  "type": "official",
239
- "content_sha256": "3589b5961e7683740c4c397e66a9a31222a5ddbfbd52eb85b2036c4892f14347",
239
+ "content_sha256": "ca9f9aae747fbdf5da021a6d8bdeedf9160abe584afe6220f255856dc854485a",
240
240
  "hash_history": [],
241
241
  "deprecated_aliases": []
242
242
  },
243
243
  {
244
244
  "canonical_name": "kage-bunshin",
245
245
  "type": "official",
246
- "content_sha256": "d5c41416021ef9b77752a576a0e7c583b44274abe4d5bb22d3fc0705b5b1ec19",
246
+ "content_sha256": "a42ada9142cb8dceccd8354db2f1261da53f65d9ad7c298b9d8b822f1a21f2d2",
247
247
  "hash_history": [],
248
248
  "deprecated_aliases": []
249
249
  },
@@ -257,14 +257,14 @@
257
257
  {
258
258
  "canonical_name": "mad-db",
259
259
  "type": "official",
260
- "content_sha256": "1f57f8f133688de485d7f1739d19fdf611a7a73d353c58c7f1e402e15b233076",
260
+ "content_sha256": "b6156c0b6d91d6467ee050e0f18061311420951cea3ee6ee4b645ddb3a9e6925",
261
261
  "hash_history": [],
262
262
  "deprecated_aliases": []
263
263
  },
264
264
  {
265
265
  "canonical_name": "mad-sks",
266
266
  "type": "official",
267
- "content_sha256": "26334cc7286c8f289a8a605786231d076d969a0d3e339da5a8ead9a63791694e",
267
+ "content_sha256": "7de828cce693fb944ba344c77daa3ad0550ea266a1ee5db09993a2f5b92d7b03",
268
268
  "hash_history": [],
269
269
  "deprecated_aliases": []
270
270
  },
@@ -280,28 +280,35 @@
280
280
  {
281
281
  "canonical_name": "performance-evaluator",
282
282
  "type": "official",
283
- "content_sha256": "d722992ec4d0660f22e489a90da2810a7830c30f493f0fee0e2d4979252e6f5a",
283
+ "content_sha256": "fba903df67a748a8bb5d009d355f3bb77046ef69d6a8e41a785c3e1d27f8ee8e",
284
284
  "hash_history": [],
285
285
  "deprecated_aliases": []
286
286
  },
287
287
  {
288
288
  "canonical_name": "pipeline-runner",
289
289
  "type": "official",
290
- "content_sha256": "d7d4ceaceabe0903a04a376954747ee9b6c315a73052c951f5470f488c1d6d1d",
290
+ "content_sha256": "16da5d58ccfe460e4edb701d779dc3503797fe7a10c9c60371d34f61c86e9415",
291
+ "hash_history": [],
292
+ "deprecated_aliases": []
293
+ },
294
+ {
295
+ "canonical_name": "plan",
296
+ "type": "official",
297
+ "content_sha256": "0697682a4091ef1033e7fd1d7f2fe0e1515a759bc991103f5c820aca760e06b1",
291
298
  "hash_history": [],
292
299
  "deprecated_aliases": []
293
300
  },
294
301
  {
295
302
  "canonical_name": "ppt",
296
303
  "type": "official",
297
- "content_sha256": "e4c21f41d533f5fc7920a9833e99b9b6e51d62ca682a6d4186a5d5e3b7c88a98",
304
+ "content_sha256": "f1c158cd6ecd865a1f8cfced80a71c5a4faddceb5dac4fad1b50dbbf986eb38a",
298
305
  "hash_history": [],
299
306
  "deprecated_aliases": []
300
307
  },
301
308
  {
302
309
  "canonical_name": "prompt-pipeline",
303
310
  "type": "official",
304
- "content_sha256": "498e88ed0ca59e10db7a2e8835f985254b17a80ae6cfb623a5e747f07a59e1d6",
311
+ "content_sha256": "6b3ea7e0ceb1e1eedd3bcb84e1c20dd44e909a1bb629374badb44e3012aca3cf",
305
312
  "hash_history": [],
306
313
  "deprecated_aliases": []
307
314
  },
@@ -317,21 +324,21 @@
317
324
  {
318
325
  "canonical_name": "reasoning-router",
319
326
  "type": "official",
320
- "content_sha256": "c41ce62468fcccdcc3c2decbf33aed0c524dfe27c31a394064497719aa9b2afa",
327
+ "content_sha256": "f072949bdfbe90c205c6b2a378b627b475b0f91eb0f87c4ce108b463393a3145",
321
328
  "hash_history": [],
322
329
  "deprecated_aliases": []
323
330
  },
324
331
  {
325
332
  "canonical_name": "reflection",
326
333
  "type": "official",
327
- "content_sha256": "4939f70f7378666934c390b421f799eadaa47961654733fbd421a4b4707742a3",
334
+ "content_sha256": "6da524178fe39a14bc255d031de238b00d1d9cb137835e6245cf6b55053be9ce",
328
335
  "hash_history": [],
329
336
  "deprecated_aliases": []
330
337
  },
331
338
  {
332
339
  "canonical_name": "release-review",
333
340
  "type": "official",
334
- "content_sha256": "3d8b36cc9013d29ca2435812f32fa7a3ac1e28170252f0d97d46b7f7a84334b5",
341
+ "content_sha256": "7fa297ffd534f234fe372c69f309cf00574a04b8ce08d5de0b1c2fb772c53b25",
335
342
  "hash_history": [],
336
343
  "deprecated_aliases": []
337
344
  },
@@ -345,7 +352,14 @@
345
352
  {
346
353
  "canonical_name": "research-discovery",
347
354
  "type": "official",
348
- "content_sha256": "6a37e3acaf1801e24ce6b70736993502396cff6e4de99c2182020468a3744850",
355
+ "content_sha256": "93ca61c53792ee0a92dfb20029cecaa12b602eb36609acc18454fa8e6be69631",
356
+ "hash_history": [],
357
+ "deprecated_aliases": []
358
+ },
359
+ {
360
+ "canonical_name": "review",
361
+ "type": "official",
362
+ "content_sha256": "7ec295021e7cc79b21755d2de850bec45e2a76340cdd27593b2f2be9736fb712",
349
363
  "hash_history": [],
350
364
  "deprecated_aliases": []
351
365
  },
@@ -366,14 +380,14 @@
366
380
  {
367
381
  "canonical_name": "shadow-clone",
368
382
  "type": "official",
369
- "content_sha256": "013cac960cbf627e04b5c50ff45e15ed824a2863ed8d2a40bca46f8c688b3f8b",
383
+ "content_sha256": "ab79a05026a369d2c38447dea47a56786b169e4bce97c77ca874c5c51a2a8d80",
370
384
  "hash_history": [],
371
385
  "deprecated_aliases": []
372
386
  },
373
387
  {
374
388
  "canonical_name": "sks",
375
389
  "type": "official",
376
- "content_sha256": "ba939b92845092f0f79a749b964cb54c8514a78305731de633f0aae1594464ff",
390
+ "content_sha256": "bc98347bd71b58f85817a388088b2fe9cecf6838e616dd56163661d1385a6ebe",
377
391
  "hash_history": [],
378
392
  "deprecated_aliases": [
379
393
  "ralph",
@@ -385,14 +399,21 @@
385
399
  {
386
400
  "canonical_name": "solution-scout",
387
401
  "type": "official",
388
- "content_sha256": "35fc6b90f2dae5f07ba9978121a9847c2e6221f6c9f2fa50d9214185a850939f",
402
+ "content_sha256": "a1e8d8844db157b5350570206d3f73d3d6ecdbba47f731a847245c65ca7e6af3",
403
+ "hash_history": [],
404
+ "deprecated_aliases": []
405
+ },
406
+ {
407
+ "canonical_name": "swarm",
408
+ "type": "official",
409
+ "content_sha256": "fc149bacd6c88ec0fb40ab415773a2d8205572f0e8a8b9874273980f8e9cbc7e",
389
410
  "hash_history": [],
390
411
  "deprecated_aliases": []
391
412
  },
392
413
  {
393
414
  "canonical_name": "team",
394
415
  "type": "official",
395
- "content_sha256": "fafb2e51ae9b0f555edb2a940b995162c0b58d0c1ca40998ddce1b9ef3fd5ee2",
416
+ "content_sha256": "f47a4f2ee1f6d7279aee09bcba53b35429c5ccc94249dad228e626931c5d4dad",
396
417
  "hash_history": [],
397
418
  "deprecated_aliases": [
398
419
  "agent-team"
@@ -401,42 +422,42 @@
401
422
  {
402
423
  "canonical_name": "turbo-context-pack",
403
424
  "type": "official",
404
- "content_sha256": "681a9917622120e63e50f13f9f15ea9b1ee24bcda53b56b2995d0670e5a46379",
425
+ "content_sha256": "aa1a80d615b96201eda0cbd1b4976f2466572f50ea91f66e839523c0ea032664",
405
426
  "hash_history": [],
406
427
  "deprecated_aliases": []
407
428
  },
408
429
  {
409
430
  "canonical_name": "ui-ux-review",
410
431
  "type": "official",
411
- "content_sha256": "dcf08b18a2154ddcbec47142454bf0ce2c2585c1d36fc6b8a00d8b5302420eb4",
432
+ "content_sha256": "0a553cac82fe0f565e854f149c2a1301c76c9d01667a8c7dcd4dbc69c963b9c0",
412
433
  "hash_history": [],
413
434
  "deprecated_aliases": []
414
435
  },
415
436
  {
416
437
  "canonical_name": "ultra-search",
417
438
  "type": "official",
418
- "content_sha256": "119a8f2dfcab262a94f95fd3ce5f1d6cc87717052ca3799611df903bd4d14fdf",
439
+ "content_sha256": "15a962db1f90171f64cc3ba9a5c3d669bfe29a95d7f9a9d12d310f67e471db8d",
419
440
  "hash_history": [],
420
441
  "deprecated_aliases": []
421
442
  },
422
443
  {
423
444
  "canonical_name": "ux-review",
424
445
  "type": "official",
425
- "content_sha256": "3cb20729475d9466becde13c10785deb104c743898e6d66536edf15e21022447",
446
+ "content_sha256": "4b13471bf08770621d9551aa576ba68a92e06690f5de6b599d1863a41d726a28",
426
447
  "hash_history": [],
427
448
  "deprecated_aliases": []
428
449
  },
429
450
  {
430
451
  "canonical_name": "visual-review",
431
452
  "type": "official",
432
- "content_sha256": "d7bf165e9d04fc4a19b9bac29e158d0f0b6ee2781061d10860ecec9720c5463b",
453
+ "content_sha256": "f2f7de15bd74684e61d12548c4d37a7aa6e828968ddde2281cd17bfe5da8d937",
433
454
  "hash_history": [],
434
455
  "deprecated_aliases": []
435
456
  },
436
457
  {
437
458
  "canonical_name": "wiki",
438
459
  "type": "official",
439
- "content_sha256": "8257bd01a5439d1ba4518ed62aec06a0b116208774c209913fc82b25208c7c1e",
460
+ "content_sha256": "46d7df7242cea20b94465d92284231099445acf77e07b8e4781eb96740fda2d0",
440
461
  "hash_history": [],
441
462
  "deprecated_aliases": [
442
463
  "wiki-refresh",
@@ -446,14 +467,21 @@
446
467
  {
447
468
  "canonical_name": "with-local-llm-off",
448
469
  "type": "official",
449
- "content_sha256": "f124a2ce9dca73ee39852ae9356ece2734f157e502bfbd4b5ce64fcdfd0410a5",
470
+ "content_sha256": "907c7a14ef2c62d68b847088bda35fb6610936b3f14aa86ef48622c562371e9b",
450
471
  "hash_history": [],
451
472
  "deprecated_aliases": []
452
473
  },
453
474
  {
454
475
  "canonical_name": "with-local-llm-on",
455
476
  "type": "official",
456
- "content_sha256": "e81f97104d432081430d664e1e8ce3ff39ff22639c05a18b054f2b16e7f18d64",
477
+ "content_sha256": "aa5ef3d1a3eaf6f65556f52a65e10d1b769fdb6568e58163c0cfcb3ad11d592e",
478
+ "hash_history": [],
479
+ "deprecated_aliases": []
480
+ },
481
+ {
482
+ "canonical_name": "work",
483
+ "type": "official",
484
+ "content_sha256": "34b4b88e98abb7e3813e6ae4d4c5d92a93e15e55876c270263817a51c7d6932f",
457
485
  "hash_history": [],
458
486
  "deprecated_aliases": []
459
487
  }
@@ -6,6 +6,8 @@ export function buildAgentConflictGraph(leases) {
6
6
  for (let j = i + 1; j < writeLeases.length; j += 1) {
7
7
  const a = writeLeases[i];
8
8
  const b = writeLeases[j];
9
+ if (a && b && a.agent_id !== b.agent_id && sameTournamentGroup(a, b))
10
+ continue;
9
11
  if (a && b && a.agent_id !== b.agent_id && pathOverlaps(a.path, b.path)) {
10
12
  conflicts.push({ a: a.id, b: b.id, path_a: a.path, path_b: b.path, reason: 'overlapping_write_lease' });
11
13
  }
@@ -19,4 +21,7 @@ export function buildAgentConflictGraph(leases) {
19
21
  blockers: conflicts.map((conflict) => conflict.reason + ':' + conflict.path_a + ':' + conflict.path_b)
20
22
  };
21
23
  }
24
+ function sameTournamentGroup(a, b) {
25
+ return Boolean(a.tournament_group_id && b.tournament_group_id && a.tournament_group_id === b.tournament_group_id);
26
+ }
22
27
  //# sourceMappingURL=agent-conflict-graph.js.map
@@ -18,12 +18,17 @@ export function validateAgentLeases(leases) {
18
18
  for (let j = i + 1; j < writeLeases.length; j += 1) {
19
19
  const a = writeLeases[i];
20
20
  const b = writeLeases[j];
21
+ if (a && b && a.agent_id !== b.agent_id && sameTournamentGroup(a, b))
22
+ continue;
21
23
  if (a && b && a.agent_id !== b.agent_id && pathOverlaps(a.path, b.path))
22
24
  blockers.push('write_overlap:' + a.agent_id + ':' + a.path + ':' + b.agent_id + ':' + b.path);
23
25
  }
24
26
  }
25
27
  return { ok: blockers.length === 0, blockers };
26
28
  }
29
+ function sameTournamentGroup(a, b) {
30
+ return Boolean(a.tournament_group_id && b.tournament_group_id && a.tournament_group_id === b.tournament_group_id);
31
+ }
27
32
  export function createAgentLease(input) {
28
33
  const leasePath = normalizeLeasePath(input.path);
29
34
  const lease = {
@@ -104,6 +104,7 @@ export const AGENT_CENTRAL_LEDGER_RUNTIME_SCHEMAS = {
104
104
  route: { type: 'string' },
105
105
  generated_at: { type: 'string' },
106
106
  backend: { type: 'string' },
107
+ execution_class: { enum: ['real', 'mock_fixture'] },
107
108
  real_parallel_claim: { type: 'boolean' },
108
109
  fake_backend_disclaimer: { anyOf: [{ type: 'string' }, { type: 'null' }] },
109
110
  agent_count: { type: 'integer', minimum: 0 },
@@ -110,14 +110,15 @@ export async function killTimedOutAgentSessions(root, now = Date.now(), opts = {
110
110
  const sessionId = session.session_id || session.session_key || session.agent_id;
111
111
  const next = {
112
112
  ...session,
113
- status: 'killed',
113
+ status: 'timed_out',
114
114
  killed_at: new Date(now).toISOString(),
115
+ timed_out_at: new Date(now).toISOString(),
115
116
  closed_at: new Date(now).toISOString(),
116
117
  heartbeat_at: new Date(now).toISOString(),
117
118
  kill_reason: hardTimedOut ? 'hard_timeout' : 'heartbeat_timeout'
118
119
  };
119
120
  await writeSessionRecord(root, next);
120
- await appendAgentLedgerEvent(root, { agent_id: String(session.agent_id || sessionId), session_id: sessionId, event_type: 'session_killed_timeout', payload: { kill_reason: next.kill_reason } });
121
+ await appendAgentLedgerEvent(root, { agent_id: String(session.agent_id || sessionId), session_id: sessionId, event_type: 'session_timed_out', payload: { kill_reason: next.kill_reason } });
121
122
  killed.push(sessionId);
122
123
  }
123
124
  await writeAgentLifecycleAggregate(root);
@@ -126,7 +127,8 @@ export async function killTimedOutAgentSessions(root, now = Date.now(), opts = {
126
127
  generated_at: nowIso(),
127
128
  hard_timeout_ms: hardTimeoutMs,
128
129
  ok: killed.length === 0,
129
- killed_sessions: killed
130
+ killed_sessions: killed,
131
+ timed_out_sessions: killed
130
132
  };
131
133
  await writeJsonAtomic(path.join(root, 'agent-timeout-kill-report.json'), report);
132
134
  return report;