@sema-ai/core 1.275.1

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 (962) hide show
  1. package/CHANGELOG.md +5433 -0
  2. package/LICENSE +27 -0
  3. package/NOTICE.md +30 -0
  4. package/README.md +1040 -0
  5. package/dist/agents/agent-definition.d.ts +10 -0
  6. package/dist/agents/agent-definition.d.ts.map +1 -0
  7. package/dist/agents/agent-definition.js +18 -0
  8. package/dist/agents/agent-definition.js.map +1 -0
  9. package/dist/agents/builtin-agents.d.ts +69 -0
  10. package/dist/agents/builtin-agents.d.ts.map +1 -0
  11. package/dist/agents/builtin-agents.js +177 -0
  12. package/dist/agents/builtin-agents.js.map +1 -0
  13. package/dist/agents/cascade.d.ts +101 -0
  14. package/dist/agents/cascade.d.ts.map +1 -0
  15. package/dist/agents/cascade.js +189 -0
  16. package/dist/agents/cascade.js.map +1 -0
  17. package/dist/agents/observer.d.ts +209 -0
  18. package/dist/agents/observer.d.ts.map +1 -0
  19. package/dist/agents/observer.js +495 -0
  20. package/dist/agents/observer.js.map +1 -0
  21. package/dist/agents/repair-loop.d.ts +236 -0
  22. package/dist/agents/repair-loop.d.ts.map +1 -0
  23. package/dist/agents/repair-loop.js +293 -0
  24. package/dist/agents/repair-loop.js.map +1 -0
  25. package/dist/agents/session-util.d.ts +8 -0
  26. package/dist/agents/session-util.d.ts.map +1 -0
  27. package/dist/agents/session-util.js +9 -0
  28. package/dist/agents/session-util.js.map +1 -0
  29. package/dist/agents/subagent-steps.d.ts +93 -0
  30. package/dist/agents/subagent-steps.d.ts.map +1 -0
  31. package/dist/agents/subagent-steps.js +206 -0
  32. package/dist/agents/subagent-steps.js.map +1 -0
  33. package/dist/agents/subagent.d.ts +441 -0
  34. package/dist/agents/subagent.d.ts.map +1 -0
  35. package/dist/agents/subagent.js +2492 -0
  36. package/dist/agents/subagent.js.map +1 -0
  37. package/dist/agents/suspend-guard.d.ts +35 -0
  38. package/dist/agents/suspend-guard.d.ts.map +1 -0
  39. package/dist/agents/suspend-guard.js +48 -0
  40. package/dist/agents/suspend-guard.js.map +1 -0
  41. package/dist/agents/teacher.d.ts +137 -0
  42. package/dist/agents/teacher.d.ts.map +1 -0
  43. package/dist/agents/teacher.js +575 -0
  44. package/dist/agents/teacher.js.map +1 -0
  45. package/dist/agents/team.d.ts +211 -0
  46. package/dist/agents/team.d.ts.map +1 -0
  47. package/dist/agents/team.js +293 -0
  48. package/dist/agents/team.js.map +1 -0
  49. package/dist/agents/tool-filter.d.ts +29 -0
  50. package/dist/agents/tool-filter.d.ts.map +1 -0
  51. package/dist/agents/tool-filter.js +50 -0
  52. package/dist/agents/tool-filter.js.map +1 -0
  53. package/dist/agents/verify.d.ts +177 -0
  54. package/dist/agents/verify.d.ts.map +1 -0
  55. package/dist/agents/verify.js +305 -0
  56. package/dist/agents/verify.js.map +1 -0
  57. package/dist/bench/metrics.d.ts +714 -0
  58. package/dist/bench/metrics.d.ts.map +1 -0
  59. package/dist/bench/metrics.js +618 -0
  60. package/dist/bench/metrics.js.map +1 -0
  61. package/dist/bin/sema-tb.d.ts +3 -0
  62. package/dist/bin/sema-tb.d.ts.map +1 -0
  63. package/dist/bin/sema-tb.js +516 -0
  64. package/dist/bin/sema-tb.js.map +1 -0
  65. package/dist/bin/tb-env.d.ts +13 -0
  66. package/dist/bin/tb-env.d.ts.map +1 -0
  67. package/dist/bin/tb-env.js +26 -0
  68. package/dist/bin/tb-env.js.map +1 -0
  69. package/dist/brain/anthropic.d.ts +46 -0
  70. package/dist/brain/anthropic.d.ts.map +1 -0
  71. package/dist/brain/anthropic.js +830 -0
  72. package/dist/brain/anthropic.js.map +1 -0
  73. package/dist/brain/circuit-breaker.d.ts +46 -0
  74. package/dist/brain/circuit-breaker.d.ts.map +1 -0
  75. package/dist/brain/circuit-breaker.js +173 -0
  76. package/dist/brain/circuit-breaker.js.map +1 -0
  77. package/dist/brain/degrading.d.ts +98 -0
  78. package/dist/brain/degrading.d.ts.map +1 -0
  79. package/dist/brain/degrading.js +249 -0
  80. package/dist/brain/degrading.js.map +1 -0
  81. package/dist/brain/errors.d.ts +31 -0
  82. package/dist/brain/errors.d.ts.map +1 -0
  83. package/dist/brain/errors.js +58 -0
  84. package/dist/brain/errors.js.map +1 -0
  85. package/dist/brain/failover.d.ts +18 -0
  86. package/dist/brain/failover.d.ts.map +1 -0
  87. package/dist/brain/failover.js +118 -0
  88. package/dist/brain/failover.js.map +1 -0
  89. package/dist/brain/model-presets.d.ts +36 -0
  90. package/dist/brain/model-presets.d.ts.map +1 -0
  91. package/dist/brain/model-presets.js +54 -0
  92. package/dist/brain/model-presets.js.map +1 -0
  93. package/dist/brain/openai.d.ts +43 -0
  94. package/dist/brain/openai.d.ts.map +1 -0
  95. package/dist/brain/openai.js +784 -0
  96. package/dist/brain/openai.js.map +1 -0
  97. package/dist/brain/reasoning.d.ts +138 -0
  98. package/dist/brain/reasoning.d.ts.map +1 -0
  99. package/dist/brain/reasoning.js +146 -0
  100. package/dist/brain/reasoning.js.map +1 -0
  101. package/dist/brain/repetition.d.ts +60 -0
  102. package/dist/brain/repetition.d.ts.map +1 -0
  103. package/dist/brain/repetition.js +121 -0
  104. package/dist/brain/repetition.js.map +1 -0
  105. package/dist/brain/request-params.d.ts +29 -0
  106. package/dist/brain/request-params.d.ts.map +1 -0
  107. package/dist/brain/request-params.js +78 -0
  108. package/dist/brain/request-params.js.map +1 -0
  109. package/dist/brain/retry.d.ts +18 -0
  110. package/dist/brain/retry.d.ts.map +1 -0
  111. package/dist/brain/retry.js +42 -0
  112. package/dist/brain/retry.js.map +1 -0
  113. package/dist/brain/routing.d.ts +19 -0
  114. package/dist/brain/routing.d.ts.map +1 -0
  115. package/dist/brain/routing.js +44 -0
  116. package/dist/brain/routing.js.map +1 -0
  117. package/dist/brain/status-sink.d.ts +46 -0
  118. package/dist/brain/status-sink.d.ts.map +1 -0
  119. package/dist/brain/status-sink.js +36 -0
  120. package/dist/brain/status-sink.js.map +1 -0
  121. package/dist/brain/stream-engine.d.ts +85 -0
  122. package/dist/brain/stream-engine.d.ts.map +1 -0
  123. package/dist/brain/stream-engine.js +391 -0
  124. package/dist/brain/stream-engine.js.map +1 -0
  125. package/dist/brain/timeout.d.ts +44 -0
  126. package/dist/brain/timeout.d.ts.map +1 -0
  127. package/dist/brain/timeout.js +41 -0
  128. package/dist/brain/timeout.js.map +1 -0
  129. package/dist/brain/tool-call-repair.d.ts +15 -0
  130. package/dist/brain/tool-call-repair.d.ts.map +1 -0
  131. package/dist/brain/tool-call-repair.js +67 -0
  132. package/dist/brain/tool-call-repair.js.map +1 -0
  133. package/dist/brain/walltime.d.ts +14 -0
  134. package/dist/brain/walltime.d.ts.map +1 -0
  135. package/dist/brain/walltime.js +14 -0
  136. package/dist/brain/walltime.js.map +1 -0
  137. package/dist/core/arg-summary.d.ts +19 -0
  138. package/dist/core/arg-summary.d.ts.map +1 -0
  139. package/dist/core/arg-summary.js +96 -0
  140. package/dist/core/arg-summary.js.map +1 -0
  141. package/dist/core/ask-question.d.ts +113 -0
  142. package/dist/core/ask-question.d.ts.map +1 -0
  143. package/dist/core/ask-question.js +246 -0
  144. package/dist/core/ask-question.js.map +1 -0
  145. package/dist/core/auto-compaction.d.ts +341 -0
  146. package/dist/core/auto-compaction.d.ts.map +1 -0
  147. package/dist/core/auto-compaction.js +495 -0
  148. package/dist/core/auto-compaction.js.map +1 -0
  149. package/dist/core/auto-promote.d.ts +126 -0
  150. package/dist/core/auto-promote.d.ts.map +1 -0
  151. package/dist/core/auto-promote.js +171 -0
  152. package/dist/core/auto-promote.js.map +1 -0
  153. package/dist/core/background-shell.d.ts +128 -0
  154. package/dist/core/background-shell.d.ts.map +1 -0
  155. package/dist/core/background-shell.js +42 -0
  156. package/dist/core/background-shell.js.map +1 -0
  157. package/dist/core/cache-break-detector.d.ts +63 -0
  158. package/dist/core/cache-break-detector.d.ts.map +1 -0
  159. package/dist/core/cache-break-detector.js +0 -0
  160. package/dist/core/cache-break-detector.js.map +1 -0
  161. package/dist/core/canonical-json.d.ts +45 -0
  162. package/dist/core/canonical-json.d.ts.map +1 -0
  163. package/dist/core/canonical-json.js +132 -0
  164. package/dist/core/canonical-json.js.map +1 -0
  165. package/dist/core/checkpoint-store.d.ts +1101 -0
  166. package/dist/core/checkpoint-store.d.ts.map +1 -0
  167. package/dist/core/checkpoint-store.js +514 -0
  168. package/dist/core/checkpoint-store.js.map +1 -0
  169. package/dist/core/consolidate-scope.d.ts +94 -0
  170. package/dist/core/consolidate-scope.d.ts.map +1 -0
  171. package/dist/core/consolidate-scope.js +158 -0
  172. package/dist/core/consolidate-scope.js.map +1 -0
  173. package/dist/core/context-edit.d.ts +82 -0
  174. package/dist/core/context-edit.d.ts.map +1 -0
  175. package/dist/core/context-edit.js +149 -0
  176. package/dist/core/context-edit.js.map +1 -0
  177. package/dist/core/context-guard.d.ts +43 -0
  178. package/dist/core/context-guard.d.ts.map +1 -0
  179. package/dist/core/context-guard.js +171 -0
  180. package/dist/core/context-guard.js.map +1 -0
  181. package/dist/core/dynamic-recall.d.ts +100 -0
  182. package/dist/core/dynamic-recall.d.ts.map +1 -0
  183. package/dist/core/dynamic-recall.js +108 -0
  184. package/dist/core/dynamic-recall.js.map +1 -0
  185. package/dist/core/exec-gate.d.ts +74 -0
  186. package/dist/core/exec-gate.d.ts.map +1 -0
  187. package/dist/core/exec-gate.js +143 -0
  188. package/dist/core/exec-gate.js.map +1 -0
  189. package/dist/core/exec-output-tail.d.ts +37 -0
  190. package/dist/core/exec-output-tail.d.ts.map +1 -0
  191. package/dist/core/exec-output-tail.js +63 -0
  192. package/dist/core/exec-output-tail.js.map +1 -0
  193. package/dist/core/file-snapshot-store.d.ts +137 -0
  194. package/dist/core/file-snapshot-store.d.ts.map +1 -0
  195. package/dist/core/file-snapshot-store.js +319 -0
  196. package/dist/core/file-snapshot-store.js.map +1 -0
  197. package/dist/core/git-worktree-env.d.ts +41 -0
  198. package/dist/core/git-worktree-env.d.ts.map +1 -0
  199. package/dist/core/git-worktree-env.js +64 -0
  200. package/dist/core/git-worktree-env.js.map +1 -0
  201. package/dist/core/hooks.d.ts +372 -0
  202. package/dist/core/hooks.d.ts.map +1 -0
  203. package/dist/core/hooks.js +269 -0
  204. package/dist/core/hooks.js.map +1 -0
  205. package/dist/core/lsp-diagnostics.d.ts +74 -0
  206. package/dist/core/lsp-diagnostics.d.ts.map +1 -0
  207. package/dist/core/lsp-diagnostics.js +125 -0
  208. package/dist/core/lsp-diagnostics.js.map +1 -0
  209. package/dist/core/lsp-protocol.d.ts +28 -0
  210. package/dist/core/lsp-protocol.d.ts.map +1 -0
  211. package/dist/core/lsp-protocol.js +179 -0
  212. package/dist/core/lsp-protocol.js.map +1 -0
  213. package/dist/core/lsp-session.d.ts +56 -0
  214. package/dist/core/lsp-session.d.ts.map +1 -0
  215. package/dist/core/lsp-session.js +185 -0
  216. package/dist/core/lsp-session.js.map +1 -0
  217. package/dist/core/lsp.d.ts +132 -0
  218. package/dist/core/lsp.d.ts.map +1 -0
  219. package/dist/core/lsp.js +147 -0
  220. package/dist/core/lsp.js.map +1 -0
  221. package/dist/core/mcp.d.ts +294 -0
  222. package/dist/core/mcp.d.ts.map +1 -0
  223. package/dist/core/mcp.js +992 -0
  224. package/dist/core/mcp.js.map +1 -0
  225. package/dist/core/media-byte-cap.d.ts +34 -0
  226. package/dist/core/media-byte-cap.d.ts.map +1 -0
  227. package/dist/core/media-byte-cap.js +76 -0
  228. package/dist/core/media-byte-cap.js.map +1 -0
  229. package/dist/core/memory-engine/data-plane.d.ts +103 -0
  230. package/dist/core/memory-engine/data-plane.d.ts.map +1 -0
  231. package/dist/core/memory-engine/data-plane.js +272 -0
  232. package/dist/core/memory-engine/data-plane.js.map +1 -0
  233. package/dist/core/memory-engine/dual-root.d.ts +40 -0
  234. package/dist/core/memory-engine/dual-root.d.ts.map +1 -0
  235. package/dist/core/memory-engine/dual-root.js +95 -0
  236. package/dist/core/memory-engine/dual-root.js.map +1 -0
  237. package/dist/core/memory-engine/engine.d.ts +161 -0
  238. package/dist/core/memory-engine/engine.d.ts.map +1 -0
  239. package/dist/core/memory-engine/engine.js +1110 -0
  240. package/dist/core/memory-engine/engine.js.map +1 -0
  241. package/dist/core/memory-engine/file-backend.d.ts +162 -0
  242. package/dist/core/memory-engine/file-backend.d.ts.map +1 -0
  243. package/dist/core/memory-engine/file-backend.js +948 -0
  244. package/dist/core/memory-engine/file-backend.js.map +1 -0
  245. package/dist/core/memory-engine/frontmatter.d.ts +24 -0
  246. package/dist/core/memory-engine/frontmatter.d.ts.map +1 -0
  247. package/dist/core/memory-engine/frontmatter.js +135 -0
  248. package/dist/core/memory-engine/frontmatter.js.map +1 -0
  249. package/dist/core/memory-engine/index.d.ts +13 -0
  250. package/dist/core/memory-engine/index.d.ts.map +1 -0
  251. package/dist/core/memory-engine/index.js +28 -0
  252. package/dist/core/memory-engine/index.js.map +1 -0
  253. package/dist/core/memory-engine/layout.d.ts +123 -0
  254. package/dist/core/memory-engine/layout.d.ts.map +1 -0
  255. package/dist/core/memory-engine/layout.js +643 -0
  256. package/dist/core/memory-engine/layout.js.map +1 -0
  257. package/dist/core/memory-engine/memory-backend-contract.d.ts +22 -0
  258. package/dist/core/memory-engine/memory-backend-contract.d.ts.map +1 -0
  259. package/dist/core/memory-engine/memory-backend-contract.js +271 -0
  260. package/dist/core/memory-engine/memory-backend-contract.js.map +1 -0
  261. package/dist/core/memory-engine/migrate.d.ts +17 -0
  262. package/dist/core/memory-engine/migrate.d.ts.map +1 -0
  263. package/dist/core/memory-engine/migrate.js +35 -0
  264. package/dist/core/memory-engine/migrate.js.map +1 -0
  265. package/dist/core/memory-engine/scan.d.ts +20 -0
  266. package/dist/core/memory-engine/scan.d.ts.map +1 -0
  267. package/dist/core/memory-engine/scan.js +84 -0
  268. package/dist/core/memory-engine/scan.js.map +1 -0
  269. package/dist/core/memory-engine/scope-contract.d.ts +104 -0
  270. package/dist/core/memory-engine/scope-contract.d.ts.map +1 -0
  271. package/dist/core/memory-engine/scope-contract.js +288 -0
  272. package/dist/core/memory-engine/scope-contract.js.map +1 -0
  273. package/dist/core/memory-engine/sync-client.d.ts +100 -0
  274. package/dist/core/memory-engine/sync-client.d.ts.map +1 -0
  275. package/dist/core/memory-engine/sync-client.js +328 -0
  276. package/dist/core/memory-engine/sync-client.js.map +1 -0
  277. package/dist/core/memory-engine/sync.d.ts +97 -0
  278. package/dist/core/memory-engine/sync.d.ts.map +1 -0
  279. package/dist/core/memory-engine/sync.js +91 -0
  280. package/dist/core/memory-engine/sync.js.map +1 -0
  281. package/dist/core/memory-engine/types.d.ts +279 -0
  282. package/dist/core/memory-engine/types.d.ts.map +1 -0
  283. package/dist/core/memory-engine/types.js +9 -0
  284. package/dist/core/memory-engine/types.js.map +1 -0
  285. package/dist/core/memory-recall.d.ts +261 -0
  286. package/dist/core/memory-recall.d.ts.map +1 -0
  287. package/dist/core/memory-recall.js +600 -0
  288. package/dist/core/memory-recall.js.map +1 -0
  289. package/dist/core/memory-vector.d.ts +24 -0
  290. package/dist/core/memory-vector.d.ts.map +1 -0
  291. package/dist/core/memory-vector.js +51 -0
  292. package/dist/core/memory-vector.js.map +1 -0
  293. package/dist/core/memory.d.ts +502 -0
  294. package/dist/core/memory.d.ts.map +1 -0
  295. package/dist/core/memory.js +881 -0
  296. package/dist/core/memory.js.map +1 -0
  297. package/dist/core/message-utils.d.ts +7 -0
  298. package/dist/core/message-utils.d.ts.map +1 -0
  299. package/dist/core/message-utils.js +10 -0
  300. package/dist/core/message-utils.js.map +1 -0
  301. package/dist/core/oracle-isolation.d.ts +85 -0
  302. package/dist/core/oracle-isolation.d.ts.map +1 -0
  303. package/dist/core/oracle-isolation.js +121 -0
  304. package/dist/core/oracle-isolation.js.map +1 -0
  305. package/dist/core/permission-rules.d.ts +102 -0
  306. package/dist/core/permission-rules.d.ts.map +1 -0
  307. package/dist/core/permission-rules.js +357 -0
  308. package/dist/core/permission-rules.js.map +1 -0
  309. package/dist/core/present-plan-tool.d.ts +28 -0
  310. package/dist/core/present-plan-tool.d.ts.map +1 -0
  311. package/dist/core/present-plan-tool.js +119 -0
  312. package/dist/core/present-plan-tool.js.map +1 -0
  313. package/dist/core/pricing.d.ts +48 -0
  314. package/dist/core/pricing.d.ts.map +1 -0
  315. package/dist/core/pricing.js +46 -0
  316. package/dist/core/pricing.js.map +1 -0
  317. package/dist/core/property-harness.d.ts +126 -0
  318. package/dist/core/property-harness.d.ts.map +1 -0
  319. package/dist/core/property-harness.js +192 -0
  320. package/dist/core/property-harness.js.map +1 -0
  321. package/dist/core/push-queue.d.ts +10 -0
  322. package/dist/core/push-queue.d.ts.map +1 -0
  323. package/dist/core/push-queue.js +42 -0
  324. package/dist/core/push-queue.js.map +1 -0
  325. package/dist/core/remote-env.d.ts +432 -0
  326. package/dist/core/remote-env.d.ts.map +1 -0
  327. package/dist/core/remote-env.js +77 -0
  328. package/dist/core/remote-env.js.map +1 -0
  329. package/dist/core/roles.d.ts +74 -0
  330. package/dist/core/roles.d.ts.map +1 -0
  331. package/dist/core/roles.js +272 -0
  332. package/dist/core/roles.js.map +1 -0
  333. package/dist/core/runner/active-skill-scope.d.ts +64 -0
  334. package/dist/core/runner/active-skill-scope.d.ts.map +1 -0
  335. package/dist/core/runner/active-skill-scope.js +197 -0
  336. package/dist/core/runner/active-skill-scope.js.map +1 -0
  337. package/dist/core/runner/assemble-result.d.ts +191 -0
  338. package/dist/core/runner/assemble-result.d.ts.map +1 -0
  339. package/dist/core/runner/assemble-result.js +250 -0
  340. package/dist/core/runner/assemble-result.js.map +1 -0
  341. package/dist/core/runner/call-cap.d.ts +130 -0
  342. package/dist/core/runner/call-cap.d.ts.map +1 -0
  343. package/dist/core/runner/call-cap.js +151 -0
  344. package/dist/core/runner/call-cap.js.map +1 -0
  345. package/dist/core/runner/grounding-signal.d.ts +12 -0
  346. package/dist/core/runner/grounding-signal.d.ts.map +1 -0
  347. package/dist/core/runner/grounding-signal.js +94 -0
  348. package/dist/core/runner/grounding-signal.js.map +1 -0
  349. package/dist/core/runner/image.d.ts +23 -0
  350. package/dist/core/runner/image.d.ts.map +1 -0
  351. package/dist/core/runner/image.js +151 -0
  352. package/dist/core/runner/image.js.map +1 -0
  353. package/dist/core/runner/memory-consolidation.d.ts +112 -0
  354. package/dist/core/runner/memory-consolidation.d.ts.map +1 -0
  355. package/dist/core/runner/memory-consolidation.js +372 -0
  356. package/dist/core/runner/memory-consolidation.js.map +1 -0
  357. package/dist/core/runner/prepare-task.d.ts +583 -0
  358. package/dist/core/runner/prepare-task.d.ts.map +1 -0
  359. package/dist/core/runner/prepare-task.js +3612 -0
  360. package/dist/core/runner/prepare-task.js.map +1 -0
  361. package/dist/core/runner/prompt-suggestions.d.ts +33 -0
  362. package/dist/core/runner/prompt-suggestions.d.ts.map +1 -0
  363. package/dist/core/runner/prompt-suggestions.js +116 -0
  364. package/dist/core/runner/prompt-suggestions.js.map +1 -0
  365. package/dist/core/runner/runtask.d.ts +274 -0
  366. package/dist/core/runner/runtask.d.ts.map +1 -0
  367. package/dist/core/runner/runtask.js +4606 -0
  368. package/dist/core/runner/runtask.js.map +1 -0
  369. package/dist/core/runner/session-rule-policy.d.ts +28 -0
  370. package/dist/core/runner/session-rule-policy.d.ts.map +1 -0
  371. package/dist/core/runner/session-rule-policy.js +110 -0
  372. package/dist/core/runner/session-rule-policy.js.map +1 -0
  373. package/dist/core/runner/strict-output-schema.d.ts +36 -0
  374. package/dist/core/runner/strict-output-schema.d.ts.map +1 -0
  375. package/dist/core/runner/strict-output-schema.js +365 -0
  376. package/dist/core/runner/strict-output-schema.js.map +1 -0
  377. package/dist/core/runner/synthetic-tools.d.ts +72 -0
  378. package/dist/core/runner/synthetic-tools.d.ts.map +1 -0
  379. package/dist/core/runner/synthetic-tools.js +203 -0
  380. package/dist/core/runner/synthetic-tools.js.map +1 -0
  381. package/dist/core/runner/tool-disclosure.d.ts +117 -0
  382. package/dist/core/runner/tool-disclosure.d.ts.map +1 -0
  383. package/dist/core/runner/tool-disclosure.js +0 -0
  384. package/dist/core/runner/tool-disclosure.js.map +1 -0
  385. package/dist/core/runner/turn-attachments.d.ts +381 -0
  386. package/dist/core/runner/turn-attachments.d.ts.map +1 -0
  387. package/dist/core/runner/turn-attachments.js +596 -0
  388. package/dist/core/runner/turn-attachments.js.map +1 -0
  389. package/dist/core/runner/usage-accounting.d.ts +35 -0
  390. package/dist/core/runner/usage-accounting.d.ts.map +1 -0
  391. package/dist/core/runner/usage-accounting.js +45 -0
  392. package/dist/core/runner/usage-accounting.js.map +1 -0
  393. package/dist/core/runtime.d.ts +9 -0
  394. package/dist/core/runtime.d.ts.map +1 -0
  395. package/dist/core/runtime.js +17 -0
  396. package/dist/core/runtime.js.map +1 -0
  397. package/dist/core/safety-axis-vocab.d.ts +33 -0
  398. package/dist/core/safety-axis-vocab.d.ts.map +1 -0
  399. package/dist/core/safety-axis-vocab.js +35 -0
  400. package/dist/core/safety-axis-vocab.js.map +1 -0
  401. package/dist/core/safety-merge-corpus.d.ts +48 -0
  402. package/dist/core/safety-merge-corpus.d.ts.map +1 -0
  403. package/dist/core/safety-merge-corpus.js +203 -0
  404. package/dist/core/safety-merge-corpus.js.map +1 -0
  405. package/dist/core/scheduler.d.ts +126 -0
  406. package/dist/core/scheduler.d.ts.map +1 -0
  407. package/dist/core/scheduler.js +54 -0
  408. package/dist/core/scheduler.js.map +1 -0
  409. package/dist/core/secret-env.d.ts +23 -0
  410. package/dist/core/secret-env.d.ts.map +1 -0
  411. package/dist/core/secret-env.js +35 -0
  412. package/dist/core/secret-env.js.map +1 -0
  413. package/dist/core/select-model.d.ts +26 -0
  414. package/dist/core/select-model.d.ts.map +1 -0
  415. package/dist/core/select-model.js +58 -0
  416. package/dist/core/select-model.js.map +1 -0
  417. package/dist/core/sensitive-path-policy.d.ts +24 -0
  418. package/dist/core/sensitive-path-policy.d.ts.map +1 -0
  419. package/dist/core/sensitive-path-policy.js +96 -0
  420. package/dist/core/sensitive-path-policy.js.map +1 -0
  421. package/dist/core/session-policy-store.d.ts +102 -0
  422. package/dist/core/session-policy-store.d.ts.map +1 -0
  423. package/dist/core/session-policy-store.js +177 -0
  424. package/dist/core/session-policy-store.js.map +1 -0
  425. package/dist/core/session-reconcile.d.ts +63 -0
  426. package/dist/core/session-reconcile.d.ts.map +1 -0
  427. package/dist/core/session-reconcile.js +71 -0
  428. package/dist/core/session-reconcile.js.map +1 -0
  429. package/dist/core/session-store.d.ts +99 -0
  430. package/dist/core/session-store.d.ts.map +1 -0
  431. package/dist/core/session-store.js +298 -0
  432. package/dist/core/session-store.js.map +1 -0
  433. package/dist/core/session.d.ts +144 -0
  434. package/dist/core/session.d.ts.map +1 -0
  435. package/dist/core/session.js +56 -0
  436. package/dist/core/session.js.map +1 -0
  437. package/dist/core/spec-contract.d.ts +147 -0
  438. package/dist/core/spec-contract.d.ts.map +1 -0
  439. package/dist/core/spec-contract.js +340 -0
  440. package/dist/core/spec-contract.js.map +1 -0
  441. package/dist/core/strategy-store.d.ts +50 -0
  442. package/dist/core/strategy-store.d.ts.map +1 -0
  443. package/dist/core/strategy-store.js +100 -0
  444. package/dist/core/strategy-store.js.map +1 -0
  445. package/dist/core/stub-env.d.ts +35 -0
  446. package/dist/core/stub-env.d.ts.map +1 -0
  447. package/dist/core/stub-env.js +69 -0
  448. package/dist/core/stub-env.js.map +1 -0
  449. package/dist/core/task-notification.d.ts +115 -0
  450. package/dist/core/task-notification.d.ts.map +1 -0
  451. package/dist/core/task-notification.js +247 -0
  452. package/dist/core/task-notification.js.map +1 -0
  453. package/dist/core/task-outcome.d.ts +80 -0
  454. package/dist/core/task-outcome.d.ts.map +1 -0
  455. package/dist/core/task-outcome.js +40 -0
  456. package/dist/core/task-outcome.js.map +1 -0
  457. package/dist/core/task-registry.d.ts +349 -0
  458. package/dist/core/task-registry.d.ts.map +1 -0
  459. package/dist/core/task-registry.js +1751 -0
  460. package/dist/core/task-registry.js.map +1 -0
  461. package/dist/core/tighten-task-spec.d.ts +27 -0
  462. package/dist/core/tighten-task-spec.d.ts.map +1 -0
  463. package/dist/core/tighten-task-spec.js +95 -0
  464. package/dist/core/tighten-task-spec.js.map +1 -0
  465. package/dist/core/tool-detach.d.ts +31 -0
  466. package/dist/core/tool-detach.d.ts.map +1 -0
  467. package/dist/core/tool-detach.js +62 -0
  468. package/dist/core/tool-detach.js.map +1 -0
  469. package/dist/core/tool-errors.d.ts +72 -0
  470. package/dist/core/tool-errors.d.ts.map +1 -0
  471. package/dist/core/tool-errors.js +194 -0
  472. package/dist/core/tool-errors.js.map +1 -0
  473. package/dist/core/tool-name-aliases.d.ts +5 -0
  474. package/dist/core/tool-name-aliases.d.ts.map +1 -0
  475. package/dist/core/tool-name-aliases.js +130 -0
  476. package/dist/core/tool-name-aliases.js.map +1 -0
  477. package/dist/core/tool-policy.d.ts +295 -0
  478. package/dist/core/tool-policy.d.ts.map +1 -0
  479. package/dist/core/tool-policy.js +567 -0
  480. package/dist/core/tool-policy.js.map +1 -0
  481. package/dist/core/tool-result-budget.d.ts +44 -0
  482. package/dist/core/tool-result-budget.d.ts.map +1 -0
  483. package/dist/core/tool-result-budget.js +140 -0
  484. package/dist/core/tool-result-budget.js.map +1 -0
  485. package/dist/core/tool-result-store.d.ts +136 -0
  486. package/dist/core/tool-result-store.d.ts.map +1 -0
  487. package/dist/core/tool-result-store.js +219 -0
  488. package/dist/core/tool-result-store.js.map +1 -0
  489. package/dist/core/tools.d.ts +14 -0
  490. package/dist/core/tools.d.ts.map +1 -0
  491. package/dist/core/tools.js +98 -0
  492. package/dist/core/tools.js.map +1 -0
  493. package/dist/core/trace.d.ts +340 -0
  494. package/dist/core/trace.d.ts.map +1 -0
  495. package/dist/core/trace.js +12 -0
  496. package/dist/core/trace.js.map +1 -0
  497. package/dist/core/types.d.ts +2828 -0
  498. package/dist/core/types.d.ts.map +1 -0
  499. package/dist/core/types.js +2 -0
  500. package/dist/core/types.js.map +1 -0
  501. package/dist/core/untrusted-egress.d.ts +32 -0
  502. package/dist/core/untrusted-egress.d.ts.map +1 -0
  503. package/dist/core/untrusted-egress.js +49 -0
  504. package/dist/core/untrusted-egress.js.map +1 -0
  505. package/dist/core/untrusted-text.d.ts +64 -0
  506. package/dist/core/untrusted-text.d.ts.map +1 -0
  507. package/dist/core/untrusted-text.js +119 -0
  508. package/dist/core/untrusted-text.js.map +1 -0
  509. package/dist/core/warm-resume.d.ts +23 -0
  510. package/dist/core/warm-resume.d.ts.map +1 -0
  511. package/dist/core/warm-resume.js +28 -0
  512. package/dist/core/warm-resume.js.map +1 -0
  513. package/dist/core/with-retry.d.ts +43 -0
  514. package/dist/core/with-retry.d.ts.map +1 -0
  515. package/dist/core/with-retry.js +59 -0
  516. package/dist/core/with-retry.js.map +1 -0
  517. package/dist/core/workflow-journal-store.d.ts +44 -0
  518. package/dist/core/workflow-journal-store.d.ts.map +1 -0
  519. package/dist/core/workflow-journal-store.js +47 -0
  520. package/dist/core/workflow-journal-store.js.map +1 -0
  521. package/dist/core/workflow-run-store-contract.d.ts +31 -0
  522. package/dist/core/workflow-run-store-contract.d.ts.map +1 -0
  523. package/dist/core/workflow-run-store-contract.js +191 -0
  524. package/dist/core/workflow-run-store-contract.js.map +1 -0
  525. package/dist/core/workflow-run-store.d.ts +149 -0
  526. package/dist/core/workflow-run-store.d.ts.map +1 -0
  527. package/dist/core/workflow-run-store.js +110 -0
  528. package/dist/core/workflow-run-store.js.map +1 -0
  529. package/dist/engine/compaction/compaction.d.ts +139 -0
  530. package/dist/engine/compaction/compaction.d.ts.map +1 -0
  531. package/dist/engine/compaction/compaction.js +1030 -0
  532. package/dist/engine/compaction/compaction.js.map +1 -0
  533. package/dist/engine/compaction/utils.d.ts +45 -0
  534. package/dist/engine/compaction/utils.d.ts.map +1 -0
  535. package/dist/engine/compaction/utils.js +203 -0
  536. package/dist/engine/compaction/utils.js.map +1 -0
  537. package/dist/engine/execution-env/kill-tree.d.ts +20 -0
  538. package/dist/engine/execution-env/kill-tree.d.ts.map +1 -0
  539. package/dist/engine/execution-env/kill-tree.js +183 -0
  540. package/dist/engine/execution-env/kill-tree.js.map +1 -0
  541. package/dist/engine/execution-env/node-execution-env.d.ts +133 -0
  542. package/dist/engine/execution-env/node-execution-env.d.ts.map +1 -0
  543. package/dist/engine/execution-env/node-execution-env.js +1031 -0
  544. package/dist/engine/execution-env/node-execution-env.js.map +1 -0
  545. package/dist/engine/harness/agent-harness.d.ts +174 -0
  546. package/dist/engine/harness/agent-harness.d.ts.map +1 -0
  547. package/dist/engine/harness/agent-harness.js +1053 -0
  548. package/dist/engine/harness/agent-harness.js.map +1 -0
  549. package/dist/engine/harness/messages.d.ts +17 -0
  550. package/dist/engine/harness/messages.d.ts.map +1 -0
  551. package/dist/engine/harness/messages.js +122 -0
  552. package/dist/engine/harness/messages.js.map +1 -0
  553. package/dist/engine/harness/types.d.ts +713 -0
  554. package/dist/engine/harness/types.d.ts.map +1 -0
  555. package/dist/engine/harness/types.js +100 -0
  556. package/dist/engine/harness/types.js.map +1 -0
  557. package/dist/engine/llm/diagnostics.d.ts +23 -0
  558. package/dist/engine/llm/diagnostics.d.ts.map +1 -0
  559. package/dist/engine/llm/diagnostics.js +32 -0
  560. package/dist/engine/llm/diagnostics.js.map +1 -0
  561. package/dist/engine/llm/event-stream.d.ts +25 -0
  562. package/dist/engine/llm/event-stream.d.ts.map +1 -0
  563. package/dist/engine/llm/event-stream.js +103 -0
  564. package/dist/engine/llm/event-stream.js.map +1 -0
  565. package/dist/engine/llm/index.d.ts +12 -0
  566. package/dist/engine/llm/index.d.ts.map +1 -0
  567. package/dist/engine/llm/index.js +12 -0
  568. package/dist/engine/llm/index.js.map +1 -0
  569. package/dist/engine/llm/types.d.ts +753 -0
  570. package/dist/engine/llm/types.d.ts.map +1 -0
  571. package/dist/engine/llm/types.js +2 -0
  572. package/dist/engine/llm/types.js.map +1 -0
  573. package/dist/engine/llm/validation.d.ts +8 -0
  574. package/dist/engine/llm/validation.d.ts.map +1 -0
  575. package/dist/engine/llm/validation.js +318 -0
  576. package/dist/engine/llm/validation.js.map +1 -0
  577. package/dist/engine/loop/agent-loop.d.ts +74 -0
  578. package/dist/engine/loop/agent-loop.d.ts.map +1 -0
  579. package/dist/engine/loop/agent-loop.js +1490 -0
  580. package/dist/engine/loop/agent-loop.js.map +1 -0
  581. package/dist/engine/loop/runtime-deps.d.ts +17 -0
  582. package/dist/engine/loop/runtime-deps.d.ts.map +1 -0
  583. package/dist/engine/loop/runtime-deps.js +21 -0
  584. package/dist/engine/loop/runtime-deps.js.map +1 -0
  585. package/dist/engine/loop/types.d.ts +609 -0
  586. package/dist/engine/loop/types.d.ts.map +1 -0
  587. package/dist/engine/loop/types.js +2 -0
  588. package/dist/engine/loop/types.js.map +1 -0
  589. package/dist/engine/lsp/frame-decoder.d.ts +16 -0
  590. package/dist/engine/lsp/frame-decoder.d.ts.map +1 -0
  591. package/dist/engine/lsp/frame-decoder.js +53 -0
  592. package/dist/engine/lsp/frame-decoder.js.map +1 -0
  593. package/dist/engine/lsp/node-lsp-manager.d.ts +105 -0
  594. package/dist/engine/lsp/node-lsp-manager.d.ts.map +1 -0
  595. package/dist/engine/lsp/node-lsp-manager.js +343 -0
  596. package/dist/engine/lsp/node-lsp-manager.js.map +1 -0
  597. package/dist/engine/lsp/stdio-lsp-transport.d.ts +37 -0
  598. package/dist/engine/lsp/stdio-lsp-transport.d.ts.map +1 -0
  599. package/dist/engine/lsp/stdio-lsp-transport.js +185 -0
  600. package/dist/engine/lsp/stdio-lsp-transport.js.map +1 -0
  601. package/dist/engine/session/import-validate.d.ts +44 -0
  602. package/dist/engine/session/import-validate.d.ts.map +1 -0
  603. package/dist/engine/session/import-validate.js +92 -0
  604. package/dist/engine/session/import-validate.js.map +1 -0
  605. package/dist/engine/session/memory-repo.d.ts +25 -0
  606. package/dist/engine/session/memory-repo.d.ts.map +1 -0
  607. package/dist/engine/session/memory-repo.js +59 -0
  608. package/dist/engine/session/memory-repo.js.map +1 -0
  609. package/dist/engine/session/memory-storage.d.ts +14 -0
  610. package/dist/engine/session/memory-storage.d.ts.map +1 -0
  611. package/dist/engine/session/memory-storage.js +17 -0
  612. package/dist/engine/session/memory-storage.js.map +1 -0
  613. package/dist/engine/session/repo-utils.d.ts +11 -0
  614. package/dist/engine/session/repo-utils.d.ts.map +1 -0
  615. package/dist/engine/session/repo-utils.js +40 -0
  616. package/dist/engine/session/repo-utils.js.map +1 -0
  617. package/dist/engine/session/session.d.ts +34 -0
  618. package/dist/engine/session/session.d.ts.map +1 -0
  619. package/dist/engine/session/session.js +227 -0
  620. package/dist/engine/session/session.js.map +1 -0
  621. package/dist/engine/session/storage-base.d.ts +38 -0
  622. package/dist/engine/session/storage-base.d.ts.map +1 -0
  623. package/dist/engine/session/storage-base.js +157 -0
  624. package/dist/engine/session/storage-base.js.map +1 -0
  625. package/dist/engine/session/timestamps.d.ts +3 -0
  626. package/dist/engine/session/timestamps.d.ts.map +1 -0
  627. package/dist/engine/session/timestamps.js +15 -0
  628. package/dist/engine/session/timestamps.js.map +1 -0
  629. package/dist/engine/session/uuid.d.ts +2 -0
  630. package/dist/engine/session/uuid.d.ts.map +1 -0
  631. package/dist/engine/session/uuid.js +50 -0
  632. package/dist/engine/session/uuid.js.map +1 -0
  633. package/dist/index.d.ts +160 -0
  634. package/dist/index.d.ts.map +1 -0
  635. package/dist/index.js +374 -0
  636. package/dist/index.js.map +1 -0
  637. package/dist/internal/harness.d.ts +26 -0
  638. package/dist/internal/harness.d.ts.map +1 -0
  639. package/dist/internal/harness.js +24 -0
  640. package/dist/internal/harness.js.map +1 -0
  641. package/dist/internal/llm.d.ts +9 -0
  642. package/dist/internal/llm.d.ts.map +1 -0
  643. package/dist/internal/llm.js +8 -0
  644. package/dist/internal/llm.js.map +1 -0
  645. package/dist/orchestration/builtin-workflows.d.ts +44 -0
  646. package/dist/orchestration/builtin-workflows.d.ts.map +1 -0
  647. package/dist/orchestration/builtin-workflows.js +165 -0
  648. package/dist/orchestration/builtin-workflows.js.map +1 -0
  649. package/dist/orchestration/dev-vm-script-runner.d.ts +24 -0
  650. package/dist/orchestration/dev-vm-script-runner.d.ts.map +1 -0
  651. package/dist/orchestration/dev-vm-script-runner.js +106 -0
  652. package/dist/orchestration/dev-vm-script-runner.js.map +1 -0
  653. package/dist/orchestration/goal.d.ts +97 -0
  654. package/dist/orchestration/goal.d.ts.map +1 -0
  655. package/dist/orchestration/goal.js +248 -0
  656. package/dist/orchestration/goal.js.map +1 -0
  657. package/dist/orchestration/run-spec.d.ts +63 -0
  658. package/dist/orchestration/run-spec.d.ts.map +1 -0
  659. package/dist/orchestration/run-spec.js +274 -0
  660. package/dist/orchestration/run-spec.js.map +1 -0
  661. package/dist/orchestration/run-workflow-tool.d.ts +187 -0
  662. package/dist/orchestration/run-workflow-tool.d.ts.map +1 -0
  663. package/dist/orchestration/run-workflow-tool.js +612 -0
  664. package/dist/orchestration/run-workflow-tool.js.map +1 -0
  665. package/dist/orchestration/workflow-governance.d.ts +70 -0
  666. package/dist/orchestration/workflow-governance.d.ts.map +1 -0
  667. package/dist/orchestration/workflow-governance.js +176 -0
  668. package/dist/orchestration/workflow-governance.js.map +1 -0
  669. package/dist/orchestration/workflow-meta.d.ts +41 -0
  670. package/dist/orchestration/workflow-meta.d.ts.map +1 -0
  671. package/dist/orchestration/workflow-meta.js +426 -0
  672. package/dist/orchestration/workflow-meta.js.map +1 -0
  673. package/dist/orchestration/workflow-observe.d.ts +77 -0
  674. package/dist/orchestration/workflow-observe.d.ts.map +1 -0
  675. package/dist/orchestration/workflow-observe.js +177 -0
  676. package/dist/orchestration/workflow-observe.js.map +1 -0
  677. package/dist/orchestration/workflow-primitives.d.ts +31 -0
  678. package/dist/orchestration/workflow-primitives.d.ts.map +1 -0
  679. package/dist/orchestration/workflow-primitives.js +104 -0
  680. package/dist/orchestration/workflow-primitives.js.map +1 -0
  681. package/dist/orchestration/workflow-sandbox-conformance.d.ts +34 -0
  682. package/dist/orchestration/workflow-sandbox-conformance.d.ts.map +1 -0
  683. package/dist/orchestration/workflow-sandbox-conformance.js +301 -0
  684. package/dist/orchestration/workflow-sandbox-conformance.js.map +1 -0
  685. package/dist/orchestration/workflow-script-runner.d.ts +127 -0
  686. package/dist/orchestration/workflow-script-runner.d.ts.map +1 -0
  687. package/dist/orchestration/workflow-script-runner.js +48 -0
  688. package/dist/orchestration/workflow-script-runner.js.map +1 -0
  689. package/dist/orchestration/workflow-script-store.d.ts +99 -0
  690. package/dist/orchestration/workflow-script-store.d.ts.map +1 -0
  691. package/dist/orchestration/workflow-script-store.js +133 -0
  692. package/dist/orchestration/workflow-script-store.js.map +1 -0
  693. package/dist/orchestration/workflow-size-guideline.d.ts +50 -0
  694. package/dist/orchestration/workflow-size-guideline.d.ts.map +1 -0
  695. package/dist/orchestration/workflow-size-guideline.js +78 -0
  696. package/dist/orchestration/workflow-size-guideline.js.map +1 -0
  697. package/dist/orchestration/workflow.d.ts +624 -0
  698. package/dist/orchestration/workflow.d.ts.map +1 -0
  699. package/dist/orchestration/workflow.js +1596 -0
  700. package/dist/orchestration/workflow.js.map +1 -0
  701. package/dist/prompts/default.d.ts +474 -0
  702. package/dist/prompts/default.d.ts.map +1 -0
  703. package/dist/prompts/default.js +676 -0
  704. package/dist/prompts/default.js.map +1 -0
  705. package/dist/prompts/supervisor.d.ts +60 -0
  706. package/dist/prompts/supervisor.d.ts.map +1 -0
  707. package/dist/prompts/supervisor.js +162 -0
  708. package/dist/prompts/supervisor.js.map +1 -0
  709. package/dist/scenarios/env.d.ts +41 -0
  710. package/dist/scenarios/env.d.ts.map +1 -0
  711. package/dist/scenarios/env.js +65 -0
  712. package/dist/scenarios/env.js.map +1 -0
  713. package/dist/scenarios/full-body.d.ts +47 -0
  714. package/dist/scenarios/full-body.d.ts.map +1 -0
  715. package/dist/scenarios/full-body.js +36 -0
  716. package/dist/scenarios/full-body.js.map +1 -0
  717. package/dist/scenarios/scenario-registry.d.ts +107 -0
  718. package/dist/scenarios/scenario-registry.d.ts.map +1 -0
  719. package/dist/scenarios/scenario-registry.js +192 -0
  720. package/dist/scenarios/scenario-registry.js.map +1 -0
  721. package/dist/scenarios/teacher-quickstart.d.ts +41 -0
  722. package/dist/scenarios/teacher-quickstart.d.ts.map +1 -0
  723. package/dist/scenarios/teacher-quickstart.js +32 -0
  724. package/dist/scenarios/teacher-quickstart.js.map +1 -0
  725. package/dist/server/http.d.ts +36 -0
  726. package/dist/server/http.d.ts.map +1 -0
  727. package/dist/server/http.js +144 -0
  728. package/dist/server/http.js.map +1 -0
  729. package/dist/stores/file/checkpoint-store.d.ts +62 -0
  730. package/dist/stores/file/checkpoint-store.d.ts.map +1 -0
  731. package/dist/stores/file/checkpoint-store.js +250 -0
  732. package/dist/stores/file/checkpoint-store.js.map +1 -0
  733. package/dist/stores/file/file-snapshot-store.d.ts +43 -0
  734. package/dist/stores/file/file-snapshot-store.d.ts.map +1 -0
  735. package/dist/stores/file/file-snapshot-store.js +374 -0
  736. package/dist/stores/file/file-snapshot-store.js.map +1 -0
  737. package/dist/stores/file/fs-atomic.d.ts +95 -0
  738. package/dist/stores/file/fs-atomic.d.ts.map +1 -0
  739. package/dist/stores/file/fs-atomic.js +415 -0
  740. package/dist/stores/file/fs-atomic.js.map +1 -0
  741. package/dist/stores/file/index.d.ts +98 -0
  742. package/dist/stores/file/index.d.ts.map +1 -0
  743. package/dist/stores/file/index.js +109 -0
  744. package/dist/stores/file/index.js.map +1 -0
  745. package/dist/stores/file/memory-store.d.ts +95 -0
  746. package/dist/stores/file/memory-store.d.ts.map +1 -0
  747. package/dist/stores/file/memory-store.js +393 -0
  748. package/dist/stores/file/memory-store.js.map +1 -0
  749. package/dist/stores/file/session-policy-store.d.ts +24 -0
  750. package/dist/stores/file/session-policy-store.d.ts.map +1 -0
  751. package/dist/stores/file/session-policy-store.js +123 -0
  752. package/dist/stores/file/session-policy-store.js.map +1 -0
  753. package/dist/stores/file/session-store.d.ts +34 -0
  754. package/dist/stores/file/session-store.d.ts.map +1 -0
  755. package/dist/stores/file/session-store.js +175 -0
  756. package/dist/stores/file/session-store.js.map +1 -0
  757. package/dist/stores/file/tool-result-store.d.ts +23 -0
  758. package/dist/stores/file/tool-result-store.d.ts.map +1 -0
  759. package/dist/stores/file/tool-result-store.js +61 -0
  760. package/dist/stores/file/tool-result-store.js.map +1 -0
  761. package/dist/stores/file/workflow-journal-store.d.ts +36 -0
  762. package/dist/stores/file/workflow-journal-store.d.ts.map +1 -0
  763. package/dist/stores/file/workflow-journal-store.js +157 -0
  764. package/dist/stores/file/workflow-journal-store.js.map +1 -0
  765. package/dist/stores/file/workflow-run-store.d.ts +58 -0
  766. package/dist/stores/file/workflow-run-store.d.ts.map +1 -0
  767. package/dist/stores/file/workflow-run-store.js +178 -0
  768. package/dist/stores/file/workflow-run-store.js.map +1 -0
  769. package/dist/stores/pg.d.ts +210 -0
  770. package/dist/stores/pg.d.ts.map +1 -0
  771. package/dist/stores/pg.js +652 -0
  772. package/dist/stores/pg.js.map +1 -0
  773. package/dist/tools/fs/encoding.d.ts +51 -0
  774. package/dist/tools/fs/encoding.d.ts.map +1 -0
  775. package/dist/tools/fs/encoding.js +74 -0
  776. package/dist/tools/fs/encoding.js.map +1 -0
  777. package/dist/tools/fs/gh-rate-limit.d.ts +19 -0
  778. package/dist/tools/fs/gh-rate-limit.d.ts.map +1 -0
  779. package/dist/tools/fs/gh-rate-limit.js +35 -0
  780. package/dist/tools/fs/gh-rate-limit.js.map +1 -0
  781. package/dist/tools/fs/index.d.ts +246 -0
  782. package/dist/tools/fs/index.d.ts.map +1 -0
  783. package/dist/tools/fs/index.js +2130 -0
  784. package/dist/tools/fs/index.js.map +1 -0
  785. package/dist/tools/fs/pdf.d.ts +106 -0
  786. package/dist/tools/fs/pdf.d.ts.map +1 -0
  787. package/dist/tools/fs/pdf.js +178 -0
  788. package/dist/tools/fs/pdf.js.map +1 -0
  789. package/dist/tools/fs/repo-map.d.ts +15 -0
  790. package/dist/tools/fs/repo-map.d.ts.map +1 -0
  791. package/dist/tools/fs/repo-map.js +251 -0
  792. package/dist/tools/fs/repo-map.js.map +1 -0
  793. package/dist/tools/fs/safety.d.ts +168 -0
  794. package/dist/tools/fs/safety.d.ts.map +1 -0
  795. package/dist/tools/fs/safety.js +479 -0
  796. package/dist/tools/fs/safety.js.map +1 -0
  797. package/dist/tools/fs/search.d.ts +118 -0
  798. package/dist/tools/fs/search.d.ts.map +1 -0
  799. package/dist/tools/fs/search.js +650 -0
  800. package/dist/tools/fs/search.js.map +1 -0
  801. package/dist/tools/gitea-issue.d.ts +39 -0
  802. package/dist/tools/gitea-issue.d.ts.map +1 -0
  803. package/dist/tools/gitea-issue.js +91 -0
  804. package/dist/tools/gitea-issue.js.map +1 -0
  805. package/dist/tools/monitor.d.ts +64 -0
  806. package/dist/tools/monitor.d.ts.map +1 -0
  807. package/dist/tools/monitor.js +135 -0
  808. package/dist/tools/monitor.js.map +1 -0
  809. package/dist/tools/scheduler-tools.d.ts +48 -0
  810. package/dist/tools/scheduler-tools.d.ts.map +1 -0
  811. package/dist/tools/scheduler-tools.js +449 -0
  812. package/dist/tools/scheduler-tools.js.map +1 -0
  813. package/dist/tools/sql-adapters.d.ts +32 -0
  814. package/dist/tools/sql-adapters.d.ts.map +1 -0
  815. package/dist/tools/sql-adapters.js +31 -0
  816. package/dist/tools/sql-adapters.js.map +1 -0
  817. package/dist/tools/sql.d.ts +36 -0
  818. package/dist/tools/sql.d.ts.map +1 -0
  819. package/dist/tools/sql.js +131 -0
  820. package/dist/tools/sql.js.map +1 -0
  821. package/dist/tools/task-list.d.ts +26 -0
  822. package/dist/tools/task-list.d.ts.map +1 -0
  823. package/dist/tools/task-list.js +352 -0
  824. package/dist/tools/task-list.js.map +1 -0
  825. package/dist/tools/todo.d.ts +11 -0
  826. package/dist/tools/todo.d.ts.map +1 -0
  827. package/dist/tools/todo.js +126 -0
  828. package/dist/tools/todo.js.map +1 -0
  829. package/dist/tools/web.d.ts +59 -0
  830. package/dist/tools/web.d.ts.map +1 -0
  831. package/dist/tools/web.js +607 -0
  832. package/dist/tools/web.js.map +1 -0
  833. package/dist/tools/worktree.d.ts +88 -0
  834. package/dist/tools/worktree.d.ts.map +1 -0
  835. package/dist/tools/worktree.js +434 -0
  836. package/dist/tools/worktree.js.map +1 -0
  837. package/docs/A1-ATTRIBUTION-ROUND1-2026-07-09.md +181 -0
  838. package/docs/AB-ORACLE-GATE-VERDICT-2026-07-10.md +100 -0
  839. package/docs/ANCHOR-GAP-INVENTORY-2026-07-09.md +143 -0
  840. package/docs/ARCHITECTURE.md +125 -0
  841. package/docs/BUGHUNT-2026-07-05-NIGHT.md +98 -0
  842. package/docs/BUILD.md +63 -0
  843. package/docs/CANCEL-ASYNC-ATTRIBUTION-2026-07-09.md +98 -0
  844. package/docs/CC-198-VS-201-DRIFT-2026-07-09.md +70 -0
  845. package/docs/CC-BASELINE-FAKE-ZERO-AUDIT-2026-07-09.md +51 -0
  846. package/docs/CC-DRIFT-198-206-AGENT-TYPES-2026-07-10.md +82 -0
  847. package/docs/CC-DRIFT-198-206-CHANGELOG-2026-07-10.md +82 -0
  848. package/docs/CC-DRIFT-198-206-REMINDERS-2026-07-10.md +96 -0
  849. package/docs/CC-DRIFT-198-206-ROADMAP-2026-07-10.md +110 -0
  850. package/docs/CC-DRIFT-198-206-TOOL-INVENTORY-2026-07-10.md +53 -0
  851. package/docs/CC-DRIFT-198-206-USAGE-CONSTANTS-2026-07-10.md +64 -0
  852. package/docs/CC-DRIFT-198-206-WORKFLOW-2026-07-10.md +83 -0
  853. package/docs/CC-PARITY-CHECKLIST.md +220 -0
  854. package/docs/CC-PARITY-DEEP-SWEEP-2026-07-07.md +149 -0
  855. package/docs/CC-SUBAGENT-PROMPT-STUDY-2026-07-09.md +219 -0
  856. package/docs/CC-TASK-REMINDER-CADENCE-STUDY-2026-07-09.md +396 -0
  857. package/docs/CC-TOOL-PARITY-SWEEP-2026-07.md +56 -0
  858. package/docs/CC-TOOL-PROMPT-DEEP-DIFF-2026-07-08.md +274 -0
  859. package/docs/CC-TOOLSURFACE-DEEP-DIVE-2026-07-07.md +197 -0
  860. package/docs/CC206-OBSERVER-ANCHORS-2026-07-11.md +463 -0
  861. package/docs/CC207-CORE-SWEEP-BACKLOG-2026-07-12.md +155 -0
  862. package/docs/CENTER-CONTROL-PLANE-SEAM.md +86 -0
  863. package/docs/CLEANUP-CONTRACT-ANCHOR-2026-07-09.md +83 -0
  864. package/docs/COLD-START-RSI-2026-07-09.md +72 -0
  865. package/docs/COMPACTION-LIVE-AUDIT-2026-07-09.md +114 -0
  866. package/docs/CONTEXT-lifecycle-extension-points-and-stop-attribution.md +71 -0
  867. package/docs/COREWARS-POLYGLOT-TRIAGE-2026-07-09.md +85 -0
  868. package/docs/DEADTARGET-OVERFULL-HBOX-2026-07-10.md +92 -0
  869. package/docs/DEADTARGET-PATH-TRACING-REVERSE-2026-07-10.md +87 -0
  870. package/docs/DEADTARGET-WINNING-AVG-COREWARS-2026-07-10.md +96 -0
  871. package/docs/DEEPSEEK-API-LIMITS-PROBE-2026-07-09.md +118 -0
  872. package/docs/DESIGN-140-MOCK-VERIFY-2026-07-11.md +79 -0
  873. package/docs/DESIGN-140-VERIFICATION-2026-07-11.md +43 -0
  874. package/docs/DESIGN-DRAFT-workflow-collab-2026-07-11.md +56 -0
  875. package/docs/DESIGN-ORACLE-GROUNDING-GATE-2026-07-10.md +167 -0
  876. package/docs/DESIGN-TFRAG-RECONCILE-SCAFFOLD-2026-07-09.md +102 -0
  877. package/docs/EXP-PA2-PE-DESIGN-2026-07-11.md +220 -0
  878. package/docs/EXT-DOGFOOD-2026-07-12.md +50 -0
  879. package/docs/FINAL-VERIFY-SURFACE-AUDIT-2026-07-09.md +44 -0
  880. package/docs/FRAG-RECON-INVESTIGATION-2026-07-09.md +183 -0
  881. package/docs/HANDOFF.md +121 -0
  882. package/docs/KNOWN-ISSUES.md +96 -0
  883. package/docs/LEGW-WINDOW-TAX-2026-07-10.md +82 -0
  884. package/docs/LIVE-PROBE-BATCH-2026-07-11.md +207 -0
  885. package/docs/M2-CERT-ATTRIBUTION-2026-07-10.md +61 -0
  886. package/docs/M25-LEG-VARIANCE-ATTRIBUTION-2026-07-10.md +81 -0
  887. package/docs/MAILMAN-TIMEOUT-ATTRIBUTION-2026-07-10.md +88 -0
  888. package/docs/MEMORY-BACKEND-DIALECT-NOTES.md +69 -0
  889. package/docs/MTEB-ESCAPE-HATCH-ATTRIBUTION-2026-07-09.md +57 -0
  890. package/docs/MTEB-LEADERBOARD-ATTRIBUTION-2026-07-10.md +134 -0
  891. package/docs/ORACLE-GATE-NEGATIVE-SAMPLE-2026-07-11.md +28 -0
  892. package/docs/PARITY-CONTEXT-TRANSACTIONS-2026-07-10.md +67 -0
  893. package/docs/PARITY-PROGRESS-MATRIX-2026-07-10.md +37 -0
  894. package/docs/PARITY-SPOT-AGENT-TYPES-2026-07-10.md +70 -0
  895. package/docs/PARITY-SPOT-REMINDERS-2026-07-10.md +144 -0
  896. package/docs/PARITY-SPOT-TOOL-INVENTORY-2026-07-10.md +61 -0
  897. package/docs/PARITY-SPOT-USAGE-CONSTANTS-2026-07-10.md +95 -0
  898. package/docs/PARITY-SPOT-WORKFLOW-2026-07-10.md +93 -0
  899. package/docs/PASSWORD-RECOVERY-PANEL-VERDICT-2026-07-10.md +62 -0
  900. package/docs/R8-R9-FINALIZE-COORDINATION-2026-07-09.md +124 -0
  901. package/docs/REPL-CODE-MODE-EVALUATION-2026-07-10.md +187 -0
  902. package/docs/REPORT-1249-TARGETED.md +48 -0
  903. package/docs/RESEARCH-3P-MEMORY-SWAP-2026-07-12.md +273 -0
  904. package/docs/ROADMAP.md +111 -0
  905. package/docs/RSI-CLOUD-DEPLOY-2026-07-06.md +289 -0
  906. package/docs/RSI-PROCESS-AI-COLDSTART-2026-07-11.md +68 -0
  907. package/docs/S18-THOROUGHNESS-AUDIT-2026-07-09.md +113 -0
  908. package/docs/SERVICE-INTEGRATION-GUIDE.md +298 -0
  909. package/docs/SUBAGENT-STREAM-RESILIENCE-PARITY-2026-07-10.md +118 -0
  910. package/docs/SWEBENCH-PRO-RECON-2026-07-11.md +31 -0
  911. package/docs/TB-EFFICIENCY-TELEMETRY-2026-07-08.md +114 -0
  912. package/docs/TB-FAILURE-AUTOPSY-2026-07-05-RERUN.md +67 -0
  913. package/docs/TB-FAIRNESS-AUDIT-2026-07-08.md +141 -0
  914. package/docs/TB-FULL-1257-2026-07-08.md +77 -0
  915. package/docs/TB-LEG-GAP-ATTRIBUTION-1261-1263-2026-07-11.md +154 -0
  916. package/docs/TB-REGRESSION-DAEMON-KILL-2026-07-08.md +58 -0
  917. package/docs/TB-RSI-CROSSCHECK-2026-07-06.md +68 -0
  918. package/docs/TB-RSI-LEDGER.md +30 -0
  919. package/docs/TB-STABLE-SET-2026-07-08.md +127 -0
  920. package/docs/TB21-RECON-2026-07-11.md +28 -0
  921. package/docs/TEST-DESIGN-BATCH-1-2-3.md +97 -0
  922. package/docs/THIRD-PARTY-INTEGRATION.md +45 -0
  923. package/docs/TOKEN-ESTIMATE-CALIBRATION-LIVE-2026-07-09.md +102 -0
  924. package/docs/audit-2026-06-10-/347/254/254/344/272/214/350/275/256-/347/251/272/347/231/275/345/214/272/344/270/216/345/277/230/346/216/245/347/272/277.md +147 -0
  925. package/docs/audit-2026-06-10-/350/256/241/347/256/227bug/346/211/253/346/217/217.md +163 -0
  926. package/docs/audit-2026-06-11-/344/277/256/345/244/215/345/244/215/345/256/241/344/270/216/345/233/236/345/275/222/344/270/223/346/211/253.md +95 -0
  927. package/docs/audit-2026-06-12-design71-P1/346/275/234/344/274/217/351/235/242/350/243/201/345/206/263/344/270/216/345/220/236/351/224/231/345/256/241/350/256/241.md +45 -0
  928. package/docs/audit-2026-06-12-/345/205/254/345/274/200/346/227/213/351/222/256/346/264/273/346/200/247/344/270/216vendored/346/255/273/350/267/257.md +63 -0
  929. package/docs/audit-2026-06-15/ADDENDUM-second-pass.md +88 -0
  930. package/docs/audit-2026-06-15/ARCHITECTURE-AND-ROADMAP.md +187 -0
  931. package/docs/audit-2026-06-15/DOC-CORRECTIONS.md +105 -0
  932. package/docs/audit-2026-06-15/INDEX.md +49 -0
  933. package/docs/audit-2026-06-15/ORCHESTRATION-STATUS.md +98 -0
  934. package/docs/audit-2026-06-15/PRODUCTION-ISSUES.md +189 -0
  935. package/docs/audit-2026-06-15/REFERENCES-literature.md +139 -0
  936. package/docs/audit-2026-06-15/VENDOR-REFACTOR-PLAN.md +96 -0
  937. package/docs/cc-probe-198/README.md +72 -0
  938. package/docs/cc-probe-198/STABILITY-AUDIT.md +118 -0
  939. package/docs/cc-probe-198/live-schema-monitor-worktree-2026-07-09.json +56 -0
  940. package/docs/cc-probe-198/mount-variants.json +536 -0
  941. package/docs/cc-probe-198/plan-mode-run.json +1 -0
  942. package/docs/cc-probe-198/probe-bash-bg.json +224 -0
  943. package/docs/cc-probe-198/probe-edit-mismatch.json +120 -0
  944. package/docs/cc-probe-198/probe-read-missing.json +62 -0
  945. package/docs/cc-probe-198/probe-search-empty.json +127 -0
  946. package/docs/cc-probe-198/probe-task-family.json +227 -0
  947. package/docs/cc-probe-198/probes.status +6 -0
  948. package/docs/cc-probe-198/raw-capture-interactive.json +948 -0
  949. package/docs/cc-probe-198/raw-capture-print.json +787 -0
  950. package/docs/cc-probe-198/raw-capture2-interactive.json +948 -0
  951. package/docs/cc-probe-198/raw-capture2-print.json +787 -0
  952. package/docs/cc-probe-198/system-prompt.txt +135 -0
  953. package/docs/cc-probe-198/tools-array.json +962 -0
  954. package/docs/durability-boundary.md +63 -0
  955. package/docs/fix-2026-06-10-/350/256/241/347/256/227bug/344/277/256/345/244/215-search/346/211/271.md +75 -0
  956. package/docs/fix-2026-06-11-/347/254/254/344/272/214/350/275/256-/344/277/256/345/244/215-search/346/211/271.md +62 -0
  957. package/docs/parity-sweep/REPORT-DYNAMIC.md +97 -0
  958. package/docs/parity-sweep/REPORT-STATIC-GGB.md +127 -0
  959. package/docs/parity-sweep/REPORT-STATIC-RWE.md +133 -0
  960. package/docs/vendor-history.md +385 -0
  961. package/docs/vendored-upstream-diff-2026-07.md +83 -0
  962. package/package.json +70 -0
@@ -0,0 +1,82 @@
1
+ # 腿W 窗口税实验归因(300K/64K vs 200K/32K)— 2026-07-10
2
+
3
+ **判决(一句话)**:300K/64K = **窗口税(net −3),非增益**。更大的输出预算(64K)让模型在同一 900s/3600s 墙钟内推理/生成更久,把若干本可 completed 的题推过 `limit.time` 墙(W 13 timeout vs C 9,+4),9 个新 FAIL 中至少一半是墙钟超时死;6 个"新 PASS"经查为跑间方差(轨迹更短的运气),非 300K 上下文受益。上下文轴(200K→300K)无可观测正效应,输出轴(32K→64K)有可观测负效应。
4
+
5
+ ## 1. 实验坐标
6
+
7
+ | 腿 | job | 版本 | 并发 | CONTEXT_WINDOW | MAX_OUTPUT_TOKENS | 机器 |
8
+ |---|---|---|---|---|---|---|
9
+ | W(实验) | win-300k-1259-fb | 1.259.0 | n=4 | **300000** | **64000** | 91.199.82.197 |
10
+ | C(对照) | win-ctl-1259-fb | 1.259.0 | n=4 | 200000 | 32000 | 同机 |
11
+
12
+ - 唯一差 = 窗口(300K/64K vs 默认 200K/32K);同版本/同并发/同机/同 900s 墙钟。
13
+ - 判定路径 = `verifier_result.rewards.reward`(二值 0/1),非顶层 `reward`(为 None)。
14
+ - **n=4 = 并发度,非重复次数**;每题单 trial。89/89 两腿齐全,无缺题。
15
+
16
+ ## 2. 总分
17
+
18
+ - **腿W = 51/89**(亲数遍历,sumreward=51.00,全二值)
19
+ - **腿C = 54/89**(=已知基线)
20
+ - **净效应 = −3**(51−54)
21
+
22
+ ## 3. 四组逐题对照
23
+
24
+ | 组 | 数量 | 题目 |
25
+ |---|---|---|
26
+ | **新 PASS**(W过C挂) | 6 | build-cython-ext, build-pmars, extract-elf, feal-linear-cryptanalysis, path-tracing, protein-assembly |
27
+ | **新 FAIL**(C过W挂) | 9 | chess-best-move, circuit-fibsqrt, dna-assembly, financial-document-processor, path-tracing-reverse, qemu-startup, rstan-to-pystan, schemelike-metacircular-eval, write-compressor |
28
+ | 双 PASS | 45 | (略) |
29
+ | 双 FAIL | 29 | adaptive-rejection-sampler, caffe-cifar-10, cancel-async-tasks, count-dataset-tokens, db-wal-recovery, dna-insert, extract-moves-from-video, filter-js-from-html, gcode-to-text, gpt2-codegolf, install-windows-3.11, make-doom-for-mips, make-mips-interpreter, model-extraction-relu-logits, mteb-leaderboard, mteb-retrieve, overfull-hbox, polyglot-c-py, polyglot-rust-c, qemu-alpine-ssh, raman-fitting, regex-chess, sam-cell-seg, sanitize-git-repo, torch-pipeline-parallelism, torch-tensor-parallelism, train-fasttext, video-processing, winning-avg-corewars |
30
+
31
+ ## 4. 抽验死法
32
+
33
+ ### 4a. 新 FAIL 抽 3 题 — 死法 = 墙钟超时(64K 输出→生成更久)
34
+
35
+ `agent_execution` 时长 + `events.jsonl` done 事件状态:
36
+
37
+ | 题 | W 时长 | W 状态 | C 时长 | C 状态 |
38
+ |---|---|---|---|---|
39
+ | chess-best-move | **896.2s** | **timeout / limit.time** | 822s | completed(对) |
40
+ | write-compressor | **896.3s** | **timeout / limit.time** | 717s | completed(对) |
41
+ | qemu-startup | **896.7s** | **timeout / limit.time** | 770s | completed(对) |
42
+ | circuit-fibsqrt | **3596.6s** | (~3600s 墙) | 2125s | completed(对) |
43
+ | schemelike-metacircular-eval | 2396s | | 1012s | completed(对) |
44
+ | rstan-to-pystan | 1168s | | 443s(2.6×) | completed(对) |
45
+
46
+ - chess/write-compressor/qemu 三题 W 端 done 事件明确 `status: 'timeout', errorCode: 'limit.time'`,墙钟撞满 ~896s(=900s 任务超时);对照腿全部 `completed` 且答案正确。
47
+ - 轨迹被 `reasoning_delta` 淹没(chess W=35458 条、write-compressor W=48791 条 reasoning delta),即 64K 输出预算放开后模型持续推理/生成,单位任务墙时间被推爆。
48
+ - **机制坐实**:同题同模型,唯一变量是输出预算翻倍→生成时长翻倍→撞墙钟超时→本可正确的题死。这是纯粹的"输出预算税",非上下文税。
49
+
50
+ ### 4b. 新 PASS 抽 2+ 题 — 非上下文受益,是方差
51
+
52
+ | 题 | W(turns/tokens) | C(turns/tokens) | 读法 |
53
+ |---|---|---|---|
54
+ | extract-elf | 21 turns / 649K, completed | 40 turns / 1753K, completed | W **更短**收敛,非"装得下更多" |
55
+ | build-pmars | 40 turns / 846K, completed | 48 turns / 1284K, completed | W 更短收敛 |
56
+ | build-cython-ext | 57 / 2317K | 61 / 2465K | 近似,方差 |
57
+ | feal-linear | 18 / 829K, completed | 20 / 1352K, **timeout** | C 撞墙,W 侥幸完成 |
58
+ | path-tracing | 51 / 4334K, **timeout** | 68 / 4747K, **timeout** | **两腿都超时**,W 恰有过关部分分=纯运气 |
59
+
60
+ - 无一题呈现"C 端 compaction 截断、W 端 300K 装下"这一上下文受益签名;反而 W 端普遍轨迹更短(收敛点的跑间运气)。path-tracing 两腿皆 timeout,W 过关纯属方差。
61
+ - **结论:6 个新 PASS 无因果归给 300K 上下文,应视为噪声。**
62
+
63
+ ## 5. 群体级签名
64
+
65
+ | | W(300K/64K) | C(200K/32K) |
66
+ |---|---|---|
67
+ | completed | 74 | 77 |
68
+ | **timeout** | **13** | **9** |
69
+ | failed | 1 | 2 |
70
+ | (无 done) | 1 | 1 |
71
+
72
+ W 比 C 多 4 个 timeout,与净 −3 分方向一致:窗口税主要经由"墙钟超时"渠道扣分。
73
+
74
+ ## 6. 判读
75
+
76
+ - **上下文轴(200K→300K)**:中性/无可观测正效应。全集无一题因更大上下文避开 compaction 而翻盘。
77
+ - **输出轴(32K→64K)**:**负效应(税)**。放大输出预算 → 推理/生成时长膨胀 → 撞 900s 墙钟 → 若干 completed 题退化为 timeout FAIL。
78
+ - **总判决:300K/64K 配置对 1.259.0@n4 = 窗口税,不采用。** 维持默认 200K/32K。若要吃上下文红利,须先解耦"输出预算"与"墙钟预算"(如按输出预算等比放宽 timeout),否则更大输出预算是纯负债。
79
+
80
+ ## 附:数据
81
+
82
+ 逐题 reward + 对照标签 + 双腿 status → `bench/tb-matrix/win-300k-1259.json`。
@@ -0,0 +1,207 @@
1
+ # 活体探针批:1.261.0/1.262.0 CC-parity 落码转 VERIFIED — 2026-07-11
2
+
3
+ > **宪法第二闸**:测试绿 ≠ 验证完。本批把 1.261.0/1.262.0 的 CC-parity 落码项从「落码未验」
4
+ > 尽可能转「VERIFIED」——优先对 **CC 2.1.198 本体**(真二进制活体 / 真二进制 live-captured
5
+ > schema / pretty.js 源亲核 / 204 bundle 亲核),其次源锚 + 我方活体行为。逮到 DELTA 只记坐标,
6
+ > **不改码**(修复归 fable 亲改)。
7
+
8
+ ## 判决先行
9
+
10
+ | 判决 | 数 | 项 |
11
+ |---|---|---|
12
+ | **VERIFIED** | 6 | Read offload 豁免(活体 CC 二进制)· Read seeded 去重文案(204 bundle 亲核)· Explore/Plan persona(byte-lock + live-wire)· AskUserQuestion bounds(live-captured schema)· gh rate-limit reminder(198 源逐字)· SR-7 孤儿聚合文案(198 源逐字)· budget_usd 渲染文案(198 源逐字) |
13
+ | **DELTA(已记档/待 fable)** | 2 | Bash 内联截断阈值 20K(我方)vs 30K(CC 活体坐实)· Bash 内联 20K clip 在 offload 层之前先触发(B2 分表对 Bash 事实空转) |
14
+ | **不可探 / 源锚代活体** | 2 类 | workflow F2/F3/F5(CC 有 Workflow 工具,已 pretty.js 源亲核;live-wire 需 ultracode 多代 e2e,未跑)· budget_usd/SR-7 触发面(需特定 CC session 配置:durable suspend / maxBudgetUsd,stub harness 不便构造——文案已源锚) |
15
+
16
+ **核对**:VERIFIED 7 面(6 项 + budget_usd 单列)/DELTA 2 面/不可活体触发但源锚 2 类。
17
+
18
+ ## 环境
19
+
20
+ | 项 | 值 |
21
+ |---|---|
22
+ | 被测 CC | `/Users/clay/开发/gittea/claude-198/cc-2.1.198/package/claude`(`--version`=2.1.198,原生 arm64,活体可达)|
23
+ | CC 源锚 | `claude-cli-2.1.198.pretty.js`(行号)· `docs/cc-probe-198/tools-array.json`(live-captured 交互态 27 工具 schema)|
24
+ | CC 204 bundle | scratchpad `cc204-bundle.js`(字节偏移 `@N`)|
25
+ | 被测 sema | 本仓 `dist/`(测量前 `npm run build` 跟上 HEAD)· core 1.262.0 |
26
+ | 探针基建 | 复用 `bench/probes/task51-cadence-live/stub.mjs`(127.0.0.1、dummy key、零出网 Anthropic-API SSE stub);同脚本序列驱动真 CC 二进制 + 真 sema Runner |
27
+ | 探针 workdir | scratchpad `offload-probe/`(仓外,不污染)|
28
+ | 测量日 | 2026-07-11 |
29
+
30
+ **方法(offload 面)**:stub 回放 assistant 回复让被测方发 `Read`/`Bash` tool_use 对大文件;被测方
31
+ **真执行工具**并把(可能截断/落盘的)`tool_result` 塞进**下一个请求的 messages**——从该 wire 内文
32
+ 直接观测截断/offload 行为(阈值、文案、指针形态)。sema 侧用真 `NodeExecutionEnv` 挂真 Read/Bash band,
33
+ 经 `firstPartyOffloadPolicy` 全链。两侧同一 85484-byte / 25029-byte 固定 fixture。
34
+
35
+ ---
36
+
37
+ ## 1 · Read offload 结构性豁免(USAGE-F1)· **VERIFIED(活体 CC 二进制)**
38
+
39
+ - **探针方法**:两侧真 Read 一个 85484-byte(1500 行)文件,读 wire 上 `tool_result` 长度。
40
+ - **CC 本体观测**:`tool_result` len=**91882**(`cat -n` 行号前缀,全文;`1\tline 00001…` → `…1500\t`)——
41
+ **零截断,永不落盘**。坐实 `pretty.js:478260` Read `maxResultSizeChars:1/0` + `:286717`
42
+ `if(!Number.isFinite(t))return t;`(GIa 豁免)在活体下成立。
43
+ - **sema 观测**:`tool_result` len=**92088**(同 `cat -n` 前缀 + 尾部 `<system-reminder>`「stay alert for
44
+ malware」注,全文在)——**零截断**,`firstPartyOffloadPolicy("Read")={offload:false}` 生效。
45
+ - **判决 VERIFIED**:两侧对超大 Read 都不截断/不 offload。sema 尾部多一条只读-malware reminder
46
+ (对齐 CC Read 提示面,非截断),不影响豁免结论。B1 落码(ae93e08)活体坐实。
47
+
48
+ ## 2 · Read seeded 去重 reminder(1.262.0 新)· **VERIFIED(CC 204 bundle 逐字亲核)**
49
+
50
+ - **背景**:CC 2.1.198 **无**此面(198 grep「This file is already in your context」零命中,dedup 门
51
+ `:478380` 仅同 offset/limit 重读分支);它是 CC 2.1.204 GA 特性。故本条活体锚 = ①我方文案 = 204
52
+ bundle 逐字 ②我方行为(seeded 命中→reminder;改盘→真内容)。
53
+ - **204 bundle 亲核**:`cc204-bundle.js@9396316` 组装
54
+ `Wfc(e)=\`${qfc} (see "Contents of ${e}" above) and has not changed on disk. Use that content instead of re-reading.</system-reminder>\``,
55
+ 其中 `qfc="<system-reminder>This file is already in your context"`(@9399070)。
56
+ 拼成:`<system-reminder>This file is already in your context (see "Contents of ${e}" above) and has not changed on disk. Use that content instead of re-reading.</system-reminder>`
57
+ - **sema 文案**(`src/tools/fs/index.ts:161` `seededFileUnchangedReminder`):
58
+ `<system-reminder>This file is already in your context (see "Contents of ${filePath}" above) and has not changed on disk. Use that content instead of re-reading.</system-reminder>`
59
+ → 除插值路径变量外 **BYTE-IDENTICAL**。
60
+ - **我方行为**:`test/read-seeded-dedup.test.ts` 11/11 绿(seeded 文件 Read→reminder;改盘→真内容;
61
+ partial view 不 seed)。
62
+ - **判决 VERIFIED**:文案逐字对 CC 204 GA 源;行为链 seeded→reminder / changed→content 确定性覆盖。
63
+
64
+ ## 3 · Explore/Plan 内置类型 persona · **VERIFIED(byte-lock + live-wire)**
65
+
66
+ - **探针方法**:①persona 文本对 pretty.js 源;②真 Runner 让 parent 委派 Explore,读子代 wire 上的
67
+ `systemPrompt` + 工具面。
68
+ - **CC 源锚**:Explore persona `tbm()` @`pretty.js:409128`「You are a file search specialist **for
69
+ Claude Code, Anthropic's official CLI for Claude.** You excel at thoroughly navigating…」;
70
+ Plan persona `kBm()` @`:486880`「…**for Claude Code.** Your role is…」。
71
+ - **sema**:`EXPLORE_SYSTEM_PROMPT` sha256=`7f1fe835…6dda2` / `PLAN_SYSTEM_PROMPT` sha256=`265917a9…d16ba`
72
+ (与 `test/builtin-agent-types.test.ts` byte-lock 断言一致)。**唯一分歧 = 首句去品牌**(删「for
73
+ Claude Code, Anthropic's official CLI for Claude」)= 提示词主权**有意分歧**,非 delta。
74
+ - **live-wire**(`test/builtin-agent-types.test.ts:310`「F1 live wire」):真 Runner 里 parent 发 Agent
75
+ `subagent_type:"Explore"`,子代 brain 收到的 `ctx.systemPrompt` **含**「You are a file search
76
+ specialist.」+「READ-ONLY MODE - NO FILE MODIFICATIONS」;工具面 = Read/Grep **在**、Edit/Write/Agent
77
+ **不在**(CC 六件 deny 集)。20/20 绿。
78
+ - **判决 VERIFIED**:persona 逐字上 wire(去品牌是主权有意)+ 只读工具面 live 生效。
79
+
80
+ ## 4 · AskUserQuestion schema bounds · **VERIFIED(live-captured CC 198 schema)**
81
+
82
+ - **探针方法**:从 CC 2.1.198 **真二进制 live-captured** 工具面(`docs/cc-probe-198/tools-array.json`,
83
+ 交互态)抓 AskUserQuestion input_schema,对 sema wire schema。
84
+ - **CC 本体观测**(live-captured):`questions` `minItems:1, maxItems:4`,description「Questions to ask
85
+ the user (1-4 questions)」;`options` `minItems:2, maxItems:4`,description「…Must have 2-4 options…」。
86
+ - **sema 观测**:`dist` 里 `createAskUserQuestionTool().parameters` JSON schema →
87
+ `root.properties.questions minItems=1 maxItems=4` + `…options minItems=2 maxItems=4`;description 逐字同。
88
+ - **判决 VERIFIED**:bounds(1-4 / 2-4)与 description 对 CC 198 live schema 逐字在位。1.262.0 F5 落码坐实。
89
+
90
+ ## 5 · gh rate-limit reminder · **VERIFIED(CC 198 源逐字)**
91
+
92
+ - **探针方法**:文案 + 触发正则对 pretty.js。
93
+ - **CC 本体观测**:`pretty.js:281403`
94
+ `<system-reminder>GitHub API rate limit exceeded (5,000/hr shared across all tools and agents). Run \`gh api rate_limit --jq .resources\` and sleep until reset before further gh calls. If polling in a loop, use ScheduleWakeup instead of retrying.</system-reminder>`;
95
+ 触发正则 `f0p` @`:281473` = `/API rate limit (?:already )?exceeded|exceeded a secondary rate limit|\bRATE_LIMITED\b/i`。
96
+ - **sema**(`src/tools/fs/gh-rate-limit.ts:37`):文案 **byte-identical**;`RATE_LIMITED_RE`(:16)= `f0p` **byte-identical**。
97
+ - **判决 VERIFIED**:文案 + 门正则对 CC 198 源逐字。SR-2 落码坐实。(未活体触发真 gh call——需真 GitHub
98
+ 429,但文案/正则源逐字已足;活体面缺口 = 触发条件而非文本。)
99
+
100
+ ## 6 · SR-7 durable-resume 孤儿后台任务聚合通告 · **VERIFIED(CC 198 源逐字)**
101
+
102
+ - **CC 本体观测**:`F6c` @`pretty.js:698391`:
103
+ ```
104
+ <system-reminder>
105
+ The container was restarted. The following background tasks were running and are now stopped:
106
+ ${e.map(n=>`- ${n.description||"(no description)"} (task ${n.task_id})`).join("\n")}
107
+ Re-create them if still needed.
108
+ </system-reminder>
109
+ ```
110
+ - **sema**(`src/core/runner/turn-attachments.ts:588` `renderOrphanedBackgroundTasks`):壳内文本 +
111
+ 逐-任务行 `- ${description||"(no description)"} (task ${id})` **byte-identical**(sema 用
112
+ `formatHookFeedback` 包 `<system-reminder>`,内文同)。
113
+ - **判决 VERIFIED**:文案 + 行格式对 CC 198 F6c 逐字。**不可活体触发**:需真 durable suspend→cross-process
114
+ resume 带孤儿快照——stub harness 不构造 suspend/resume 生命周期,该触发面依赖 durable-resume e2e。
115
+
116
+ ## 7 · budget_usd 渐进预算 lane 渲染 · **VERIFIED(CC 198 源逐字)**
117
+
118
+ - **CC 本体观测**:`pretty.js:600225` `budget_usd:(e)=>[…\`USD budget: $${e.used}/$${e.total}; $${e.remaining} remaining\`…]`;
119
+ producer `QFm` @`:480424-480428`。
120
+ - **sema**(`src/core/runner/turn-attachments.ts:576`):`USD budget: $${used}/$${total}; $${total-used} remaining` **byte-identical**。
121
+ - **判决 VERIFIED**:渲染文案对 CC 198 逐字。**不可活体触发**:CC 侧需 `--options.maxBudgetUsd` session
122
+ 且当轮有工具调用(`:479243` mount 条件);sema 侧需 `attachments.budgetUsd:true` + `maxCostMicroUsd`。
123
+ stub harness 未配预算 session,触发面未活体验(文案源锚成立)。
124
+
125
+ ---
126
+
127
+ ## DELTA(不改码,坐标交 fable)
128
+
129
+ ### D1 · Bash 内联截断阈值 20K(我方)vs 30K(CC 活体坐实)· MED · 【活体逮到,已部分记档】
130
+
131
+ - **探针方法**:两侧真 `Bash cat` 一个 **25029-byte**(25K,落在 sema 20K 与 CC 30K 之间)文件,读 wire。
132
+ - **CC 本体观测**:`tool_result` len=**25028,persisted=false**——CC 把 25K Bash 输出**全文内联**(< 30K 阈)。
133
+ 另 85K 输出 → `<persisted-output>` 落盘 2KB 头 preview(见 D2)。
134
+ - **sema 观测**:同 25K 输出会被 `src/tools/fs/index.ts:97` `BASH_MAX_OUTPUT_CHARS=20_000` 的
135
+ `clipShellOutput`(:113,头 10K + `…[N chars total, M omitted from the middle]…` + 尾 10K)截为 ~20K。
136
+ - **净差**:20K–30K 波段内,CC 给模型全文,sema 头尾裁到 20K。方向 = 我方更省 token 但丢中段;单点
137
+ 已记档(PARITY-SPOT-USAGE-CONSTANTS F5 aligned 表 + GGB),**活体坐实 CC 侧 25K 真内联**。
138
+ - **坐标**:CC 30K = `pretty.js:284078` `_ho=30000`(env `BASH_MAX_OUTPUT_LENGTH`);sema 20K =
139
+ `src/tools/fs/index.ts:97`。修法(若追平)= 抬 `BASH_MAX_OUTPUT_CHARS`→30K + 挂 env 旋钮(ae93e08
140
+ commit 明写此为「邻居 fork 施工面,本批不碰」的残项)。
141
+
142
+ ### D2 · Bash 内联 20K clip 在 offload 层之前先触发 → B2 分表对 Bash 事实空转 · MED · 【活体逮到,未记档为交互】
143
+
144
+ - **探针方法**:同 D1 的 85K Bash 输出,看 sema 是否走 offload(`<persisted-output ref=…>`)。
145
+ - **CC 本体观测**:85K → `<persisted-output>\nOutput too large (83.5KB). Full output saved to: <PATH>\n\nPreview (first 2KB):\n<头 2KB>...\n</persisted-output>`(len 2330;**头保留** 2KB,文件路径指针,`...` 尾标)。
146
+ - **sema 观测**:85K Bash 输出在 **Bash 工具内部**先被 `clipShellOutput` 裁到 **20082 chars**(头 10K + 中段省略标 + 尾 10K),**再** 到 offload 层时已 < B2 给 Bash 的 30K 阈 → **offload 永不触发**(`PROBE_HAS_PERSIST=false`,无 `ReadToolResult` ref)。
147
+ - **净差 / 交互 bug**:B2(ae93e08)给 Bash 设 30K offload 阈,但 Bash 工具自身 20K 内联 clip 在 offload
148
+ **之前**,使 30K 阈对 Bash **事实空转**——Bash 永远拿不到「>30K → 落盘 ref」路径,恒定 20K 头尾裁。
149
+ 与 CC「>30K → `<persisted-output>` 落盘 + 头 2KB preview + 文件指针」形态双重分叉(阈值 + offload 路径)。
150
+ - **坐标**:内联 clip = `src/tools/fs/index.ts:97/113`;B2 分表 = `src/core/tool-result-store.ts:157`
151
+ Bash 30K + `prepare-task.ts:999` `firstPartyOffload`。**修法建议(fable)**:内联 clip 阈与 B2 offload 阈
152
+ 对齐(或让 Bash 内联 clip 让位给 offload 层),否则 B2 的 Bash 30K 分表条目是死码。注:功能面不劣(头尾
153
+ 全在、无丢结论),但 CC-parity 视角 Bash 的截断形态 = 三重差(阈 20K vs 30K / 头尾裁 vs 落盘头 preview /
154
+ 无 ref vs 文件指针)。
155
+
156
+ **offload 帧形态对照(非判据,记档)**:CC = `<persisted-output>`(无属性)+「Output too large (KB)」
157
+ +「Full output saved to: <文件路径>」+「Preview (first 2KB):」头 preview + `...`;sema `buildPreview`
158
+ (`tool-result-store.ts:187`)= `<persisted-output ref="tr_…" chars="N">` + 头 1K +
159
+ `…[truncated — N chars total. Call ReadToolResult with ref="…" (offset,limit) to read more.]` + 尾 1K。
160
+ 两侧同 `<persisted-output>` 壳,但 CC=文件路径指针 / sema=ref+ReadToolResult 工具 deref(sema 全文可回读,
161
+ 不劣;属性 + deref 机制有意分歧,已记档)。
162
+
163
+ ---
164
+
165
+ ## 不可活体 / 源锚代活体(如实标)
166
+
167
+ ### workflow 面(F2 scriptPath / F3 确定性禁令 / F5 韧性)· 源锚 VERIFIED,live-wire 未跑
168
+
169
+ - **纠正一处基线误判**:task 简报假设「CC 无 Workflow 工具」——**证伪**。CC 2.1.198 **有** `Workflow`
170
+ 工具(live-captured `tools-array.json` @交互态,name:"Workflow"),input_schema =
171
+ `{script,name,description,title,args,scriptPath,resumeFromRunId}`,description 全文含 pipeline/parallel/
172
+ phase/budget/`Date.now()`/`Math.random()`/argless `new Date()` throw、`{scriptPath}` 迭代惯用法、
173
+ `resumeFromRunId`——F2/F3/F5 **都有 CC 本体锚**(不是「我方 seam 无对照」)。
174
+ - **源锚状态**(已由 fable 对抗核验档 `PARITY-SPOT-WORKFLOW-2026-07-10.md` 双侧亲读):
175
+ - **F2 scriptPath**:CC schema `:449105` = sema `src/orchestration/workflow-script-store.ts` +
176
+ `run-workflow-tool.ts:197`(scriptPath/name 持久化 seam),落码在。
177
+ - **F3 确定性禁令**:CC `S0m` shim `:445983` = sema `dev-vm-script-runner.ts:34-48`(Math.random/
178
+ Date.now/argless new Date throw,逐字端口);`workflow-sandbox-conformance.ts:297-321` battery 断言
179
+ Date.now()/Math.random() 真 throw。落码在。
180
+ - **F5 韧性**:CC workflow 层 stall 看门狗 `F0m=180000`/重试 `Mxl=5`/throttle 45s + 终局 null;sema
181
+ `workflow.ts` 单发 runTask(部分补偿在 brain 层 mid-stream 终局化,SUBAGENT-STREAM-RESILIENCE 档)。
182
+ 此项 F5 是 **已记档缺口**(workflow 层进度看门狗/重试本体我方无),非本批新逮。
183
+ - **为何 live-wire 未跑**:CC 的 Workflow 工具卡明写「ONLY call when the user has explicitly opted into
184
+ multi-agent orchestration」——触发需 `ultracode` 关键字/session 开关,且实跑会 spawn 多代真模型
185
+ (dozens of agents,大 token)。stub harness 回放单代脚本,无法安全构造 ultracode 多代 e2e。sema 侧有
186
+ `test/live-workflow-orchestration-e2e.test.ts`(4 例,当前 **skip**,需真模型)。
187
+ - **判决**:workflow 三项 = **源锚 VERIFIED**(pretty.js 双侧亲核 + sema 沙箱 battery 绿),live-wire
188
+ DEFER(需 ultracode 多代真模型 e2e——单列 backlog,非本批 stub 面可触及)。
189
+
190
+ ### M1 PTL error-withholding · 源锚 VERIFIED,活体触发需真 prompt-too-long
191
+
192
+ - CC `pretty.js:473371-473374`:流式解码器内扣住 prompt-too-long 错误不 yield,恢复成败已知才外泄。
193
+ sema commit `38af1fd` 端口(`runtask.ts` PTL-recovery 路径,`auto-compaction.ts` 多处 PTL 注释)。
194
+ - **不可活体触发**:stub 无法回放真 provider 的 prompt-too-long 429/流内错误帧到「恢复循环」深度;
195
+ 该行为在 `test/` 有确定性覆盖(PTL recovery 用例)。文案/时机源锚成立,live 触发依赖真上下文溢出。
196
+
197
+ ---
198
+
199
+ ## 纪律 / 复跑
200
+
201
+ - stub 只绑 127.0.0.1、dummy key、零出网;CC 跑 mkdtemp workdir + 独立 `CLAUDE_CONFIG_DIR`(预置
202
+ onboarding+approved key,不碰真 `~/.claude`);`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1`。
203
+ - 探针脚本 + 产物在 scratchpad `offload-probe/`(仓外,**不入仓**);sema 侧 offload 探针以临时 vitest
204
+ 用例(真 `NodeExecutionEnv` + 真 Read/Bash band + `InMemoryToolResultStore`)跑一次即删,不留仓。
205
+ - 复跑:先 `npm run build` 让 dist 跟上 HEAD(offload 分表/Read 豁免在 `dist/core/*`);CC 二进制路径
206
+ 见环境表。wire 里 `body` 已是解析对象(非字符串)——读 jsonl 时勿再 `JSON.parse(r.body)`。
207
+ - 无密钥回显;CC 路径全 redact 为 `<PATH>`。
@@ -0,0 +1,61 @@
1
+ # M2 认证腿归因档(RSI 轮 10,2026-07-10)
2
+
3
+ > **核心结论(先行)**:M2=47/89(@1.259.0 @n=8)vs M1=50/89(@1.258.6 @n=4)的"净 −3"是 **confounded 对比**——版本(1.258.6→1.259.0)与并发(n=4→n=8)**同时变了**。M1 是轮 8 跑的(并发标定到 8 之前),M2 是轮 10(标定后),认证并发在两次之间更新导致不可比。**"M2 未达标 / 54-56 射程证伪"的判决因此不成立**,须 controlled 复跑坐实版本效应。
4
+
5
+ ## 一、对比条件(confound 坐实)
6
+
7
+ | | 版本 | job | k | n_concurrency | budget_ratio | 分 |
8
+ |---|---|---|---|---|---|---|
9
+ | M1(轮8) | 1.258.6 | m1-cert-12586-fb | 1 | **4** | 1.0 | 50/89 |
10
+ | M2(轮10) | 1.259.0 | m2-cert-1259-fb | 1 | **8** | 1.0 | 47/89 |
11
+
12
+ 纪律锚:并发是测量污染源(轮 3 铁证:同版本同机同日,n=4 vs n=40 差 ~50 点,DeepSeek 服务端高并发降质)。→ n=4→8 的并发变化本身就能压低边际题。
13
+
14
+ ## 二、逐题四组(本地 json 逐题对比坐实)
15
+
16
+ - **双 PASS = 38**(稳定通过,不归因)
17
+ - **双 FAIL = 30**(稳定死;含 CC-diff 6 题:overfull-hbox / password-recovery / path-tracing-reverse / polyglot-rust-c / rstan-to-pystan / winning-avg-corewars)
18
+ - **新 PASS(收复)= 9**:bn-fit-modify / break-filter-js-from-html / extract-elf / financial-document-processor / merge-diff-arc-agi-task / mteb-retrieve / path-tracing / query-optimize / sparql-university
19
+ - **新 FAIL(回摆)= 12**:adaptive-rejection-sampler / build-cython-ext / circuit-fibsqrt / count-dataset-tokens / db-wal-recovery / extract-moves-from-video / largest-eigenval / llm-inference-batching-scheduler / **mailman(errored,exit 143 超时杀,非能力 FAIL)** / mcmc-sampling-stan / schemelike-metacircular-eval / sqlite-with-gcov
20
+
21
+ ## 三、方向不对称分析(关键归因洞察)
22
+
23
+ - **收复 9 题方向可信**:n=4 FAIL → **n=8** PASS。顶着**更高并发(更难)还翻正 = 版本真增益**。CC-diff 靶心收复 **6/12**(bn-fit / extract-elf / financial / merge-diff / path-tracing / sparql)= 1.259.0 验证面修的实锤。
24
+ - **回摆 12 题方向存疑**:n=4 PASS → **n=8** FAIL。更高并发掉下去,且**全是计算/内存边际类**(eigenval / mcmc-stan / cython / sqlite-gcov / video 抽帧)——最吃并发降质的题型。**极可能并发污染,非版本回归**,但须坐实。
25
+
26
+ → 推论(待坐实):1.259.0 验证面修增益坐实,净 −3 的锅**很可能全在并发 confound**;同并发下 1.259.0 真实力很可能 ≥50。
27
+
28
+ ## 四、CC-diff 12 靶心 M1→M2 逐题
29
+
30
+ | 题 | M1(n=4) | M2(n=8) |
31
+ |---|---|---|
32
+ | bn-fit-modify | FAIL | **PASS** |
33
+ | extract-elf | FAIL | **PASS** |
34
+ | financial-document-processor | FAIL | **PASS** |
35
+ | merge-diff-arc-agi-task | FAIL | **PASS** |
36
+ | path-tracing | FAIL | **PASS** |
37
+ | sparql-university | FAIL | **PASS** |
38
+ | overfull-hbox | FAIL | FAIL |
39
+ | password-recovery | FAIL | FAIL |
40
+ | path-tracing-reverse | FAIL | FAIL |
41
+ | polyglot-rust-c | FAIL | FAIL |
42
+ | rstan-to-pystan | FAIL | FAIL |
43
+ | winning-avg-corewars | FAIL | FAIL |
44
+
45
+ 收复 6/12(顶 n=8),死 6/12(其中 password-recovery=T-FRAG 单代理层无杠杆、polyglot/rstan=模型面/内存边际先验)。
46
+
47
+ ## 五、controlled 2×2 分离实验(在跑,agent aca16c25d611daf93)
48
+
49
+ 12 回摆题 × 版本 × 并发 2×2,k=1 budget_ratio=1.0 同认证口径:
50
+ - A: 1.258.6 @n=4 ×N=3(复现 M1) / B: 1.258.6 @n=8 ×N=3 / C: 1.259.0 @n=4 ×N=3 / D: 1.259.0 @n=8(M2 已有,补至 N=3)
51
+
52
+ **判读框架(逐题标签)**:
53
+ - 同版本 n=4 PASS + n=8 FAIL(C vs D / A vs B)→ **并发污染**
54
+ - 同并发 1.258.6 PASS + 1.259.0 FAIL(A vs C / B vs D)→ **版本回归**(1.259.0 真坏了,要修)
55
+ - 两版同并发都 FAIL 或 N=3 跳变 → **flaky/边际**(M1 的 PASS 是运气)
56
+
57
+ 落盘:`bench/tb-matrix/rollback12-2x2.json`。mailman 单独判(稳定超时=1.259.0 耗时回归?还是偶发)。
58
+
59
+ ## 六、流程教训(纪律)
60
+
61
+ **认证腿必须锁定并发一致**才能跨版本比。M1/M2 跨了并发标定更新(n=4→8)导致 confound——这是认证流程疏漏,非故意。后续所有认证/翻转表对比:并发、预算、k 三者必须对齐,否则净变化不可归因到版本。
@@ -0,0 +1,81 @@
1
+ # M2.5 两腿分差归因:腿C 54/89 vs 腿2 46/89(2026-07-10)
2
+
3
+ ## 判决(先行)
4
+
5
+ **三态判决 = ②服务端负载污染(混合型)**:recipe 三方核对 89/89 全一致、两腿均独占机器、稳定集两腿基本全绿(排除 ①recipe 污染 与系统性降质),但腿2 全程存在**系统性服务端变慢**(paired sec/turn 中位数 x1.19、61/88 题更慢;tokens/sec 中位数 2624→2033,−22.5%),直接把 timeout 从 9 抬到 14,11 题翻负中 **6 题死于时钟**(其中 5 题带明确「更慢的每轮生成」签名)。其余 5 题翻负 + 3 题翻正 = 方差带能力岔(query-optimize 腿2 反而更快仍挂)。
6
+
7
+ **8 分差拆账(估)**:~3-5 分 = 负载税可收回(时钟死);~3-5 分 = 采样方差(双向,腿2 也白捡 3 题)。best-of-2 并集 = **57/89**(54 + 腿2 独中 extract-elf/mteb-leaderboard/qemu-alpine-ssh),距 M2.5 目标 58 差 1。
8
+
9
+ **第三腿:要跑,且挑低负载时段**——对齐腿C 窗口(UTC 22:00–02:30 ≈ 北京 06:00–10:30),同 tgz 同 recipe 独占机器。负载税收回后并集破 58 概率高。
10
+
11
+ ## 1. Recipe 三方核对(全一致)
12
+
13
+ | 项 | 腿C win-ctl-1259-fb | 腿2 m25-leg2-1259-fb |
14
+ |---|---|---|
15
+ | 消费 tgz sha256(89 题逐题) | `c3faa190381314f0…7427dd` ×89 | 同一 shasum ×89 |
16
+ | model | deepseek/deepseek-v4-pro | 同 |
17
+ | agent | tb.harbor_adapter.sema_agent:SemaAgent | 同 |
18
+ | dataset | terminal-bench 2.0 @ commit `69671fb` | 同 |
19
+ | agent_setup_timeout_multiplier / retry | 2.0 / max1(AgentSetupTimeoutError) | 同 |
20
+ | 实测并发(started/finished 区间重建) | max=4 | max=4 |
21
+ | 窗口 | 07-09 22:24:02Z → 07-10 02:33:44Z | 07-10 07:42:45Z → 12:27:56Z |
22
+ | 得分(verifier/reward.txt 亲数) | **54/89** | **46/89** |
23
+
24
+ ## 2. 服务端负载证据(核心嫌疑,坐实)
25
+
26
+ Walltime 分布(agent events.jsonl 末帧 tMs):
27
+
28
+ | 口径 | 腿C | 腿2 |
29
+ |---|---|---|
30
+ | 全 89 题 med / mean | 328s / 597s | 365s / 699s(总时长 14.75h→17.28h,+17%)|
31
+ | 双 completed 69 题 med / mean / p75 | 229s / 359s / 404s | 265s / 384s / 516s |
32
+ | paired walltime 比(腿2/腿C)q1/med/q3 | — | 0.84 / **1.11** / 1.45(43/69 更慢)|
33
+ | paired **sec/turn** 比 q1/med/q3(88 题) | — | 0.97 / **1.19** / 1.55(**61/88 更慢**)|
34
+ | tokens/sec med | 2624 | 2033(−22.5%)|
35
+ | status:timeout / failed / completed | 9 / 2 / 77(+1 no-done) | **14 / 4 / 71** |
36
+
37
+ 分时段(腿2 sec/turn 比按开跑小时):07Z=1.55、08Z=0.97、09Z=1.09、10Z=1.16、11Z=1.17、12Z=1.24 —— **全程性偏慢非单点尖峰**。腿C tokens/sec 各小时 2419–2960 平稳;腿2 1453–3082 波动大且整体低。时段对应:腿C=北京 06:24–10:33(低峰),腿2=北京 15:42–20:27(午晚高峰),与 DeepSeek 服务端负载假设方向一致。
38
+
39
+ 无 API 错误风暴:腿2 全程仅 1 次 `brain.retry` + 1 次 `compaction.failed`(腿C 0);无 5xx/截断证据 → 是「慢」不是「断」。
40
+
41
+ ## 3. 翻负 11 题死法分类
42
+
43
+ | 题 | 腿C | 腿2 | 分类 |
44
+ |---|---|---|---|
45
+ | chess-best-move | 822s completed | 896s **timeout**(sec/turn 19.6→34.5,x1.8)| 负载时钟死 |
46
+ | circuit-fibsqrt | 2125s completed | 3596s **timeout**(28→36.7/turn)| 负载时钟死(边缘题)|
47
+ | rstan-to-pystan | 443s completed | 1800s **timeout**(10.1→34.6/turn,**x3.4**)| 负载时钟死(最铁证)|
48
+ | tune-mjcf | 655s completed | 896s **timeout**(26.2→52.7/turn,x2.0)| 负载时钟死 |
49
+ | write-compressor | 717s completed | 896s **timeout**(23.9→40.7/turn,x1.7)| 负载时钟死 |
50
+ | path-tracing-reverse | 1805s 也超时但已解出(reward=1)| 1796s **timeout** | 方差带+时钟压力(已知高方差题,DEADTARGET 档)|
51
+ | dna-assembly | 1265s pass 1/1 | 1493s completed,verifier 0/1 | 能力岔 |
52
+ | financial-document-processor | 155s pass 7/7 | 231s completed,3/7 | 能力岔 |
53
+ | llm-inference-batching-scheduler | 408s pass 6/6 | 1009s(x2.47)completed,5/6 | 能力岔(负载或有助推)|
54
+ | password-recovery | 328s pass 2/2 | 837s completed,1/2 | 能力岔(已知方差带题)|
55
+ | query-optimize | 377s pass 6/6 | **315s(更快)**completed,5/6 | 纯能力岔 |
56
+
57
+ 翻正 3 题(腿2 独中):extract-elf(344s vs 533s)、mteb-leaderboard(1598s vs 2890s)、qemu-alpine-ssh(371s completed vs 腿C 896s timeout——时钟死双向都咬)。
58
+
59
+ 计数:**时钟死 5 + 方差带时钟 1 + 能力岔 5**;翻正 3 全是方差/腿C 自己也被时钟咬。
60
+
61
+ ## 4. 机器邻居(排除)
62
+
63
+ 同机 jobs 精确窗口(result.json started/finished 亲数):rbv3-k8-fb 于 07-09 22:23:24Z 结束,腿C 22:24:02Z 起跑(39 秒空隙,零重叠);win-300k-1259-fb 02:33:44Z–06:44:49Z 正好嵌在两腿之间(腿C 末题 02:33:44.11Z 收,它 02:33:44.83Z 起;腿2 07:42Z 才开);腿2 之后无新 job。**两腿均独占机器** → 本机 CPU/IO 竞争排除,慢在上游。
64
+
65
+ ## 5. 稳定集探针(判决性)
66
+
67
+ | 口径 | 腿C | 腿2 |
68
+ |---|---|---|
69
+ | 全 5 腿(含 CC)历史全过 13 题 | **13/13** | 12/13(缺 llm-inference-batching-scheduler)|
70
+ | sema 3 腿(1249/1239/1257)全过 32 题 | 31/32(缺 build-pmars,注:build-pmars 在 1258/1259 世代已知转弱)| 30/32(缺 build-pmars + llm-batching)|
71
+
72
+ 稳定集两腿基本全绿,腿2 仅多掉 1 题(且该题 walltime x2.47)→ **非系统性降质**,损失集中在方差带 + 时钟边缘题,符合「负载拖尾 + 方差」而非「引擎/recipe 劣化」。
73
+
74
+ ## 6. 第三腿建议
75
+
76
+ 1. **跑**。同 tgz(c3faa190)、同 recipe、n_concurrent=4、独占机器。
77
+ 2. **时段锁定 UTC 22:00–02:30 起跑**(北京清晨,与腿C 同窗),避开北京午晚高峰(UTC 06–14)。
78
+ 3. 关注 5 个时钟死题(chess-best-move/circuit-fibsqrt/rstan-to-pystan/tune-mjcf/write-compressor)+ 3 个腿2 独中题:低负载下前者大概率回收,best-of-3 并集破 58(现并集 57)只需再中 1 题新题或守住并集。
79
+ 4. 后续腿在开跑前后各记一次快速 tokens/sec 探针(小题烟测),把「服务端速度」变成显式测量变量,不再事后考古。
80
+
81
+ — 归因 subagent,2026-07-10。数据:`~/sema-tb/jobs/{win-ctl-1259-fb,m25-leg2-1259-fb}/full89/`(测试机只读),稳定集口径源 `bench/tb-matrix/results.jsonl`。
@@ -0,0 +1,88 @@
1
+ # mailman exit 143 归因档(RSI 轮 10,2026-07-10)
2
+
3
+ > **核心结论(先行)**:M2 认证腿(m2-cert-1259-fb @1.259.0 @n=8)里 mailman 的 exit 143 **不是 1.259.0 耗时回归,也不是并发拥堵,而是一次 agent 行为自杀(model-behavioral outlier,偶发)**。被杀发生在起始后仅 **~232s**(远低于 1800s 任务超时),错杀根因=agent 亲手执行了 `pkill -f mailman ...; mailman --run-as-root start`,`pkill -f` 的子串匹配命中了 sema-tb agent 自己进程树里那条 `sh -c '...mailman...'` Bash 工具子进程 → SIGTERM(143)→ 该 Bash 工具调用无 `tool_end`,进程当场死亡。**这条 `pkill -f mailman` 是全部 ~28 个 mailman run 里独此一份**(所有通过 run,含同版本 1.259.0、同并发、更老版本,全都没跑过它)。**判决:偶发个体行为,非版本/非并发;不需要改 core 代码(可选加一条 pkill 自保守卫,但非必须)。**
4
+
5
+ ---
6
+
7
+ ## 一、被杀时序(铁证:232s 死,非 1800s 超时)
8
+
9
+ | 事件 | 时间戳(UTC) | 相对起始 |
10
+ |---|---|---|
11
+ | trial started_at | 2026-07-09 15:12:56.08 | 0 |
12
+ | 首个 agent event | 2026-07-09 15:13:07.25 | +11s(setup 完) |
13
+ | **末个 agent event**(`tool_start` = pkill+mailman start) | 2026-07-09 15:16:59.74 | **+232.5s** |
14
+ | exception.txt 写入(NonZeroAgentExitCodeError exit 143) | 2026-07-09 15:16:59.75 | +232.5s(同刻) |
15
+
16
+ - agent 侧 event walltime = **232.5s**,末 event = `tool_start`(无对应 `tool_end`)。
17
+ - exception 与末 event **同一毫秒级刻度**同时发生 → 不是空转到 1800s 被超时杀,是那条 Bash 命令**当场把进程干掉了**。
18
+ - 工具节奏全程正常(每次 model call 间隔 1–3s,turn 1→24 稳定推进,无变慢迹象)→ **排除 cadence/慢工具**。
19
+
20
+ **末条命令(sema.txt / events.jsonl 尾部逐字)**:
21
+ ```
22
+ [+231.5s] [tool] Bash {"command":"postfix start 2>&1; sleep 1; postfix status 2>&1"} -> tool_end ok exit=0
23
+ [+232.6s] [tool] Bash {"command":"pkill -f mailman 2>/dev/null; sleep 1; mailman --run-as-root start 2>&1"} -> (无 tool_end,进程死)
24
+ ```
25
+
26
+ `pkill -f mailman` 用 `-f`(全命令行匹配),子串 "mailman" 命中了 sema-tb 自己 Bash 工具那条 `sh -c '...mailman --run-as-root start...'` 子进程 → agent 杀掉自己正在跑的工具 shell → 该子进程 SIGTERM → exec_as_agent 收到 exit 143 → NonZeroAgentExitCodeError。
27
+
28
+ ---
29
+
30
+ ## 二、逐 run 数据表(全 ~28 个 mailman run,walltime 从 events.jsonl 首尾 ts)
31
+
32
+ reward 判定路径=`verifier_result.rewards.reward`(非顶层 reward)。
33
+
34
+ ### 认证/对照腿(单发)
35
+
36
+ | run | 版本 | 并发档 | wall_s | events | reward | 结局 |
37
+ |---|---|---|---|---|---|---|
38
+ | full-1258.5-fb/…Jigc4fV | 1.258.5 | full89 单 | 371.0 | 11047 | 1.0 | done |
39
+ | **m1-cert-12586-fb/…QaTR3xD** | **1.258.6** | **n=4** | 256.2 | 6270 | **1.0** | done |
40
+ | **m2-cert-1259-fb/…hzwqHGb** | **1.259.0** | **n=8** | 232.5 | 7880 | **0.0** | **exit143(自杀)** |
41
+ | **win-ctl-1259-fb/…xo9NmDm** | **1.259.0** | **n=4(腿C)** | 356.9 | 9857 | **1.0** | done |
42
+ | full-pro-1257-fb/…QowCUt7 | 1.257 | 单 | 331.7 | 5860 | 1.0 | done |
43
+ | full-pro-1249-fb/…yCK68E7 | 1.249 | 单 | 440.2 | 7322 | 1.0 | done |
44
+ | full-pro-1249-nocap/…JZ4WAU7 | 1.249 | 单 | 415.8 | 10834 | 1.0 | done |
45
+ | full-pro-1244-fb/…paaj8T6 | 1.244 | 单 | 437.7 | 13772 | 1.0 | done |
46
+
47
+ ### rbv3 归因矩阵(多 rep,直接给版本×并发对照)
48
+
49
+ | cohort | 版本 | 并发 | rep walltimes (s) | reward |
50
+ |---|---|---|---|---|
51
+ | **VOLD** | 1.258.6 | N5 低并发 | 231.8 / 342.0 / 363.6 / 441.8 / 840.4 | 4×1.0 + 1×0.0(840s 的挂,能力 FAIL 非超时) |
52
+ | **VNEW** | 1.259.0 | N5 低并发 | 301.1 / 387.3 / 409.2 / 448.0 / 666.0 | **5×1.0** |
53
+ | **K8** | 1.259.0 | N3 高并发(n=8) | 332.2 / 355.7 / 381.9 | **3×1.0** |
54
+
55
+ ---
56
+
57
+ ## 三、三维归因(版本 / 并发 / 偶发)
58
+
59
+ ### 1. 版本耗时回归? —— 排除
60
+ - rbv3 VOLD(1.258.6)walltime 中位≈363s;VNEW(1.259.0)中位≈409s;差 ~40s 在单样本噪声带内,且 VNEW **5/5 全过、零超时**。
61
+ - 单发对照:m1(1.258.6)256s vs win-ctl(1.259.0,同 n=4)357s——1.259.0 甚至这一发更慢约 100s,但**仍远低于 1800s、reward=1.0**。耗时没有向超时逼近的系统性趋势。
62
+ - 若是 1.259.0 耗时回归,VNEW / K8 / win-ctl(全 1.259.0)应普遍逼近超时或挂,实测全绿。→ **版本无罪**。
63
+
64
+ ### 2. 并发拥堵? —— 排除
65
+ - K8(1.259.0,n=8 高并发)3/3 全过,walltime 332–382s,与低并发 VNEW 同带,**没有并发拉长 walltime 的信号**。
66
+ - 被杀的 m2 run walltime 只有 232.5s(全场偏短的一档),**不是"跑太慢被拖垮"**,恰相反——它死得早。并发拥堵会表现为 walltime 拉长逼近超时,而不是 232s 猝死。→ **并发无罪**。
67
+
68
+ ### 3. 偶发个体行为(model self-sabotage)—— 坐实
69
+ - `pkill -f mailman` 在全部 ~28 个 mailman run 中**独此一份**;其余每个 run(含同版本同并发)都没走这条路径,全部 `last=done`。
70
+ - 死亡机制是确定性的(pkill -f 子串误杀自身工具进程),但**是否发那条命令**是 model 每次采样的随机行为——本次采样撞上了。属 DeepSeek-v4-pro 在 mailman 这类"重启服务/清进程"题上的低频不良模式,与 sema-core 版本无关。
71
+
72
+ ---
73
+
74
+ ## 四、判决与是否需要修
75
+
76
+ - **判决**:mailman @M2 的 exit 143 = **偶发 agent 自杀(pkill -f 误杀自身工具进程)**,归 `errored / infra-adjacent`,**不是能力 FAIL,不是 1.259.0 回归,不是并发污染**。M2 分数里这一格应作 error 处理(不计能力扣分),与 M2-CERT-ATTRIBUTION 的"M2 confounded、须 controlled 复跑"结论一致——win-ctl(腿C,1.259.0 @n=4)同题 reward=1.0 已给出该题在受控口径下的真信号=**过**。
77
+ - **是否需要修 core**:**非必须**。这是被测 model 的行为,不是 sema-core 缺陷。
78
+ - 可选硬化(低优先,非本轮):sema-tb Bash 工具执行 `pkill -f/pgrep -f`/`kill` 时,给工具子进程 shell 起独立进程组 + 让 pkill 排除自身进程组(`pkill -f mailman` 天然会匹配到 agent 自己的 `sh -c` 命令行,是通用陷阱,不止 mailman 题),可显著降低这类自杀概率。但这属"给被测 model 兜底",不改变 RSI 判决,留 backlog。
79
+ - **对 RSI 账本影响**:mailman **不属于**"1.259.0 引入的耗时/能力回归"证据,不动 M2 confounded 定谳,不动腿C 54/89 达标结论(该题在腿C 已 reward=1.0)。
80
+
81
+ ---
82
+
83
+ ## 附:取证方法
84
+
85
+ - walltime = events.jsonl 首尾 `ts`(ms epoch)之差;reward = verifier json 的 `verifier_result.rewards.reward`;结局 = 有无 exception.txt + 末 event type。
86
+ - 被杀点 = 末 event 为 `tool_start` 且无对应 `tool_end`,配 sema.txt 尾部逐字命令。
87
+ - 交叉验证 = 对全 28 run grep `pkill.*mailman`,证明唯一性。
88
+ - 数据源(海外测试机 91.199.82.197 `~/sema-tb/jobs/`,只读,未改动任何 job 数据)。
@@ -0,0 +1,69 @@
1
+ # MemoryBackend 方言实现移交注记(给下一个抄方言的人)
2
+
3
+ > 语境:design/142 边界重切(黑板 [622],clay 拍)——core 只养 File backend + seam + `memoryBackendContract`
4
+ > 契约套件;**Pg/TiDB 方言实现归 @sema-ai/server**(权威实现已移交,[623]① 纪律)。第三方走 (a) 权威位
5
+ > 路线(自实现 `MemoryBackend` 跑契约套件)的,本文是方言坑的单源记档。
6
+ > Pg 参考实现 origin:`@sema-ai/core` 1.267.0 `src/core/memory-engine/pg-backend.ts`(退役前最后版本,
7
+ > 抄走时保留头注 origin+sha)。
8
+
9
+ ## 契约硬线(方言无关)
10
+
11
+ - **17-case `memoryBackendContract` 全绿 + `assertMemoryBackendSearchEquivalence`**(lexical 逐值等价)
12
+ = 权威位验收;**`makeSibling`(跨实例 CAS)对权威位认证强制**(套件 6.3:缺席+无声明理由=fail-loud)。
13
+ - 逐字保真:body 往返 rev canonical 口径(trimEnd);id 不可变;`(scope, slug)` 唯一约束是**竞态正确性
14
+ 依赖**,不是可选索引。
15
+ - 条件写语义:零行受影响 = CAS conflict,必须回读 `freshRev` 报告——不许静默。
16
+ - vector 面:`termSet`/`jaccardDistance`/`cosineDistance` 自 core 公开导出(≥1.268)——**别内联复制**,
17
+ lexical floor 与 File/Pg 参考实现逐值等价靠它们单源。`isUniqueViolation` 同车导出(PG 23505 判定;
18
+ MySQL 家族用 ER_DUP_ENTRY 自行判定并**按键名分诊**,见下)。
19
+
20
+ ## PostgreSQL 方言(参考实现即答案)
21
+
22
+ - 条件写:`UPDATE/DELETE … WHERE rev = $n RETURNING`——RETURNING 到手即 committed 证据。
23
+ - 占位符 `$n`;jsonb 列存 portable 向量;pgvector `<=>` 为 native 档。
24
+
25
+ ## TiDB/MySQL 方言(service 1.264.0 实战自抓,双真坑 + 三常规)
26
+
27
+ 1. **🔴 同值 UPDATE 的 `affectedRows` 可能为 0,与「CAS 失败」不可区分**:`affectedRows` 报 *matched*
28
+ 还是 *changed* 取决于连接 capability 与服务器实现——mysql/mysql2 **默认**连接 flags 含
29
+ `FOUND_ROWS`(此时 affectedRows=matched,changed 走 `changedRows`;显式 `flags: '-FOUND_ROWS'`
30
+ 才变回 changed),而 TiDB 等兼容实现对该 capability 的处理不保证与 MySQL 逐位一致。所以**别依赖
31
+ affectedRows 区分「幂等 no-op 成功 vs rev miss」**:零行后必须**回读比对 `freshRev` 判「幂等成功
32
+ vs conflict」**,不能拿 affectedRows=0 直接报 conflict。(修订注:早先版本把此坑归因为「mysql2 无
33
+ CLIENT_FOUND_ROWS」——归因反了;现象与防御性结论不变。)
34
+ 2. **🔴 entries 表禁 `ON DUPLICATE KEY UPDATE`**:表上有 PRIMARY(id) 和 UNIQUE(scope,slug) 双键——
35
+ upsert 会被 (scope,slug) 键劫持,把 **slug 竞争者的行**改写成本 entry 的 id = 数据毁。拆
36
+ INSERT/UPDATE 两腿;`ER_DUP_ENTRY` 按报错里的**键名分诊**(撞 PRIMARY=id 幂等腿,撞 uniq(scope,slug)=
37
+ slug 竞态换后缀重试腿)。
38
+ 3. MySQL 无 RETURNING:条件写后 SELECT-after(同连接)拿 committed 态。
39
+ 4. `cursor` 是 TiDB 保留字——反引号伺候(列名/表名过保留字表)。
40
+ 5. 占位符 `?`;JSON 列代 jsonb(函数面差异自查)。
41
+
42
+ ## pg-mem 伪影警告(单测模拟器坑,**别照抄进真方言**)
43
+
44
+ 以下是 pg-mem 的 bug/局限,不是 PG 语义——TiDB/其他方言孪生照契约语义写,别把这些 workaround 的形态
45
+ 带过去:
46
+
47
+ - 索引列上 `= ANY($n)` 静默零行(生产 SQL 用动态 IN 占位符是为绕它,真 PG 两种都对);
48
+ - IN 列表重复占位符值返回重复行(真 PG 不会;参考实现入参去重是语义诚实,非模拟器迁就);
49
+ - `ON CONFLICT…RETURNING` 不可靠、jsonb 函数需 registerFunction、`noAstCoverageCheck:true` 必开。
50
+
51
+ ## 验收姿势(service 先例)
52
+
53
+ k3s8 真双库(TiDB+PG)跑契约 17-case + search 等价 + 跨实例并发 CAS(一胜一败+freshRev 语义)+
54
+ 门矩阵;pg-mem 只作单测,**真库读数才算认证**。
55
+
56
+ ## 测试基建姿势(service [656]③ 真根因收档)
57
+
58
+ env-gated 双库套件**并行文件模式互踩**:多个测试文件各自 `wipe()` 清同一张 live 表,vitest 并发跑
59
+ 会把对方飞行中的 entry 删掉——症状=不可复现的"环境 flake"(sync-store 套件案,确定性复现后串行全绿)。
60
+ **共享外部资源(live 表/共享目录)的 env-gated 套件必须 `--fileParallelism=false` 合跑**;
61
+ mkdtemp 每例独立盘的套件(File/mem 形态契约跑法)天然免疫,无需串行。
62
+
63
+ ## 🔴 PG 队列 claim 姿势(service [659]③ 生产真 bug 收档,1.171.0 修)
64
+
65
+ `WHERE id IN (SELECT … LIMIT n FOR UPDATE SKIP LOCKED)` 形态的认领 SQL,PG planner 允许**重扫锁定
66
+ 子查询**(rescanned semi-join inner 类计划):每次重扫跳过已锁行再取下一批 = **超 limit 认领**
67
+ (limit=2 返 3 行),且计划依赖=间歇性、serial 单认领方也复现。
68
+ **姿势:队列 claim 禁 IN-子查询形,必 `WITH due AS MATERIALIZED (…) UPDATE … FROM due`**(PG12+
69
+ 钉单次求值)。TiDB 腿无此面(候选 LIMIT 有界+逐行 CAS 天然免疫)。