pi-session-mcp 0.8.3 → 0.12.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 (843) hide show
  1. package/.pi-session-mcp-cli/client-adapters/command.js +33 -0
  2. package/.pi-session-mcp-cli/client-adapters/mcp-verifier.js +198 -0
  3. package/.pi-session-mcp-cli/client-adapters/types.js +1 -0
  4. package/.pi-session-mcp-cli/config.js +29 -3
  5. package/.pi-session-mcp-cli/container-runtime.js +18 -0
  6. package/.pi-session-mcp-cli/doctor.js +370 -4
  7. package/.pi-session-mcp-cli/execution-modes.js +83 -0
  8. package/.pi-session-mcp-cli/execution-profile.js +1 -0
  9. package/.pi-session-mcp-cli/override-lock.js +4 -4
  10. package/.pi-session-mcp-cli/session-tools.js +45 -0
  11. package/.pi-session-mcp-cli/setup-platform.js +64 -36
  12. package/.pi-session-mcp-cli/setup-process.js +455 -0
  13. package/.pi-session-mcp-cli/skill-library.js +8 -4
  14. package/.pi-session-mcp-cli/turn-events.js +97 -0
  15. package/.pi-session-mcp-cli/writer-boundary.js +321 -0
  16. package/.pi-session-mcp-cli/writer-fence.js +50 -0
  17. package/.pi-session-mcp-cli/writer-lease.js +140 -0
  18. package/.pi-session-mcp-cli/writer-lifecycle.js +567 -0
  19. package/.pi-session-mcp-cli/writer-state.js +199 -0
  20. package/.pi-session-mcp-cli/writer-wrapper.js +14 -0
  21. package/CHANGELOG.md +527 -0
  22. package/README.md +8 -2
  23. package/dist/capabilities.d.ts +9 -1
  24. package/dist/capabilities.js +8 -3
  25. package/dist/child-stdio-transport.d.ts +21 -0
  26. package/dist/child-stdio-transport.js +88 -0
  27. package/dist/client-adapters/claude-code.js +3 -2
  28. package/dist/client-adapters/command.d.ts +8 -0
  29. package/dist/client-adapters/command.js +9 -1
  30. package/dist/client-adapters/mcp-verifier.d.ts +7 -0
  31. package/dist/client-adapters/mcp-verifier.js +21 -4
  32. package/dist/client-adapters/types.d.ts +5 -1
  33. package/dist/client-adapters/writer-registration.d.ts +16 -0
  34. package/dist/client-adapters/writer-registration.js +156 -0
  35. package/dist/config.d.ts +12 -1
  36. package/dist/config.js +29 -3
  37. package/dist/container-runtime.d.ts +2 -0
  38. package/dist/container-runtime.js +18 -0
  39. package/dist/doctor.d.ts +36 -2
  40. package/dist/doctor.js +370 -4
  41. package/dist/event-spool.d.ts +70 -0
  42. package/dist/event-spool.js +180 -0
  43. package/dist/execution-modes.d.ts +60 -0
  44. package/dist/execution-modes.js +83 -0
  45. package/dist/execution-profile.d.ts +2 -0
  46. package/dist/execution-profile.js +1 -0
  47. package/dist/main.js +63 -8
  48. package/dist/override-lock.d.ts +2 -0
  49. package/dist/override-lock.js +4 -4
  50. package/dist/pi-adapter.d.ts +31 -1
  51. package/dist/pi-adapter.js +12 -0
  52. package/dist/process-diagnostics.d.ts +1 -1
  53. package/dist/process-diagnostics.js +2 -1
  54. package/dist/refusal-server.d.ts +6 -0
  55. package/dist/refusal-server.js +46 -0
  56. package/dist/sdk-pi-adapter.js +16 -9
  57. package/dist/server.d.ts +3 -2
  58. package/dist/server.js +27 -53
  59. package/dist/session-registry.d.ts +32 -2
  60. package/dist/session-registry.js +61 -11
  61. package/dist/session-tools.d.ts +14 -5
  62. package/dist/session-tools.js +13 -9
  63. package/dist/setup-cli.d.ts +14 -0
  64. package/dist/setup-cli.js +132 -0
  65. package/dist/setup-command-guardian.js +9 -3
  66. package/dist/setup-hooks.d.ts +158 -0
  67. package/dist/setup-hooks.js +657 -0
  68. package/dist/setup-main.d.ts +1 -1
  69. package/dist/setup-main.js +18 -2
  70. package/dist/setup-modes.d.ts +18 -0
  71. package/dist/setup-modes.js +131 -0
  72. package/dist/setup-ownership.d.ts +1 -0
  73. package/dist/setup-ownership.js +11 -3
  74. package/dist/setup-platform.d.ts +9 -1
  75. package/dist/setup-platform.js +64 -36
  76. package/dist/setup-process.d.ts +23 -1
  77. package/dist/setup-process.js +88 -10
  78. package/dist/setup-writers.d.ts +42 -0
  79. package/dist/setup-writers.js +510 -0
  80. package/dist/setup.d.ts +4 -1
  81. package/dist/setup.js +23 -10
  82. package/dist/skill-library.d.ts +2 -0
  83. package/dist/skill-library.js +8 -4
  84. package/dist/tool-schemas.d.ts +339 -0
  85. package/dist/tool-schemas.js +49 -0
  86. package/dist/turn-events.d.ts +45 -0
  87. package/dist/turn-events.js +97 -0
  88. package/dist/wake-hook.d.ts +180 -0
  89. package/dist/wake-hook.js +638 -0
  90. package/dist/wake-main.d.ts +8 -0
  91. package/dist/wake-main.js +111 -0
  92. package/dist/writer-acceptance.d.ts +10 -0
  93. package/dist/writer-acceptance.js +192 -0
  94. package/dist/writer-boundary.d.ts +52 -0
  95. package/dist/writer-boundary.js +321 -0
  96. package/dist/writer-credentials.d.ts +29 -0
  97. package/dist/writer-credentials.js +85 -0
  98. package/dist/writer-fence.d.ts +12 -0
  99. package/dist/writer-fence.js +50 -0
  100. package/dist/writer-guard.d.ts +13 -0
  101. package/dist/writer-guard.js +54 -0
  102. package/dist/writer-launch.d.ts +29 -0
  103. package/dist/writer-launch.js +232 -0
  104. package/dist/writer-lease.d.ts +28 -0
  105. package/dist/writer-lease.js +140 -0
  106. package/dist/writer-lifecycle.d.ts +96 -0
  107. package/dist/writer-lifecycle.js +567 -0
  108. package/dist/writer-relay.d.ts +33 -0
  109. package/dist/writer-relay.js +359 -0
  110. package/dist/writer-state.d.ts +111 -0
  111. package/dist/writer-state.js +199 -0
  112. package/dist/writer-wrapper.d.ts +3 -0
  113. package/dist/writer-wrapper.js +14 -0
  114. package/docs/acceptance.md +1694 -1
  115. package/docs/adr/0003-post-mvp-maintenance.md +2 -2
  116. package/docs/adr/0006-pi-extension-allowlist.md +3 -1
  117. package/docs/adr/0008-coding-profile-isolation.md +295 -0
  118. package/docs/adr/0009-execution-modes.md +131 -0
  119. package/docs/adr/0010-read-only-extension-tools.md +68 -0
  120. package/docs/adr/0011-turn-events-and-controller-wake.md +173 -0
  121. package/docs/adr/0012-leased-writer-pool.md +357 -0
  122. package/docs/architecture.md +96 -8
  123. package/docs/client-setup-design.md +12 -8
  124. package/docs/client-setup.md +84 -2
  125. package/docs/doctor-design.md +48 -0
  126. package/docs/evaluation/2026-10-17-live-screening.md +121 -0
  127. package/docs/evaluation/2026-10-17-node-runtime-followup.md +33 -0
  128. package/docs/evaluation/2026-10-17-profile-evaluation-evidence.md +155 -0
  129. package/docs/evaluation/2026-10-17-test-coverage.md +127 -0
  130. package/docs/evaluation/README.md +123 -0
  131. package/docs/evaluation/client-reconnect-2026-10-17/README.md +41 -0
  132. package/docs/evaluation/client-reconnect-2026-10-17/checks.json +38 -0
  133. package/docs/evaluation/client-reconnect-2026-10-17/integrity.json +30 -0
  134. package/docs/evaluation/client-reconnect-2026-10-17/reconnect.json +57 -0
  135. package/docs/evaluation/client-reconnect-2026-10-17/registration-verification.json +389 -0
  136. package/docs/evaluation/client-reconnect-2026-10-17/review.json +10 -0
  137. package/docs/evaluation/controller-ledger-hooks-2026-10-26/README.md +115 -0
  138. package/docs/evaluation/evidence-2026-10-17/budget.proposed.json +13 -0
  139. package/docs/evaluation/evidence-2026-10-17/changed-files.txt +82 -0
  140. package/docs/evaluation/evidence-2026-10-17/checks.json +103 -0
  141. package/docs/evaluation/evidence-2026-10-17/comparison.json +247 -0
  142. package/docs/evaluation/evidence-2026-10-17/development-collection-failure.json +15 -0
  143. package/docs/evaluation/evidence-2026-10-17/full-attempt-default.json +19 -0
  144. package/docs/evaluation/evidence-2026-10-17/full-tests.json +17 -0
  145. package/docs/evaluation/evidence-2026-10-17/inventory.json +239 -0
  146. package/docs/evaluation/evidence-2026-10-17/manifest.json +359 -0
  147. package/docs/evaluation/evidence-2026-10-17/offline.json +1020 -0
  148. package/docs/evaluation/evidence-2026-10-17/ui-reference/T3-1280.png +0 -0
  149. package/docs/evaluation/evidence-2026-10-17/ui-reference/T3-375.png +0 -0
  150. package/docs/evaluation/evidence-2026-10-17/ui-reference/result.json +141 -0
  151. package/docs/evaluation/extension-ablation-2026-10-20/README.md +414 -0
  152. package/docs/evaluation/extension-ablation-2026-10-20/setup.md +140 -0
  153. package/docs/evaluation/extension-ablation-repeat-2026-10-21/README.md +142 -0
  154. package/docs/evaluation/extension-ablation-repeat-2026-10-21/setup.md +69 -0
  155. package/docs/evaluation/extension-audit-2026-10-17/README.md +149 -0
  156. package/docs/evaluation/extension-audit-2026-10-17/checks.json +38 -0
  157. package/docs/evaluation/extension-audit-2026-10-17/cursor-static-evidence.json +93 -0
  158. package/docs/evaluation/extension-audit-2026-10-17/installed-artifact-comparison.json +85 -0
  159. package/docs/evaluation/extension-audit-2026-10-17/installed-packages.json +100 -0
  160. package/docs/evaluation/extension-audit-2026-10-17/integrity.json +108 -0
  161. package/docs/evaluation/extension-audit-2026-10-17/navigation-cursor-registry.json +290 -0
  162. package/docs/evaluation/extension-audit-2026-10-17/navigation-static-evidence.json +185 -0
  163. package/docs/evaluation/extension-audit-2026-10-17/openwiki-headless-bindings.json +25 -0
  164. package/docs/evaluation/extension-audit-2026-10-17/openwiki-headless-cleanup.json +12 -0
  165. package/docs/evaluation/extension-audit-2026-10-17/openwiki-headless-probe.mjs +63 -0
  166. package/docs/evaluation/extension-audit-2026-10-17/openwiki-headless-reproduction.json +91 -0
  167. package/docs/evaluation/extension-audit-2026-10-17/openwiki-headless-result.json +83 -0
  168. package/docs/evaluation/extension-audit-2026-10-17/permission-cache-artifact-verification.json +24 -0
  169. package/docs/evaluation/extension-audit-2026-10-17/permission-cache-evidence.json +133 -0
  170. package/docs/evaluation/extension-audit-2026-10-17/permission-cache-report.md +64 -0
  171. package/docs/evaluation/extension-audit-2026-10-17/publication-export.json +10 -0
  172. package/docs/evaluation/extension-audit-2026-10-17/resolver-gates.json +51 -0
  173. package/docs/evaluation/extension-audit-2026-10-17/review.json +28 -0
  174. package/docs/evaluation/extension-audit-2026-10-17/run-openwiki-headless-probe.mjs +29 -0
  175. package/docs/evaluation/extension-audit-2026-10-17/summary.json +123 -0
  176. package/docs/evaluation/extension-audit-2026-10-17/web-openwiki-artifacts.json +29 -0
  177. package/docs/evaluation/extension-audit-2026-10-17/web-openwiki-evidence.json +116 -0
  178. package/docs/evaluation/extension-audit-2026-10-17/web-openwiki-report.md +113 -0
  179. package/docs/evaluation/extension-functions-2026-10-17/README.md +33 -0
  180. package/docs/evaluation/extension-functions-2026-10-17/bridges/README.md +39 -0
  181. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-03dc1dad-9959-40df-b51c-7820991bf7e3.json +79 -0
  182. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-0c43651e-8c7d-4c7c-aa9b-5b5761141e3b.json +54 -0
  183. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-51247b13-87c1-4ec6-886b-82d922b0585a.json +89 -0
  184. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-5337f6bf-503f-4c45-aac0-43b142385a87.json +47 -0
  185. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-60285194-b1d1-4335-b616-6614941585df.json +46 -0
  186. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-6d2fbaa9-a720-4582-9be1-a95f4764786d.json +69 -0
  187. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-6fbb576c-d87d-478d-9c05-4b5ef3563598.json +125 -0
  188. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-730926d1-ef20-4b2d-ab74-7e542f1065e9.json +48 -0
  189. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-a1baa47a-5bbe-4a16-ade8-a350599eb911.json +48 -0
  190. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-bc1d69c7-784f-4ddb-9335-0d905330d568.json +91 -0
  191. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-d582757d-2859-4683-8310-ec158bf6d551.json +99 -0
  192. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-e6533a23-4933-4d6e-a250-b1b27f010d18.json +60 -0
  193. package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts.json +138 -0
  194. package/docs/evaluation/extension-functions-2026-10-17/bridges/guard.mjs +74 -0
  195. package/docs/evaluation/extension-functions-2026-10-17/bridges/integrity.json +86 -0
  196. package/docs/evaluation/extension-functions-2026-10-17/bridges/openwiki-final.json +125 -0
  197. package/docs/evaluation/extension-functions-2026-10-17/bridges/run.mjs +36 -0
  198. package/docs/evaluation/extension-functions-2026-10-17/bridges/web-final.json +99 -0
  199. package/docs/evaluation/extension-functions-2026-10-17/bridges/worker.mjs +102 -0
  200. package/docs/evaluation/extension-functions-2026-10-17/cache/README.md +21 -0
  201. package/docs/evaluation/extension-functions-2026-10-17/cache/cache-function-evidence-2026-10-17T13-30-31-440Z-b1a47f88-8d86-4238-9ef8-af890d9ba74b.json +129 -0
  202. package/docs/evaluation/extension-functions-2026-10-17/cache/cache-function-evidence-2026-10-17T13-31-04-505Z-a3736add-73b8-4d77-8ea6-084ce8aa4599.json +129 -0
  203. package/docs/evaluation/extension-functions-2026-10-17/cache/cache-function-evidence-2026-10-17T13-31-15-654Z-b0197bff-8363-4d46-b84b-46d9ed67fc39.json +248 -0
  204. package/docs/evaluation/extension-functions-2026-10-17/cache/cache-function-evidence-2026-10-17T13-31-39-137Z-e373f24d-8a8c-46b0-86aa-9f687cfadb9b.json +278 -0
  205. package/docs/evaluation/extension-functions-2026-10-17/cache/cache-function-evidence-2026-10-17T13-32-05-324Z-f63095f1-755e-43fc-9d28-3cd1a9ff4f4d.json +251 -0
  206. package/docs/evaluation/extension-functions-2026-10-17/cache/cache-function-evidence-2026-10-17T13-32-25-191Z-fc9a83af-ceae-40d7-a737-8ef861ba7946.json +282 -0
  207. package/docs/evaluation/extension-functions-2026-10-17/cache/cache-function-evidence-2026-10-17T13-33-14-993Z-5e7eae34-09f0-4c80-9210-b8cc4d1acb5f.json +282 -0
  208. package/docs/evaluation/extension-functions-2026-10-17/cache/cache-function-evidence-2026-10-17T13-38-39-010Z-57cf6a26-f091-45de-8849-b616b303a46c.json +283 -0
  209. package/docs/evaluation/extension-functions-2026-10-17/cache/cache-function-evidence-2026-10-17T13-40-32-118Z-54528e43-ac07-4f9c-8f12-10c041130983.json +283 -0
  210. package/docs/evaluation/extension-functions-2026-10-17/cache/cache-function-evidence-2026-10-17T13-41-49-525Z-48195b6e-f20d-49a5-bd53-a732a0af10c1.json +324 -0
  211. package/docs/evaluation/extension-functions-2026-10-17/cache/cache-function-evidence-2026-10-17T13-42-18-175Z-215330e7-06a6-4666-af9c-2ecb214d8d71.json +324 -0
  212. package/docs/evaluation/extension-functions-2026-10-17/cache/integrity.json +165 -0
  213. package/docs/evaluation/extension-functions-2026-10-17/cache/probe.mjs +161 -0
  214. package/docs/evaluation/extension-functions-2026-10-17/cache/receipt-archive.json +150 -0
  215. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/commands-headless-3feeffc5-97bf-4079-8505-8119fab7956a.json +54 -0
  216. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/commands-headless-42e5eace-ad87-480a-94d9-448c1dd167b8.json +49 -0
  217. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/commands-headless-50f39f1c-8b48-442b-8d15-1f9c8f63bd81.json +49 -0
  218. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/commands-headless-8482b2b0-f600-488b-9f36-905e0125177a.json +54 -0
  219. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-codex-bypass-128ffdce-6fd5-431b-8019-32b40ba4174d.json +42 -0
  220. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-codex-bypass-3b572182-a737-471f-b9cb-b01d5da1752a.json +42 -0
  221. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-codex-bypass-6c225370-2f47-4a0a-80d5-87d12f6c6fdc.json +37 -0
  222. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-codex-bypass-b48399db-cbed-43de-9071-ac27c34e3757.json +37 -0
  223. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-openai-3a8f52b6-c8d6-4d1c-844c-782a6624a29e.json +45 -0
  224. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-openai-6fcdbc20-b14b-4b80-a4da-bf24078da8d2.json +50 -0
  225. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-openai-a8d6f628-40e1-437e-b192-f7232a051a44.json +50 -0
  226. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-openai-c3c39463-a2d6-4ff8-b985-8f6d1fb1aa02.json +45 -0
  227. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/stats-synthetic-a23c264f-151d-4ff0-aab4-bdbb2f6560d8.json +53 -0
  228. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/stats-synthetic-d8178bd3-6530-4915-9cf1-056a975bfbcd.json +53 -0
  229. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/stats-synthetic-e3985119-e101-459e-91cd-21a0905287ba.json +48 -0
  230. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/stats-synthetic-e7a40382-2d27-4db5-a133-dbe346a5dc60.json +48 -0
  231. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-unknown-223d7adc-2dbc-4017-b1ec-0c38294320e2.json +41 -0
  232. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-unknown-347a8548-d2e0-4846-a08e-b0399f8fd3b4.json +41 -0
  233. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-unknown-49b45e2b-e2d2-456f-b73f-e6bc938b6378.json +46 -0
  234. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-unknown-aaf432f2-bb91-41a7-b951-2d4316389632.json +46 -0
  235. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-zero-204ab3e8-f1fe-4894-8fb0-08299deb4c21.json +41 -0
  236. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-zero-9388d2df-fa15-479c-a4ef-2a774c366c0f.json +46 -0
  237. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-zero-e0bb4742-214a-4b3f-88d2-44de54394e2f.json +46 -0
  238. package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-zero-f77e1e2d-742a-490f-9955-1dfb19f59c9c.json +41 -0
  239. package/docs/evaluation/extension-functions-2026-10-17/cache/runner.mjs +36 -0
  240. package/docs/evaluation/extension-functions-2026-10-17/cursor/README.md +20 -0
  241. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-36-10-753Z-2bb4fff5-48cc-4f6b-ae1b-5cc1a07f610b.json +54 -0
  242. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-36-26-537Z-5adc4fb1-0008-4ef9-a106-aa372dabf061.json +56 -0
  243. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-36-32-362Z-30949c31-73a3-4dae-af81-68deded51543.json +56 -0
  244. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-36-38-494Z-8eec81b8-5576-48cb-b2fa-c279269db058.json +56 -0
  245. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-36-45-546Z-991647e5-7ea4-43c4-a90d-868e4ac38d83.json +56 -0
  246. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-37-02-277Z-2296fb35-e5cb-4bf1-9e83-7370bcb46bfe.json +56 -0
  247. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-37-28-390Z-e9c3d106-b4c9-4146-ae83-a2799c907fe5.json +56 -0
  248. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-37-37-371Z-8545c893-a8e3-4dc6-973b-81dfd97d798b.json +56 -0
  249. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-38-41-612Z-c57c4778-261d-4397-8a36-df9cc23ca629.json +58 -0
  250. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-38-51-661Z-0eb898de-7471-4f17-a308-5ef5d86421ff.json +58 -0
  251. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-38-55-412Z-8169d843-a9e7-48f4-88b1-3a90e1592df1.json +58 -0
  252. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-39-15-274Z-a5610333-e428-4cc6-9f5a-9206748ee512.json +58 -0
  253. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-39-39-506Z-d4c80a7b-76b4-4d11-bf0f-552d11b131b2.json +136 -0
  254. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-39-53-515Z-db409f47-8ee5-4354-b7f9-a258eb7e17d0.json +136 -0
  255. package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-42-04-909Z-01d70cb3-6897-46ca-b8aa-1c69d5b5c7fc.json +148 -0
  256. package/docs/evaluation/extension-functions-2026-10-17/cursor/integrity.json +205 -0
  257. package/docs/evaluation/extension-functions-2026-10-17/cursor/probe.mjs +151 -0
  258. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipt-archive.json +186 -0
  259. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-104e378f-8f82-4ae9-bffc-7f1d52e00e74.json +15 -0
  260. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-182a8009-c52a-4760-9768-9cba15fceb9c.json +14 -0
  261. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-1f07360d-046f-4f0c-b40f-6b57a027220c.json +65 -0
  262. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-256cb86e-40ae-4fec-a2d2-9b7f66cc4be8.json +14 -0
  263. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-2667d991-3133-44c3-b883-c401b3c14cb1.json +14 -0
  264. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-394fc425-ed51-408f-ab09-6d26aee0d48f.json +14 -0
  265. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-531d3f1d-c326-4914-b768-3d32103513b9.json +14 -0
  266. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-5c7d0d62-8290-494f-8729-5d60bc626ad7.json +14 -0
  267. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-64af1d94-ea73-481f-b827-dbf6755d8591.json +66 -0
  268. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-65fce696-864c-4247-960e-59f6d671cbf9.json +15 -0
  269. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-66acde31-19c7-4d3e-9814-ddeb2cffd373.json +14 -0
  270. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-79d220d0-fc0b-4cad-85cc-40b9e904fb97.json +14 -0
  271. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-a58f0281-71bc-4757-9d6f-e281f813135e.json +65 -0
  272. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-c2b61e4b-fd33-4969-ab29-118957ca5fbb.json +15 -0
  273. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-f61b5020-2c05-40ad-9cb8-590b22790186.json +15 -0
  274. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-0ee0df5a-299f-451c-96e3-5abcf8bfa999.json +45 -0
  275. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-169e5146-09a2-4231-8017-ebd8d4b75f0a.json +14 -0
  276. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-19d479f2-7162-463e-90de-2d89a13e59a3.json +15 -0
  277. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-1bd882bb-2403-4269-8335-90f9803f57b7.json +14 -0
  278. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-2ab9d418-68b2-4679-bf42-f31b6945ea5a.json +15 -0
  279. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-3a6aa7d7-b956-4fe5-9555-a2c63408c067.json +45 -0
  280. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-6333425f-0b46-4ced-a272-3d48895ee853.json +15 -0
  281. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-6eccb170-ff45-40e2-afc5-dfc0f77c229f.json +14 -0
  282. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-7f330c57-9c3f-4879-a1d0-67c4c5c36050.json +14 -0
  283. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-8d9de272-165c-4bb8-a147-d1b306388472.json +14 -0
  284. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-c1ffa69f-25fa-4f45-a691-af3bc422c089.json +14 -0
  285. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-c24ad0c8-5e7e-4d71-9b22-3e2708ce1626.json +14 -0
  286. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-c5a3140e-a28e-4264-9ee6-51b1310b3123.json +14 -0
  287. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-cdbb3dde-2441-46ae-9111-f2a299d45807.json +46 -0
  288. package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-d68f774c-d1f0-4620-b334-301a20edffc3.json +15 -0
  289. package/docs/evaluation/extension-functions-2026-10-17/cursor/runner.mjs +147 -0
  290. package/docs/evaluation/extension-functions-2026-10-17/integrity.json +618 -0
  291. package/docs/evaluation/extension-functions-2026-10-17/navigation/README.md +22 -0
  292. package/docs/evaluation/extension-functions-2026-10-17/navigation/SHA256SUMS.txt +8 -0
  293. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempt.json +13 -0
  294. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-30-37-626Z-7ba0ce60-b805-4bf1-813f-80f0673c519d.json +50 -0
  295. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-31-06-997Z-0df6e689-b7f6-4daf-a730-724638c7e9bb.json +52 -0
  296. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-31-22-489Z-dfa50911-d117-400d-9ea3-76b224693c10.json +59 -0
  297. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-31-39-899Z-6792c0ef-c795-4136-98e2-b9a9b00489bd.json +59 -0
  298. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-31-58-555Z-e23d44fb-d2cb-42b6-b76b-f2ac53645401.json +59 -0
  299. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-32-18-734Z-3708117d-bca6-44a6-9f61-4339a67535ae.json +60 -0
  300. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-32-34-897Z-abbfb675-7120-46fc-8638-2dde943a3c51.json +114 -0
  301. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-33-30-753Z-f1965485-aa41-4a9a-b62e-267fc9d7686c.json +72 -0
  302. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-33-46-589Z-e3b46364-e0dd-4a95-91ce-c11f5192d83f.json +72 -0
  303. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-33-57-569Z-d296148e-2f64-4921-bad7-391d0f3cc61d.json +74 -0
  304. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-34-30-540Z-51791e8c-b2a7-4f93-bff6-9b0467aeba51.json +109 -0
  305. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-34-57-906Z-2c3e469c-6d89-4707-8bc6-e62dcfacdc7c.json +114 -0
  306. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-35-16-679Z-035260fc-f3d1-4c1c-9619-81f2aa2ced55.json +115 -0
  307. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-36-05-641Z-24ceb58d-441b-4ffe-9853-ef4d15eb8c81.json +73 -0
  308. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-37-00-445Z-1ca606b7-306f-41e9-8745-b53879c620bb.json +72 -0
  309. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-37-23-659Z-c958d5fc-5c17-46b9-abc0-87913f14fd4b.json +73 -0
  310. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-38-49-639Z-9e74ee3c-7cea-4d9e-832f-0b5068d161ec.json +112 -0
  311. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-39-53-463Z-5d834e9f-e247-4887-8200-dee41070567f.json +32 -0
  312. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-40-16-811Z-0be9d64c-a0d7-405c-b81a-12f8c6cfebac.json +33 -0
  313. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-40-36-020Z-412777d5-f352-4fa0-9a07-f017b5f04cbb.json +124 -0
  314. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-42-03-506Z-a0cca711-1300-4431-bfff-5814a409d0af.json +120 -0
  315. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-42-28-426Z-fb70da7e-4888-469a-b5cd-b74da52afa9f.json +112 -0
  316. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-42-41-596Z-c8e99863-70e2-40f1-a516-e9f41156ef44.json +71 -0
  317. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-44-06-279Z-39516e45-daf6-409b-b216-64179608cc2e.json +97 -0
  318. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-45-34-538Z-87ddef90-2fda-4211-a513-0516dec235f4.json +112 -0
  319. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-45-48-020Z-06f478f2-43c4-48a7-ac02-7e53d4df8aaf.json +112 -0
  320. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-46-00-807Z-a98cc49d-6cf6-4109-aa95-f2d36e8d35c3.json +97 -0
  321. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-46-34-183Z-77f75abc-9ec3-41b2-896f-b6f4a180dca8.json +160 -0
  322. package/docs/evaluation/extension-functions-2026-10-17/navigation/attempts/isolated-extensions-results-2026-10-17T13-46-56-605Z-f46134c2-8523-4892-ab76-e88195d79ed2.json +163 -0
  323. package/docs/evaluation/extension-functions-2026-10-17/navigation/child-guard.mjs +30 -0
  324. package/docs/evaluation/extension-functions-2026-10-17/navigation/final-result.json +42 -0
  325. package/docs/evaluation/extension-functions-2026-10-17/navigation/function-probe.mjs +521 -0
  326. package/docs/evaluation/extension-functions-2026-10-17/navigation/function-runner.mjs +201 -0
  327. package/docs/evaluation/extension-functions-2026-10-17/navigation/integrity.json +153 -0
  328. package/docs/evaluation/extension-functions-2026-10-17/navigation/receipt-archive.json +160 -0
  329. package/docs/evaluation/extension-functions-2026-10-17/review.json +27 -0
  330. package/docs/evaluation/extension-functions-2026-10-17/summary.json +102 -0
  331. package/docs/evaluation/extension-functions-2026-10-17/verification.json +103 -0
  332. package/docs/evaluation/isolation-acceptance-2026-10-18/README.md +106 -0
  333. package/docs/evaluation/isolation-acceptance-2026-10-18/auth-warmup.mjs +33 -0
  334. package/docs/evaluation/isolation-acceptance-2026-10-18/contained-agent-ro.json +433 -0
  335. package/docs/evaluation/isolation-acceptance-2026-10-18/contained.json +439 -0
  336. package/docs/evaluation/isolation-acceptance-2026-10-18/control.json +403 -0
  337. package/docs/evaluation/isolation-acceptance-2026-10-18/live.json +75 -0
  338. package/docs/evaluation/isolation-acceptance-2026-10-18/wrapper.sh +37 -0
  339. package/docs/evaluation/ledger-event-bridge-2026-10-21/README.md +360 -0
  340. package/docs/evaluation/ledger-event-bridge-2026-10-21/design.md +150 -0
  341. package/docs/evaluation/ledger-event-bridge-2026-10-21/inventory.md +113 -0
  342. package/docs/evaluation/ledger-event-bridge-2026-10-21/live/README.md +117 -0
  343. package/docs/evaluation/ledger-event-bridge-2026-10-21/live/dry-run/dry-01-L1-A.json +202 -0
  344. package/docs/evaluation/ledger-event-bridge-2026-10-21/live/dry-run/dry-02-L1-C.json +259 -0
  345. package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run/01-L1-A.json +169 -0
  346. package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run/02-L1-A.json +202 -0
  347. package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run/03-L1-C.json +256 -0
  348. package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run/approval.json +31 -0
  349. package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run-2/01-L1-C.json +256 -0
  350. package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run-2/02-L1-A.json +201 -0
  351. package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run-2/approval.json +16 -0
  352. package/docs/evaluation/ledger-event-bridge-2026-10-21/live-plan.md +87 -0
  353. package/docs/evaluation/ledger-event-bridge-2026-10-21/pre-registration.md +117 -0
  354. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/S1.json +361 -0
  355. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/S2.json +544 -0
  356. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/S3.json +470 -0
  357. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/S4.json +271 -0
  358. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/S5.json +271 -0
  359. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/S6.json +266 -0
  360. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/X6.json +29 -0
  361. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/summary.json +269 -0
  362. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S1.json +391 -0
  363. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S2.json +600 -0
  364. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S3.json +519 -0
  365. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S4.json +281 -0
  366. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S5.json +294 -0
  367. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S6.json +280 -0
  368. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S8.json +280 -0
  369. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/X6.json +32 -0
  370. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/summary.json +307 -0
  371. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S1.json +391 -0
  372. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S2.json +600 -0
  373. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S3.json +519 -0
  374. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S4.json +281 -0
  375. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S5.json +294 -0
  376. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S6.json +280 -0
  377. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S8.json +280 -0
  378. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/X6.json +32 -0
  379. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/summary.json +307 -0
  380. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S1.json +409 -0
  381. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S2.json +634 -0
  382. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S3.json +537 -0
  383. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S4.json +281 -0
  384. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S5.json +294 -0
  385. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S6.json +280 -0
  386. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S8.json +280 -0
  387. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/X6.json +32 -0
  388. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/summary.json +307 -0
  389. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S1.json +409 -0
  390. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S2.json +634 -0
  391. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S3.json +537 -0
  392. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S4.json +281 -0
  393. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S5.json +294 -0
  394. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S6.json +280 -0
  395. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S8.json +280 -0
  396. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/X6.json +32 -0
  397. package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/summary.json +307 -0
  398. package/docs/evaluation/live-rescreen-2026-10-17/README.md +114 -0
  399. package/docs/evaluation/live-rescreen-2026-10-17/approval.json +18 -0
  400. package/docs/evaluation/live-rescreen-2026-10-17/approved-budget.json +13 -0
  401. package/docs/evaluation/live-rescreen-2026-10-17/approved-manifest.json +315 -0
  402. package/docs/evaluation/live-rescreen-2026-10-17/audit-rescreen.mjs +78 -0
  403. package/docs/evaluation/live-rescreen-2026-10-17/audit.json +152 -0
  404. package/docs/evaluation/live-rescreen-2026-10-17/backend-independent-checks.json +38 -0
  405. package/docs/evaluation/live-rescreen-2026-10-17/checks.json +54 -0
  406. package/docs/evaluation/live-rescreen-2026-10-17/execution.json +19 -0
  407. package/docs/evaluation/live-rescreen-2026-10-17/integrity.json +138 -0
  408. package/docs/evaluation/live-rescreen-2026-10-17/planning-ledger.json +26 -0
  409. package/docs/evaluation/live-rescreen-2026-10-17/review.json +16 -0
  410. package/docs/evaluation/live-rescreen-2026-10-17/runs/comparison.json +177 -0
  411. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-1.claim +1 -0
  412. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-1.diagnostic.json +1 -0
  413. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-1.json +97 -0
  414. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-2.claim +1 -0
  415. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-2.json +104 -0
  416. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-2.patch +11 -0
  417. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-2.snapshot/contract.mjs +4 -0
  418. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-2.snapshot/package.json +1 -0
  419. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-3.claim +1 -0
  420. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-3.json +89 -0
  421. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-4.claim +1 -0
  422. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-4.json +104 -0
  423. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-4.patch +11 -0
  424. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-4.snapshot/contract.mjs +4 -0
  425. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-4.snapshot/package.json +1 -0
  426. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-5.claim +1 -0
  427. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-5.diagnostic.json +1 -0
  428. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-5.json +117 -0
  429. package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-6.json +53 -0
  430. package/docs/evaluation/live-rescreen-2026-10-17/runtime-observation.json +11 -0
  431. package/docs/evaluation/live-screening-2026-10-17/approval.json +13 -0
  432. package/docs/evaluation/live-screening-2026-10-17/approved-budget.json +13 -0
  433. package/docs/evaluation/live-screening-2026-10-17/approved-manifest.json +359 -0
  434. package/docs/evaluation/live-screening-2026-10-17/audit.json +143 -0
  435. package/docs/evaluation/live-screening-2026-10-17/integrity.json +148 -0
  436. package/docs/evaluation/live-screening-2026-10-17/inventory.json +239 -0
  437. package/docs/evaluation/live-screening-2026-10-17/runs/comparison.json +247 -0
  438. package/docs/evaluation/live-screening-2026-10-17/runs/screen-1.claim +1 -0
  439. package/docs/evaluation/live-screening-2026-10-17/runs/screen-1.diagnostic.json +1 -0
  440. package/docs/evaluation/live-screening-2026-10-17/runs/screen-1.json +98 -0
  441. package/docs/evaluation/live-screening-2026-10-17/runs/screen-2.claim +1 -0
  442. package/docs/evaluation/live-screening-2026-10-17/runs/screen-2.json +104 -0
  443. package/docs/evaluation/live-screening-2026-10-17/runs/screen-2.patch +11 -0
  444. package/docs/evaluation/live-screening-2026-10-17/runs/screen-2.snapshot/contract.mjs +4 -0
  445. package/docs/evaluation/live-screening-2026-10-17/runs/screen-2.snapshot/package.json +1 -0
  446. package/docs/evaluation/live-screening-2026-10-17/runs/screen-3.claim +1 -0
  447. package/docs/evaluation/live-screening-2026-10-17/runs/screen-3.diagnostic.json +1 -0
  448. package/docs/evaluation/live-screening-2026-10-17/runs/screen-3.json +97 -0
  449. package/docs/evaluation/live-screening-2026-10-17/runs/screen-4.claim +1 -0
  450. package/docs/evaluation/live-screening-2026-10-17/runs/screen-4.json +104 -0
  451. package/docs/evaluation/live-screening-2026-10-17/runs/screen-4.patch +11 -0
  452. package/docs/evaluation/live-screening-2026-10-17/runs/screen-4.snapshot/contract.mjs +4 -0
  453. package/docs/evaluation/live-screening-2026-10-17/runs/screen-4.snapshot/package.json +1 -0
  454. package/docs/evaluation/live-screening-2026-10-17/runs/screen-5.claim +1 -0
  455. package/docs/evaluation/live-screening-2026-10-17/runs/screen-5.diagnostic.json +1 -0
  456. package/docs/evaluation/live-screening-2026-10-17/runs/screen-5.json +97 -0
  457. package/docs/evaluation/live-screening-2026-10-17/runs/screen-6.claim +1 -0
  458. package/docs/evaluation/live-screening-2026-10-17/runs/screen-6.json +104 -0
  459. package/docs/evaluation/live-screening-2026-10-17/runs/screen-6.patch +11 -0
  460. package/docs/evaluation/live-screening-2026-10-17/runs/screen-6.snapshot/contract.mjs +4 -0
  461. package/docs/evaluation/live-screening-2026-10-17/runs/screen-6.snapshot/package.json +1 -0
  462. package/docs/evaluation/live-screening-2026-10-17/runs/screen-7.claim +1 -0
  463. package/docs/evaluation/live-screening-2026-10-17/runs/screen-7.json +108 -0
  464. package/docs/evaluation/live-screening-2026-10-17/runs/screen-8.claim +1 -0
  465. package/docs/evaluation/live-screening-2026-10-17/runs/screen-8.diagnostic.json +1 -0
  466. package/docs/evaluation/live-screening-2026-10-17/runs/screen-8.json +116 -0
  467. package/docs/evaluation/m1-ab-proposal-2026-10-18/README.md +124 -0
  468. package/docs/evaluation/m1-ab-proposal-2026-10-18/ab-proposal.json +135 -0
  469. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-1/README.md +25 -0
  470. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-1/approved-budget.json +13 -0
  471. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-1/approved-decision.json +79 -0
  472. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-1/approved-manifest.json +271 -0
  473. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-1/token-live-result.json +546 -0
  474. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-2/README.md +22 -0
  475. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-2/approved-budget.json +13 -0
  476. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-2/approved-decision.json +80 -0
  477. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-2/approved-manifest.json +271 -0
  478. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-2/token-live-result.json +1663 -0
  479. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-3/README.md +23 -0
  480. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-3/approved-budget.json +13 -0
  481. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-3/approved-decision.json +71 -0
  482. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-3/approved-manifest.json +271 -0
  483. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-3/token-live-result.json +1748 -0
  484. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/README.md +25 -0
  485. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-A/approved-budget.json +13 -0
  486. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-A/approved-decision.json +71 -0
  487. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-A/approved-manifest.json +271 -0
  488. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-A/token-live-result.json +3019 -0
  489. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-B/approved-budget.json +13 -0
  490. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-B/approved-decision.json +71 -0
  491. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-B/approved-manifest.json +271 -0
  492. package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-B/token-live-result.json +2859 -0
  493. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/README.md +67 -0
  494. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r1-pair1-A/approved-budget.json +13 -0
  495. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r1-pair1-A/approved-decision.json +71 -0
  496. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r1-pair1-A/approved-manifest.json +271 -0
  497. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r1-pair1-A/token-live-result.json +3019 -0
  498. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r2-pair1-B/approved-budget.json +13 -0
  499. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r2-pair1-B/approved-decision.json +71 -0
  500. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r2-pair1-B/approved-manifest.json +271 -0
  501. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r2-pair1-B/token-live-result.json +2981 -0
  502. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r3-pair2-B/approved-budget.json +13 -0
  503. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r3-pair2-B/approved-decision.json +71 -0
  504. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r3-pair2-B/approved-manifest.json +271 -0
  505. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r3-pair2-B/token-live-result.json +2887 -0
  506. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r4-pair2-A/approved-budget.json +13 -0
  507. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r4-pair2-A/approved-decision.json +71 -0
  508. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r4-pair2-A/approved-manifest.json +271 -0
  509. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r4-pair2-A/token-live-result.json +3189 -0
  510. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r5-pair3-B/approved-budget.json +13 -0
  511. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r5-pair3-B/approved-decision.json +71 -0
  512. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r5-pair3-B/approved-manifest.json +271 -0
  513. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r5-pair3-B/token-live-result.json +2929 -0
  514. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r6-pair3-A/approved-budget.json +13 -0
  515. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r6-pair3-A/approved-decision.json +71 -0
  516. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r6-pair3-A/approved-manifest.json +271 -0
  517. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r6-pair3-A/token-live-result.json +3085 -0
  518. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r7-pair4-A/approved-budget.json +13 -0
  519. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r7-pair4-A/approved-decision.json +71 -0
  520. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r7-pair4-A/approved-manifest.json +271 -0
  521. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r7-pair4-A/token-live-result.json +3019 -0
  522. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r8-pair4-B/approved-budget.json +13 -0
  523. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r8-pair4-B/approved-decision.json +71 -0
  524. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r8-pair4-B/approved-manifest.json +271 -0
  525. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r8-pair4-B/token-live-result.json +2925 -0
  526. package/docs/evaluation/m1-ab-proposal-2026-10-18/results/summary-rows.json +338 -0
  527. package/docs/evaluation/node24-followup-2026-10-17/README.md +55 -0
  528. package/docs/evaluation/node24-followup-2026-10-17/client-migration-review.json +20 -0
  529. package/docs/evaluation/node24-followup-2026-10-17/client-registration-migration.json +31 -0
  530. package/docs/evaluation/node24-followup-2026-10-17/client-registration-verification.json +389 -0
  531. package/docs/evaluation/node24-followup-2026-10-17/closure-checks.json +33 -0
  532. package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-probe.mjs +259 -0
  533. package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-report.md +39 -0
  534. package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-result-attempt-2.json +49 -0
  535. package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-result-attempt-3.json +76 -0
  536. package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-result-attempt-4.json +108 -0
  537. package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-result.json +12 -0
  538. package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-run.mjs +96 -0
  539. package/docs/evaluation/node24-followup-2026-10-17/download.json +16 -0
  540. package/docs/evaluation/node24-followup-2026-10-17/extension-summary.json +97 -0
  541. package/docs/evaluation/node24-followup-2026-10-17/final-review.json +15 -0
  542. package/docs/evaluation/node24-followup-2026-10-17/install.json +10 -0
  543. package/docs/evaluation/node24-followup-2026-10-17/integrity.json +204 -0
  544. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-evidence.json +39 -0
  545. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-probe.mjs +277 -0
  546. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-report.md +35 -0
  547. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-19-48-378Z-b378dc9f-9ab8-4349-8892-78af8184f78f.json +151 -0
  548. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-20-22-821Z-85cfcba4-c05e-4c5a-9658-d8d70f5c8d1a.json +223 -0
  549. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-20-54-825Z-fd5d8373-6e29-4197-84bd-2e65251b4db8.json +207 -0
  550. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-21-44-636Z-488698ad-f8bf-4d7e-b85a-615275c32e5d.json +82 -0
  551. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-22-05-375Z-16f5d77c-32a2-4d0a-905a-e080b392316f.json +94 -0
  552. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-22-07-471Z-fcbe7c98-fed3-4120-a860-b2e3f9572836.json +63 -0
  553. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-22-17-638Z-45ec386d-3429-4a7c-a10e-8673c03861f0.json +63 -0
  554. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-22-22-485Z-1b08e134-667c-4416-8372-cb233939c48b.json +125 -0
  555. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-22-25-490Z-223fd05e-52f9-4996-88d7-3ec43a6ecdd9.json +125 -0
  556. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-23-42-291Z-f4af1e12-844e-4b2d-a090-9068e7626dd5.json +82 -0
  557. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-24-36-866Z-30770d13-c7ae-4309-921b-5c1b43050adb.json +52 -0
  558. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-25-05-378Z-2a5dffc1-3f3a-433a-823f-6e77964dcaee.json +53 -0
  559. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-25-15-842Z-798946f5-b9a5-4810-8a0c-35be6f40abb3.json +83 -0
  560. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-results-2026-10-17T09-25-19-099Z-89bd000d-bb51-4e3a-b713-51ff1ff4e38b.json +87 -0
  561. package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-runner.mjs +172 -0
  562. package/docs/evaluation/node24-followup-2026-10-17/isolated-install.json +121 -0
  563. package/docs/evaluation/node24-followup-2026-10-17/isolated-package-lock.json +2321 -0
  564. package/docs/evaluation/node24-followup-2026-10-17/isolated-package.json +12 -0
  565. package/docs/evaluation/node24-followup-2026-10-17/launcher-review.json +17 -0
  566. package/docs/evaluation/node24-followup-2026-10-17/launcher-switch.json +28 -0
  567. package/docs/evaluation/node24-followup-2026-10-17/mcp-launcher-test.json +24 -0
  568. package/docs/evaluation/node24-followup-2026-10-17/migrate-client-node.mjs +129 -0
  569. package/docs/evaluation/node24-followup-2026-10-17/node-runtime-report.md +127 -0
  570. package/docs/evaluation/node24-followup-2026-10-17/node24-checks.json +44 -0
  571. package/docs/evaluation/node24-followup-2026-10-17/pi-launcher-test.json +13 -0
  572. package/docs/evaluation/node24-followup-2026-10-17/publication-export.json +11 -0
  573. package/docs/evaluation/node24-followup-2026-10-17/restore-launchers.mjs +26 -0
  574. package/docs/evaluation/node24-followup-2026-10-17/verify-client-node.mjs +36 -0
  575. package/docs/evaluation/permission-gates-2026-10-17/README.md +23 -0
  576. package/docs/evaluation/permission-gates-2026-10-17/attempts.json +53 -0
  577. package/docs/evaluation/permission-gates-2026-10-17/integrity.json +46 -0
  578. package/docs/evaluation/permission-gates-2026-10-17/permission-gate-probe.mjs +132 -0
  579. package/docs/evaluation/permission-gates-2026-10-17/permission-gate-worker.mjs +209 -0
  580. package/docs/evaluation/permission-gates-2026-10-17/permission-gates-result-final.json +53 -0
  581. package/docs/evaluation/permission-gates-2026-10-17/permission-gates-result-verified.json +54 -0
  582. package/docs/evaluation/permission-gates-2026-10-17/permission-gates-result.json +53 -0
  583. package/docs/evaluation/permission-gates-2026-10-17/review.json +19 -0
  584. package/docs/evaluation/permission-gates-2026-10-17/superseded-initial-receipt.json +40 -0
  585. package/docs/evaluation/pi-lens-registration-2026-10-19/README.md +90 -0
  586. package/docs/evaluation/pi-lens-registration-2026-10-19/probe.mjs +126 -0
  587. package/docs/evaluation/pi-lens-registration-2026-10-19/result.json +1 -0
  588. package/docs/evaluation/plan-continuation-2026-10-17/README.md +107 -0
  589. package/docs/evaluation/plan-continuation-2026-10-17/budget.proposed.json +13 -0
  590. package/docs/evaluation/plan-continuation-2026-10-17/checks.json +1048 -0
  591. package/docs/evaluation/plan-continuation-2026-10-17/integrity.json +58 -0
  592. package/docs/evaluation/plan-continuation-2026-10-17/inventory.json +239 -0
  593. package/docs/evaluation/plan-continuation-2026-10-17/manifest.proposed.json +315 -0
  594. package/docs/evaluation/plan-continuation-2026-10-17/next-stage-ledger.json +19 -0
  595. package/docs/evaluation/plan-continuation-2026-10-17/prepare-rescreen.mjs +30 -0
  596. package/docs/evaluation/plan-continuation-2026-10-17/prior-integrity.json +25 -0
  597. package/docs/evaluation/plan-continuation-2026-10-17/proposal-validation.json +14 -0
  598. package/docs/evaluation/plan-continuation-2026-10-17/receipt-contract-update.patch +40 -0
  599. package/docs/evaluation/plan-continuation-2026-10-17/review.json +8 -0
  600. package/docs/evaluation/plan-continuation-2026-10-17/source-delta.json +14 -0
  601. package/docs/evaluation/profile-evaluation.md +297 -0
  602. package/docs/evaluation/publication-2026-10-17/README.md +88 -0
  603. package/docs/evaluation/publication-2026-10-17/checks.json +117 -0
  604. package/docs/evaluation/publication-2026-10-17/integrity.json +21 -0
  605. package/docs/evaluation/publication-2026-10-17/publication-scan.json +63 -0
  606. package/docs/evaluation/publication-2026-10-17/review.json +21 -0
  607. package/docs/evaluation/s5-decision-inputs-2026-10-18/README.md +16 -0
  608. package/docs/evaluation/s5-decision-inputs-2026-10-18/bounded-wait.md +78 -0
  609. package/docs/evaluation/s5-decision-inputs-2026-10-18/claude-projection/README.md +151 -0
  610. package/docs/evaluation/s5-decision-inputs-2026-10-18/claude-projection/attempt-1/claude-projection.json +126 -0
  611. package/docs/evaluation/s5-decision-inputs-2026-10-18/claude-projection/attempt-2/claude-projection.json +1895 -0
  612. package/docs/evaluation/s5-decision-inputs-2026-10-18/claude-projection/attempt-3/claude-projection.json +1895 -0
  613. package/docs/evaluation/s5-decision-inputs-2026-10-18/claude-projection/attempt-4/claude-projection.json +1797 -0
  614. package/docs/evaluation/s5-decision-inputs-2026-10-18/claude-projection/attempt-5/claude-projection.json +1797 -0
  615. package/docs/evaluation/s5-decision-inputs-2026-10-18/worker-usage.md +63 -0
  616. package/docs/evaluation/s7-live-acceptance-2026-10-24/README.md +212 -0
  617. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/binding.json +20 -0
  618. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/config-ev-off.json +43 -0
  619. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/config-ev-spool.json +43 -0
  620. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/config-l3.json +39 -0
  621. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/config-pre.json +31 -0
  622. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e-teardown-setup-remove.json +1 -0
  623. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-clean-10s.json +15 -0
  624. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-clean.json +15 -0
  625. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-digest-ev-e1.json +8 -0
  626. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-leaks.json +131 -0
  627. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-oracle.json +74 -0
  628. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-run.json +33 -0
  629. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-setup-1-dryrun.json +1 -0
  630. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-setup-2-apply.json +1 -0
  631. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-setup-3-verify.json +1 -0
  632. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-clean-10s.json +15 -0
  633. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-clean.json +15 -0
  634. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-digest-ev-e2l.json +8 -0
  635. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-digest-ev-e2s.json +8 -0
  636. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-leaks.json +205 -0
  637. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-oracle.json +110 -0
  638. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-run.json +33 -0
  639. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e3b-clean-10s.json +15 -0
  640. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e3b-clean.json +15 -0
  641. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e3b-digest-ev-e3.json +8 -0
  642. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e3b-leaks.json +215 -0
  643. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e3b-oracle.json +79 -0
  644. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e3b-run.json +33 -0
  645. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-clean-10s.json +15 -0
  646. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-clean.json +15 -0
  647. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-digest-ev-e4a.json +8 -0
  648. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-digest-ev-e4b.json +8 -0
  649. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-late-a.json +16 -0
  650. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-late-b.json +16 -0
  651. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-leaks.json +167 -0
  652. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-oracle.json +70 -0
  653. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-run.json +37 -0
  654. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-clean-10s.json +15 -0
  655. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-clean.json +15 -0
  656. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-digest-ev-e5.json +8 -0
  657. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-leaks.json +82 -0
  658. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-oracle.json +60 -0
  659. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-run.json +33 -0
  660. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-server-env-names.txt +14 -0
  661. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-clean-10s.json +15 -0
  662. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-clean.json +15 -0
  663. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-digest-ev-e1.json +8 -0
  664. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-leaks.json +156 -0
  665. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-run.json +37 -0
  666. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-setup-apply.json +1 -0
  667. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-teardown-remove.json +1 -0
  668. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/final-e-clean.json +15 -0
  669. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/kit.sha256 +23 -0
  670. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l2-packed-off.json +1185 -0
  671. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l2-packed-spool.json +1334 -0
  672. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l2-wt-off.json +1185 -0
  673. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l2-wt-spool.json +1334 -0
  674. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv1-clean-10s.json +15 -0
  675. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv1-clean.json +15 -0
  676. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv1-digest-cc-analysis.json +8 -0
  677. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv1-leaks.json +80 -0
  678. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv1-oracle.json +61 -0
  679. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv1-run.json +33 -0
  680. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-clean-10s.json +15 -0
  681. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-clean.json +15 -0
  682. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-leaks.json +80 -0
  683. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-oracle-stage1.json +34 -0
  684. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-oracle-stage2.json +35 -0
  685. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-run.json +33 -0
  686. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-snapshot-stage1.txt +4 -0
  687. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-snapshot-stage2.txt +5 -0
  688. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-clean-10s.json +15 -0
  689. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-clean.json +15 -0
  690. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-digest-cc-abort.json +8 -0
  691. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-leaks.json +82 -0
  692. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-oracle-flow.json +61 -0
  693. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-oracle-late.json +16 -0
  694. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-run.json +33 -0
  695. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-controller-skill-remove.json +1 -0
  696. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-controller-skill-setup.json +1 -0
  697. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv1-clean-10s.json +15 -0
  698. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv1-clean.json +15 -0
  699. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv1-digest-cx-analysis.json +8 -0
  700. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv1-leaks.json +93 -0
  701. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv1-oracle.json +61 -0
  702. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv1-run.json +33 -0
  703. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-clean-10s.json +15 -0
  704. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-clean.json +15 -0
  705. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-leaks.json +93 -0
  706. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-oracle-stage1.json +34 -0
  707. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-oracle-stage2.json +35 -0
  708. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-run.json +33 -0
  709. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-snapshot-stage1.txt +4 -0
  710. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-snapshot-stage2.txt +5 -0
  711. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-clean-10s.json +15 -0
  712. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-clean.json +15 -0
  713. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-digest-cx-abort.json +8 -0
  714. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-leaks.json +95 -0
  715. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-oracle-flow.json +61 -0
  716. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-oracle-late.json +16 -0
  717. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-run.json +33 -0
  718. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-clean-10s.json +15 -0
  719. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-clean.json +15 -0
  720. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-digest-pre-analysis.json +8 -0
  721. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-digest-pre-code.json +8 -0
  722. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-leaks.json +86 -0
  723. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-oracle.json +39 -0
  724. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-run.json +33 -0
  725. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-clean-10s.json +15 -0
  726. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-clean.json +15 -0
  727. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-digest-pre-analysis.json +8 -0
  728. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-digest-pre-code.json +8 -0
  729. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-leaks.json +47 -0
  730. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-oracle.json +39 -0
  731. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-run.json +33 -0
  732. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/regdigest-after-cc.json +6 -0
  733. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/regdigest-after-cx.json +6 -0
  734. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/regdigest-after-e.json +6 -0
  735. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/regdigest-before.json +6 -0
  736. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w1-control-apply.json +1 -0
  737. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w1-control-dryrun.json +1 -0
  738. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w1-provision-apply-attempt1.json +1 -0
  739. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w1-provision-apply-attempt2.json +1 -0
  740. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w1-provision-dryrun.json +1 -0
  741. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w1-writer-verify.json +1 -0
  742. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2-leaks.json +130 -0
  743. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2-oracle.txt +14 -0
  744. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2-run.json +33 -0
  745. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2b-oracle.txt +16 -0
  746. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2c-oracle.txt +8 -0
  747. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2d-oracle.txt +6 -0
  748. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2r-leaks.json +130 -0
  749. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2r-oracle.txt +3 -0
  750. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2r-run.json +33 -0
  751. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w3-collect.json +1 -0
  752. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w3-finish.json +1 -0
  753. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w3r-collect.json +1 -0
  754. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w3r-finish.json +1 -0
  755. package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w4-remove.json +1 -0
  756. package/docs/evaluation/subagent-probe-2026-10-26/README.md +132 -0
  757. package/docs/evaluation/subagent-probe-2026-10-26/results/K7.json +463 -0
  758. package/docs/evaluation/subagent-probe-2026-10-26/results/summary.json +50 -0
  759. package/docs/evaluation/test-coverage-2026-10-17.json +483 -0
  760. package/docs/evaluation/test-coverage-review-2026-10-17.json +22 -0
  761. package/docs/evaluation/test-coverage-verification-2026-10-17.json +31 -0
  762. package/docs/evaluation/token-footprint-2026-10-17/README.md +297 -0
  763. package/docs/evaluation/token-footprint-2026-10-17/baseline.json +25871 -0
  764. package/docs/evaluation/token-footprint-2026-10-17/calibration-2/README.md +24 -0
  765. package/docs/evaluation/token-footprint-2026-10-17/calibration-2/baseline.json +30346 -0
  766. package/docs/evaluation/token-footprint-2026-10-17/calibration-2/client-projection.json +2538 -0
  767. package/docs/evaluation/token-footprint-2026-10-17/calibration-2/live-approval/budget.json +13 -0
  768. package/docs/evaluation/token-footprint-2026-10-17/calibration-2/live-approval/decision.json +69 -0
  769. package/docs/evaluation/token-footprint-2026-10-17/calibration-2/live-approval/manifest.json +271 -0
  770. package/docs/evaluation/token-footprint-2026-10-17/calibration-2/live-package.json +785 -0
  771. package/docs/evaluation/token-footprint-2026-10-17/calibration-2/measurement.json +37956 -0
  772. package/docs/evaluation/token-footprint-2026-10-17/calibration-2/summary.json +119 -0
  773. package/docs/evaluation/token-footprint-2026-10-17/checks-final.json +273 -0
  774. package/docs/evaluation/token-footprint-2026-10-17/checks.json +190 -0
  775. package/docs/evaluation/token-footprint-2026-10-17/client-attempts/README.md +25 -0
  776. package/docs/evaluation/token-footprint-2026-10-17/client-attempts/attempt-4.json +2274 -0
  777. package/docs/evaluation/token-footprint-2026-10-17/client-attempts/pilot-1.json +77 -0
  778. package/docs/evaluation/token-footprint-2026-10-17/client-attempts/pilot-2.json +81 -0
  779. package/docs/evaluation/token-footprint-2026-10-17/client-attempts/pilot-3.json +121 -0
  780. package/docs/evaluation/token-footprint-2026-10-17/current-calibration/baseline.json +30346 -0
  781. package/docs/evaluation/token-footprint-2026-10-17/current-calibration/measurement.json +37956 -0
  782. package/docs/evaluation/token-footprint-2026-10-17/current-calibration/summary.json +119 -0
  783. package/docs/evaluation/token-footprint-2026-10-17/current-client-projection.json +2538 -0
  784. package/docs/evaluation/token-footprint-2026-10-17/follow-up.md +76 -0
  785. package/docs/evaluation/token-footprint-2026-10-17/integrity.json +171 -0
  786. package/docs/evaluation/token-footprint-2026-10-17/live-approval/README.md +36 -0
  787. package/docs/evaluation/token-footprint-2026-10-17/live-approval/budget.json +13 -0
  788. package/docs/evaluation/token-footprint-2026-10-17/live-approval/decision.json +69 -0
  789. package/docs/evaluation/token-footprint-2026-10-17/live-approval/manifest.json +271 -0
  790. package/docs/evaluation/token-footprint-2026-10-17/live-package.json +795 -0
  791. package/docs/evaluation/token-footprint-2026-10-17/live-proposal.json +427 -0
  792. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/README.md +75 -0
  793. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-1/approved-budget.json +13 -0
  794. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-1/approved-decision.json +69 -0
  795. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-1/approved-manifest.json +271 -0
  796. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-1/token-live-result.json +837 -0
  797. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-2/approved-budget.json +13 -0
  798. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-2/approved-decision.json +69 -0
  799. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-2/approved-manifest.json +271 -0
  800. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-2/token-live-result.json +985 -0
  801. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-3/approved-budget.json +13 -0
  802. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-3/approved-decision.json +69 -0
  803. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-3/approved-manifest.json +271 -0
  804. package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-3/token-live-result.json +3055 -0
  805. package/docs/evaluation/token-footprint-2026-10-17/measurement.json +32476 -0
  806. package/docs/evaluation/token-footprint-2026-10-17/prior-calibration/README.md +20 -0
  807. package/docs/evaluation/token-footprint-2026-10-17/prior-calibration/integrity.json +40 -0
  808. package/docs/evaluation/token-footprint-2026-10-17/summary.json +119 -0
  809. package/docs/evaluation/tool-definitions-2026-10-18/README.md +204 -0
  810. package/docs/evaluation/tool-definitions-2026-10-18/codex-projection/after/client-projection.json +2853 -0
  811. package/docs/evaluation/tool-definitions-2026-10-18/codex-projection/before/client-projection.json +2853 -0
  812. package/docs/evaluation/tool-definitions-2026-10-18/compare-validation.mjs +64 -0
  813. package/docs/evaluation/tool-definitions-2026-10-18/diff-validation.mjs +13 -0
  814. package/docs/evaluation/tool-definitions-2026-10-18/measure-wire.mjs +31 -0
  815. package/docs/evaluation/worker-system-prompt-2026-10-26/README.md +95 -0
  816. package/docs/evaluation/worker-system-prompt-2026-10-26/probe.mjs +155 -0
  817. package/docs/execution-modes.md +388 -0
  818. package/docs/installation.md +246 -12
  819. package/docs/isolation-setup.md +258 -0
  820. package/docs/macos-setup-design.md +2 -2
  821. package/docs/pi-extensions-design.md +71 -16
  822. package/docs/releasing.md +12 -6
  823. package/docs/reviews/2026-10-18-adr-0008-decision-brief.md +53 -0
  824. package/docs/roadmap.md +320 -9
  825. package/docs/session-mcp.md +5 -1
  826. package/docs/skills.md +23 -0
  827. package/docs/sprints/2026-10-15-s4-decision.md +73 -4
  828. package/docs/sprints/2026-10-17-token-footprint.md +130 -0
  829. package/docs/sprints/2026-10-18-s5-maintenance-orchestration.md +202 -0
  830. package/docs/sprints/2026-10-21-s6-ledger-event-bridge.md +120 -0
  831. package/docs/sprints/2026-10-24-s7-stabilization-live-acceptance.md +173 -0
  832. package/docs/sprints/2026-10-24-s8-writer-migration.md +235 -0
  833. package/docs/sprints/2026-10-26-s10-orchestration-reliability.md +250 -0
  834. package/docs/sprints/2026-10-26-s11-orchestration-gaps.md +173 -0
  835. package/docs/threat-model.md +37 -6
  836. package/docs/tool-contracts.md +91 -9
  837. package/package.json +17 -11
  838. package/scripts/isolation-acceptance.mjs +709 -0
  839. package/scripts/isolation-probe.cjs +213 -0
  840. package/skills/pi-session-implementation/SKILL.md +13 -3
  841. package/skills/pi-session-orchestration/SKILL.md +50 -13
  842. package/skills/pi-session-orchestration/references/start-errors.md +12 -0
  843. package/skills/pi-session-review/SKILL.md +13 -5
@@ -39,7 +39,34 @@ Success means:
39
39
  - Installing or updating extensions. Pi owns that (`pi update --extensions`).
40
40
  - Version ranges or "latest". A version is pinned exactly.
41
41
  - Pi's built-in extensions (`mcp`, `codemode`, `tool-search`, `llama.cpp`).
42
- pi-session-mcp keeps its own `mcpServers` bridge.
42
+ pi-session-mcp keeps its own `mcpServers` bridge. Re-checked against Pi SDK
43
+ 1.4.0 for [#115](https://github.com/plagor44-ux/pi-session-mcp/issues/115):
44
+ - **Not loaded.** Only the Pi CLI passes its `builtInExtensions` to the
45
+ resource loader. `createAgentSession` and `createAgentSessionServices` add
46
+ them only when `extensionFactories` names them, which this server never
47
+ does. Both resource loaders also set `noExtensions`.
48
+ - **Regression guard.** `test/sdk-extension-contract.test.ts` places a
49
+ `mcp.json` in the global agent directory (`PI_CODING_AGENT_DIR`), in the
50
+ workspace and in `.pi/`. It checks that a session, including its
51
+ `session_start`, starts none of these servers. With the built-ins
52
+ injected, the test fails.
53
+ - **Why the own bridge stays.**
54
+ - Pi's client discovers servers from files: `<agent dir>/mcp.json`, which
55
+ `pi mcp add` writes, and, for trusted projects, `.pi/mcp.json`.
56
+ Config values may run commands (`!cmd`). HTTP servers can carry OAuth or
57
+ a provider token (`auth.provider`).
58
+ - Its `exposure` and `toolExposure` settings control visibility to the
59
+ model, not authorization. A `--tools` allowlist without an `mcp__` entry
60
+ keeps MCP tools outside the allowlist.
61
+ - The bridge, in contrast, connects only operator-configured local stdio
62
+ servers with absolute commands and an `envFrom` allowlist. It grants
63
+ named tools per profile, and in `read-only` profiles only those the
64
+ operator marked `readOnly`. Startup, calls and shutdown are bounded.
65
+ - **Grants for `mcp__` names** are not planned. They would require loading
66
+ the built-in client and the codemode or tool-search machinery around it.
67
+ The rejection of extension tool names that start with `mcp__` stays.
68
+ - **Revisit** if the SDK offers, as a root export, a per-session MCP
69
+ configuration without file discovery and with an exact tool allowlist.
43
70
  - Extension CLI flags (for example `--cursor-runtime`) and extension UI. Flags
44
71
  keep their defaults; UI calls go to the SDK's no-op UI.
45
72
  - Extension slash commands triggered by client prompt text.
@@ -52,7 +79,7 @@ Success means:
52
79
  | Capability scope | Full: providers, tools, hooks, system-prompt changes. |
53
80
  | Naming and pinning | `npm:<name>@<exact version>`, resolved from Pi's user install; any other installed version fails closed. |
54
81
  | Granularity | Per execution profile. |
55
- | `read-only` profiles | Extensions allowed; the model's tools stay read/grep/find/ls. |
82
+ | `read-only` profiles | Extensions allowed; read/grep/find/ls plus granted MCP tools and individually granted extension tools (ADR 0010). |
56
83
  | Integration approach | Pi SDK session lifecycle API (`createAgentSessionServices`, `createAgentSessionFromServices`, `AgentSessionRuntime`). |
57
84
 
58
85
  ## Current behavior and constraints
@@ -200,8 +227,10 @@ For a profile with `extensions`, `SdkPiSessionAdapter.create` runs:
200
227
  failure is `extension_load_failed`.
201
228
  8. **Postchecks.** Model, thinking level and active tools. For extension
202
229
  sessions no active tool may be outside the composed allowlist, but fewer
203
- active tools are allowed: an extension may deactivate tools, as
204
- `pi-cursor-sdk` does with its own tool in `session_start`. Sessions without
230
+ active tools are allowed except for explicitly granted extension tools in
231
+ read-only profiles: each must be active and declared to the model at admission
232
+ (ADR 0010). An extension may otherwise deactivate tools, as `pi-cursor-sdk`
233
+ does with its own tool in `session_start`. Sessions without
205
234
  extensions keep the exact-equality check as today.
206
235
 
207
236
  Step 3, step 6 and step 7 are each bounded by the existing session-creation
@@ -213,11 +242,26 @@ and step 6 leaves no session to dispose.
213
242
 
214
243
  ### Tools, hooks and prompts
215
244
 
216
- - **`read-only`.** The tool list is `read`, `grep`, `find`, `ls`, exactly as
217
- today. Extension tools are registered but inactive. An extension that calls
218
- `setActiveTools` cannot activate a tool outside the list; a contract test
219
- proves this against the real SDK. If the SDK does not enforce it, the
220
- adapter adds its own check before the implementation is accepted.
245
+ - **`read-only`.** Under [ADR 0010](adr/0010-read-only-extension-tools.md),
246
+ the active tools are `read`, `grep`, `find`, `ls`, the granted MCP tools and
247
+ exactly the extension tools named in `grantedExtensionTools`. Without grants,
248
+ extension tools remain inactive. An extension's `setActiveTools` cannot add
249
+ others. The field is allowed only on read-only profiles with at least one
250
+ extension: at most 32 unique names satisfying the extension name rule below,
251
+ with no built-in names. A violation prevents startup with
252
+ `invalid_execution_profile_config`.
253
+ Each grant must be registered at extension load, before bind; after bind the
254
+ existing re-check applies. Each granted tool must also be active and declared
255
+ to the model at admission, or start fails with `extension_tool_missing`,
256
+ message `Granted Pi extension tool is not available`, class `needs_operator`.
257
+ Resolution errors (`extension_not_installed`, `extension_version_mismatch`)
258
+ take precedence; conflicts are checked first as `extension_tool_conflict`.
259
+ The SDK activates only declarable tools, so registration alone is insufficient.
260
+ Several registered `pi-lens` tools were never active in the
261
+ [evaluation](evaluation/pi-lens-registration-2026-10-19/); granting one fails
262
+ closed. Lazy registration in `session_start` or later is unsupported.
263
+ A grant is the operator's trust decision: third-party tools may write, and
264
+ workspace modes `container` and `read-only` do not restrict them.
221
265
  - **`coding`.** The tool list is the built-in coding tools, the granted MCP
222
266
  tools, and every tool registered by the profile's extensions. The adapter
223
267
  reads the registered tool names from the services' resource loader after
@@ -239,9 +283,12 @@ and step 6 leaves no session to dispose.
239
283
  This server's own MCP bridge tools use a single underscore (`mcp_<server>_<tool>`)
240
284
  and never collide.
241
285
  The check runs after load and again after binding, because a `session_start`
242
- handler can register a tool during `bindExtensions`. If the registered tool
243
- set then differs from the one the session was created with, the start fails
244
- with `extension_tool_conflict`. Tools an extension registers later, during a
286
+ handler can register a tool during `bindExtensions`. In read-only profiles,
287
+ the re-check fails on a name conflict (`extension_tool_conflict`) or a missing
288
+ grant (`extension_tool_missing`); an extra, non-colliding registration stays
289
+ inactive outside the allowlist. In coding profiles the composed list includes
290
+ all registered extension tools, so a changed registered set fails with
291
+ `extension_tool_conflict`. Tools an extension registers later, during a
245
292
  turn, are not re-checked; allowlisted extensions are trusted code.
246
293
  - **Hook errors while binding.** A hook error reported while binding fails the
247
294
  start with `extension_load_failed`. Failure cleanup disposes the session
@@ -319,19 +366,26 @@ cannot be intercepted in Node.js; this is a documented residual risk.
319
366
 
320
367
  `pi_capabilities_get` adds `extensions` to every execution profile: an array of
321
368
  the configured spec strings, empty for profiles without extensions. The field
322
- is path-free and secret-free. `capabilitiesSchema` and
369
+ is path-free and secret-free. Each profile also has `grantedExtensionTools`
370
+ directly after `extensions`, in configured order, or `[]` when absent. It is
371
+ configuration intent only, not proof of runtime availability; setup verify
372
+ validates it. `capabilitiesSchema` and
323
373
  `docs/tool-contracts.md` change accordingly.
324
374
 
325
375
  ### Doctor
326
376
 
327
- Doctor gains two checks after the workspace checks, one per profile and
377
+ Doctor includes these checks after the workspace checks, one per profile and
328
378
  extension, with the subject `<profile>:<package name>`:
329
379
 
330
380
  - `extension_missing` (error) when the resolver finds no installed package;
331
381
  - `extension_version_mismatch` (error) when the installed manifest version
332
- differs, or the manifest is unreadable.
382
+ differs, or the manifest is unreadable;
383
+ - `extension_unpinned` (warning) when Pi's agent `settings.json` lists the
384
+ configured extension as `npm:<name>` (a string or an object's `source`). Pin
385
+ it with `pi install npm:<name>@<version>`. Missing, unreadable, or invalid
386
+ settings are ignored by this advisory check.
333
387
 
334
- Doctor reads manifests only; it never imports extension code. It stays
388
+ Doctor reads manifests and settings only; it never imports extension code. It stays
335
389
  offline. `setup --verify` includes Doctor and therefore these checks.
336
390
 
337
391
  ### Diagnostics
@@ -352,6 +406,7 @@ admitted:
352
406
  | `extension_version_mismatch` | Configured Pi extension version is not installed | The installed version differs from the pinned version. |
353
407
  | `extension_load_failed` | Configured Pi extension could not be loaded | Invalid manifest, entry outside the package, load or bind error, services diagnostic of type `error`. |
354
408
  | `extension_tool_conflict` | Configured Pi extension tools conflict | An extension tool name collides with a built-in, MCP or other extension tool, or is unsafe (see *Name conflicts*). |
409
+ | `extension_tool_missing` | Granted Pi extension tool is not available | A read-only grant is not registered at load, or is not active and declared to the model at admission; class `needs_operator`. |
355
410
 
356
411
  Existing codes keep their meaning. An extension provider that is unknown after
357
412
  loading is `unknown_provider`.
package/docs/releasing.md CHANGED
@@ -37,13 +37,15 @@ SDK's own packages are pinned directly (see [Update the Pi SDK](#update-the-pi-s
37
37
  The Pi SDK is pinned exactly, together with the SDK's internal
38
38
  `@earendil-works` packages: `pi-ai`, `pi-mcp`, `pi-tui`, `pi-codemode` and
39
39
  `pi-agent-core`, which the SDK declares, and `pi-telemetry`, which `pi-ai`
40
- declares. They are declared with caret ranges, and npm does not ship our
41
- lockfile inside the package, so a consumer install resolves those ranges fresh.
42
- A newer family member can then break the pinned SDK, as in
40
+ declares. Up to `1.2.0` they were declared with caret ranges, and npm does not
41
+ ship our lockfile inside the package, so a consumer install resolved those
42
+ ranges fresh. A newer family member could then break the pinned SDK, as in
43
43
  [#78](https://github.com/plagor44-ux/pi-session-mcp/issues/78), where
44
- `pi-codemode` 1.2.0 removed an export that `pi-coding-agent` 1.1.0 imports. We
45
- do not import the family members; they are direct, exactly pinned dependencies
46
- only so that a fresh install resolves the SDK's ranges to the tested versions.
44
+ `pi-codemode` 1.2.0 removed an export that `pi-coding-agent` 1.1.0 imports.
45
+ Since `1.3.0` the SDK pins its family exactly. We do not import the family
46
+ members; they stay direct, exactly pinned dependencies as a guard, so that a
47
+ fresh install resolves to the tested versions even if upstream returns to
48
+ ranges.
47
49
  The SDK and the six packages therefore always move together, each to the
48
50
  version the canary resolves from the declared ranges.
49
51
 
@@ -198,6 +200,8 @@ Steps:
198
200
  5. Run the working-tree
199
201
  [Level 2 acceptance](acceptance.md#tooling) on the release candidate with
200
202
  `scripts/setup-acceptance.mjs`, unless the release notes state its absence.
203
+ Run it twice: once as is, with delivery off, and once with
204
+ `--events spool`, with turn-event delivery enabled (#113).
201
205
  6. Run the packed-tarball Level 2 acceptance on the same candidate. Pack the
202
206
  built package, install the tarball into a fresh prefix and point the harness
203
207
  at the installed package:
@@ -213,6 +217,8 @@ Steps:
213
217
  rm -rf "$PREFIX" ./pi-session-mcp-<x.y.z>.tgz
214
218
  ```
215
219
 
220
+ Repeat the harness run with `--events spool` against the same prefix.
221
+
216
222
  This is the only acceptance-level pre-release check that resolves
217
223
  dependencies like a consumer: the working tree and the CI build use our
218
224
  lockfile, which a published package does not carry (#78). The CI install
@@ -0,0 +1,53 @@
1
+ # Decision brief: ADR 0008 (#79), state on 2026-10-18
2
+
3
+ For the maintainer. ADR 0008 stays **Proposed**; this brief prepares the decision
4
+ and changes nothing at runtime. Base main `612fbcb`. First draft by a read-only
5
+ agy/Gemini pass over the repository; every statement below was rechecked against
6
+ the cited files by the integrator.
7
+
8
+ ## What changed since the ADR was written
9
+
10
+ - **Stale, corrected in this sprint:** the ADR said macOS live acceptance (R10,
11
+ R11) was open. It passed for Claude Code on 2026-10-16 with release 0.8.3 on a
12
+ real Mac: Level 1, R10 setup (117/117 checks), R11 smoke and a one-client live
13
+ check ([Acceptance](../acceptance.md#macos-acceptance-on-real-hardware-2026-10-16)).
14
+ Not established there: Codex on macOS, the two-client Level 3 cycle, lock
15
+ contention and interruption.
16
+ - **Still not proven anywhere:** containment on macOS. No VM or container setup
17
+ was tried or accepted; the R10/R11 evidence covers setup and smoke, not
18
+ isolation. The live check's diff restriction was model compliance, not an OS
19
+ boundary.
20
+ - **#81 delivered as advice:** Doctor now warns (`workspace_gitfile`) when a
21
+ workspace has a `.git` gitfile and a coding profile exists. This is
22
+ implemented and unreleased; it detects a *possible* linked worktree
23
+ conservatively and enforces nothing.
24
+ - Unchanged and current: the threats T1–T6, the coding tool grant, the
25
+ one-process-per-client union boundary and the shared-hook risk of linked
26
+ worktrees.
27
+
28
+ ## Recommendation as a decision template (option 1, wrapped registration)
29
+
30
+ | Element | Proposed rule |
31
+ | --- | --- |
32
+ | Boundary | One rootless Podman container (Linux) or separate OS user per **writer**; the host registration stays read-only |
33
+ | Repository | A full clone per writer inside the boundary, never a linked worktree |
34
+ | Git metadata | Hooks and config not writable from inside, or the host never runs Git in the writer's clone |
35
+ | Review | Fetch the writer's branch into the host repository and review it there before anything leaves |
36
+ | Authentication | Only that boundary's credentials; whether Pi's auth refresh needs a writable agent directory is an open question |
37
+ | External MCP / `envFrom` | Explicit allowlist per coding registration; no ambient host secrets (`SSH_AUTH_SOCK`, tokens) |
38
+ | Cursor-backed coding | Off non-disposable repositories until accepted inside the boundary |
39
+ | macOS | Keeps the Sprint 4 interim rules until a VM-based setup (Lima or Podman machine) is accepted |
40
+
41
+ ## Decisions and evidence needed to accept the ADR
42
+
43
+ 1. **Accept option 1 as the direction** (or choose another option). Maintainer decision; no evidence beyond the ADR's comparison.
44
+ 2. **Auth refresh policy.** Evidence: a provider-free or approved test inside the boundary showing whether refresh writes Pi's agent directory, and that only the boundary's credentials are present.
45
+ 3. **External MCP and `envFrom` allowlist** for coding registrations. Evidence: process inspection showing only allowlisted variables reach children.
46
+ 4. **Linux acceptance run** of the synthetic isolated-write test defined in the ADR (`edit`, `write`, `bash`, writes outside the workspace and through symlinks, credential absence, process cleanup). Evidence: a sanitized acceptance record.
47
+ 5. **macOS policy.** Decide whether macOS keeps the interim rules open-ended or gets a VM runbook; record the decision in the roadmap.
48
+ 6. **A decision date or review point**, because the interim period is open-ended today.
49
+
50
+ ## Out of scope now
51
+
52
+ No Podman, VM or sandbox build; no move away from the embedded SDK (ADR 0002);
53
+ no runtime or MCP contract change; no session refusal on gitfile workspaces.
package/docs/roadmap.md CHANGED
@@ -12,8 +12,26 @@ mean they are implemented or that their gates passed.
12
12
 
13
13
  ## Current state
14
14
 
15
- Updated 2026-10-15. Base main `bdfb95de9a46defa64d2eb382d58d454f97fc8fb`
16
- (the merge of the 0.8.2 release).
15
+ - 2026-10-28: [ADR 0012](adr/0012-leased-writer-pool.md) was accepted and
16
+ implemented in #157: one host registration with a leased container writer
17
+ pool, base-aware allocation and host-spool events. Prepared as minor release
18
+ 0.12.0 together with #151 and #154; no new live acceptance is claimed.
19
+
20
+ The explicit 2026-10-17 user request adds a bounded development-only
21
+ [token-footprint measurement](sprints/2026-10-17-token-footprint.md), following
22
+ PR #84. It does not change maintenance mode or the isolation priority below.
23
+ Live measurement requires its own current source-bound matrix/route/budget
24
+ approval; historical evaluation approvals do not apply.
25
+ Its [offline results](evaluation/token-footprint-2026-10-17/README.md) record
26
+ 80 transport cases, 50 filter cases and ten adverse-report controls. The
27
+ operator-approved [M1 pilot](evaluation/token-footprint-2026-10-17/m1-pilot/README.md)
28
+ passed on 2026-10-18 on its third attempt (attempts 1 and 2 failed on harness
29
+ defects and are preserved); it measured Codex **controller** usage on one route.
30
+ Worker usage and money cost remain unknown. An A/B is proposed, not approved.
31
+
32
+ Updated 2026-10-18. Base main `612fbcb976d4563ea597e87be56123055b782c1a`
33
+ (the merge of PR #85). Sprint 5 is the
34
+ [maintenance and orchestration sprint](sprints/2026-10-18-s5-maintenance-orchestration.md).
17
35
 
18
36
  - R21 (this roadmap) was delivered as documentation by
19
37
  [#58](https://github.com/plagor44-ux/pi-session-mcp/pull/58), which closed
@@ -55,7 +73,293 @@ Updated 2026-10-15. Base main `bdfb95de9a46defa64d2eb382d58d454f97fc8fb`
55
73
  Proposed), with interim operating rules until it is accepted. R12, R15 and
56
74
  R17 stay deferred (not met), R18 stays deferred (not determinable), and
57
75
  [#74](https://github.com/plagor44-ux/pi-session-mcp/issues/74) is closed as
58
- not planned. R10, R11 and R22 stay open.
76
+ not planned. R10, R11 and R22 stayed open at that point; R10 and R11 were verified on 2026-10-16 (see the table below).
77
+ - Release 0.8.3 was merged in [#80](https://github.com/plagor44-ux/pi-session-mcp/pull/80)
78
+ and published on 2026-10-15. It fixes #78 with Pi SDK 1.2.0 and exact pins
79
+ of the SDK's internal packages, and adds the install smoke and the
80
+ packed-tarball pre-release check. Its published-release acceptance passed on
81
+ 2026-10-16 for the tag and the npm package, and the workstation and server
82
+ installations were upgraded (see
83
+ [Acceptance](acceptance.md#v083-post-release-evidence)). Fresh installs of
84
+ 0.6.1 to 0.8.2 do not start.
85
+ - [ADR 0008](adr/0008-coding-profile-isolation.md) for
86
+ [#79](https://github.com/plagor44-ux/pi-session-mcp/issues/79) was accepted for
87
+ Linux on 2026-10-18: option 1, wrapped registration in rootless Podman, one
88
+ boundary per writer. The Linux acceptance passed on 2026-10-18 for one writer
89
+ ([evidence](evaluation/isolation-acceptance-2026-10-18/README.md)); review point
90
+ 2026-11-15. macOS keeps the interim rules.
91
+ - [ADR 0009](adr/0009-execution-modes.md), accepted 2026-10-18, records
92
+ [per-repository execution modes](execution-modes.md). Both plans ship as
93
+ minor release 0.9.0 (Plan A in #98, Plan B in #99). Plan A: separate modes
94
+ file, host-server enforcement, setup selection and offline Doctor checks.
95
+ Plan B: automated Linux
96
+ rootless-Podman provisioning, explicit host control and contained acceptance,
97
+ collect/reset/recreate/finish, wrappers, refusal server, registration and
98
+ periodic credential checks with near-expiry host warmup. The
99
+ [operator runbook](isolation-setup.md) covers migration of the manual writers,
100
+ including operator-supplied Go images and the `--cache go` selection. New live acceptance and
101
+ rollout are not claimed; each writer must pass its readiness gates.
102
+
103
+ ### Sprint 8 migration, steps 3 and 4 (2026-10-27)
104
+
105
+ On the published 0.11.8, without a product change
106
+ ([progress](sprints/2026-10-24-s8-writer-migration.md#progress-2026-10-27)):
107
+
108
+ - Step 3: operator images `node-go` (Go 1.27.3) and `node-python-uv`
109
+ (Python 3.12.16, uv 0.13.6), built outside this repository, checked under the writer's
110
+ run flags against real builds of the target repositories.
111
+ - Step 4: go-app runs on four container writers with `--cache go`; the manual
112
+ writer `go-app-alpha` and the host aliases `go-app-w1`–`go-app-w7` are retired,
113
+ `go-app-rev` is `read-only`.
114
+ - The server the second machine was upgraded to 0.11.8.
115
+ - New: [#151](https://github.com/plagor44-ux/pi-session-mcp/issues/151), a
116
+ persistent uv cache for Python writers. Step 5 must also decide on
117
+ pynode-app's tests that need a local Postgres.
118
+
119
+ ### Sprint 11: orchestration gaps (2026-10-26)
120
+
121
+ Base main `d93a6d6`, published 0.11.6
122
+ ([Sprint 11](sprints/2026-10-26-s11-orchestration-gaps.md)). One branch and
123
+ one pull request, no release:
124
+
125
+ - [#141](https://github.com/plagor44-ux/pi-session-mcp/issues/141): Doctor
126
+ reports coding profiles a container writer would refuse (from #139).
127
+ - [#142](https://github.com/plagor44-ux/pi-session-mcp/issues/142): writers
128
+ refresh the host's OAuth credential ten minutes before expiry, before the
129
+ SDK's own five-minute window, which failed writer turns.
130
+ - K3 and K9 as evaluation hooks outside the package (D1), K5 in the controller
131
+ skill, K7 answered by a provider-free probe, K8 closed without a product
132
+ change.
133
+ - Recorded: the v0.11.6 post-release acceptance and migration step 2
134
+ (`node-app`, four writers).
135
+ - Decided: D3 no ADR yet; #120 waits for an SDK release.
136
+ - Released afterwards: 0.11.7 (#141, #142, the review stage) on 2026-10-26.
137
+ Its upgrade on the workstation failed: with two container repositories the
138
+ repository step's Doctor gate blocked on the other repository's unready
139
+ writers ([#148](https://github.com/plagor44-ux/pi-session-mcp/issues/148)),
140
+ and the workstation was rolled back to 0.11.6. 0.11.8 fixed #148 the same
141
+ day; the workstation was upgraded from 0.11.6 to 0.11.8 and all six writers
142
+ were accepted again.
143
+
144
+ ### Sprints 9 close-out and 10: orchestration reliability (2026-10-26, shipped in 0.11.6)
145
+
146
+ Base main `e6fc87c`, published 0.11.5. The operator's orchestration concept of
147
+ 2026-10-25 (candidates K1–K11) is assessed against the repository and planned
148
+ in the [Sprint 10 file](sprints/2026-10-26-s10-orchestration-reliability.md).
149
+ Items 1 and 2 are implemented on the consolidated branch and its pull request (status in the Sprint 10 file's progress log); items 3 and 4 are planned:
150
+
151
+ 1. Sprint 9 close-out: #136, #137 and the #135 record.
152
+ 2. Sprint 10, controller reliability: a provider-free probe of the worker
153
+ system prompt (`phase-0-system-prompt-disabled` in `src/sdk-pi-adapter.ts`),
154
+ a `claude plugin eval` suite for the controller skill (K1), then one skill
155
+ change for the report contract, the early-stop rule and routing defaults
156
+ (K2, K4, K6), measured before and after.
157
+ Items 1 and 2 travel on one branch and one pull request with one patch
158
+ release, 0.11.6.
159
+ 3. Sprint 11: file ledger with a compaction hook and a verification `Stop`
160
+ gate (K3, K9) after maintainer decision D1, the wake gaps (K8) and a
161
+ provider-free subagent probe (K7).
162
+ 4. In parallel: Sprint 8 migration steps 2–7, one repository at a time.
163
+
164
+ A review stage with a capped fix loop (K5) runs as process from Sprint 10 on.
165
+ The guided profile setup (K10, #139) and a worker report extension (K11) stay
166
+ proposals; K11 needs an ADR.
167
+
168
+ ### Sprint 9: writer settings drift and override skills (2026-10-25)
169
+
170
+ Base main `a8f6397`, published 0.11.5. Fixes that make `--repo ... --apply` the
171
+ reliable way to tell whether a writer still matches its configuration before
172
+ more repositories move to container writers:
173
+
174
+ - [#134](https://github.com/plagor44-ux/pi-session-mcp/issues/134): reconcile
175
+ and its dry run report `writer_settings_changed` for a kept writer whose
176
+ settings or coding profiles changed, instead of keeping it silently.
177
+ - [#135](https://github.com/plagor44-ux/pi-session-mcp/issues/135): a container
178
+ coding profile may select only shipped `builtin:` skills without an operator
179
+ override, because overrides do not reach the writer.
180
+ - Open for this sprint: [#136](https://github.com/plagor44-ux/pi-session-mcp/issues/136)
181
+ (reset or finish under a running writer server) and
182
+ [#137](https://github.com/plagor44-ux/pi-session-mcp/issues/137) (unpinned Pi
183
+ extensions and the repository step's Doctor gate).
184
+ - #135 stays open after PR #138 although its fail-closed part shipped; the
185
+ close-out records that and asks decision D4.
186
+ - Proposals, not in this sprint: a guided, interactive setup in the agent
187
+ harness that works out the execution profiles together with the operator;
188
+ copying operator overrides into a writer; adopting a changed image while
189
+ keeping the writer's clone.
190
+
191
+ ### Sprint 8: migration to container writers (2026-10-25)
192
+
193
+ Base main `19d0d4f`
194
+ ([Sprint 8](sprints/2026-10-24-s8-writer-migration.md), tracking
195
+ [#79](https://github.com/plagor44-ux/pi-session-mcp/issues/79)):
196
+
197
+ - Decided on 2026-10-25: productive coding moves to container writers, repository
198
+ by repository, with the pilot on pi-session-mcp.
199
+ - Done: [#121](https://github.com/plagor44-ux/pi-session-mcp/issues/121), a
200
+ failed writer acceptance now names its cause
201
+ ([#123](https://github.com/plagor44-ux/pi-session-mcp/pull/123)).
202
+ - Prepared as 0.11.3: the #118 and #121 fixes and the `zod` patch. The
203
+ maintainer decided on 2026-10-25 to release with the open `undici` finding
204
+ ([#120](https://github.com/plagor44-ux/pi-session-mcp/issues/120)) stated in
205
+ the release record, so that the writers run on a published version.
206
+ - Released 0.11.3 on 2026-10-25.
207
+ - Pilot started on 2026-10-25 on the workstation: host alias
208
+ `pi-session-mcp-w1` retired, isolation control passed, mode `container` with
209
+ two writers. The first `--apply` failed the acceptance of both writers
210
+ ([#126](https://github.com/plagor44-ux/pi-session-mcp/issues/126), the cause
211
+ behind #121), the repeated one accepted them. Claude Code 2.1.310 blocked the
212
+ second writer's Claude Code registration
213
+ ([#127](https://github.com/plagor44-ux/pi-session-mcp/issues/127)).
214
+ - Prepared as 0.11.4: the #125, #126 and #127 fixes
215
+ ([#128](https://github.com/plagor44-ux/pi-session-mcp/pull/128)), again with
216
+ the open `undici` finding by maintainer decision.
217
+ - Released 0.11.4 on 2026-10-25. The upgrade from 0.11.3 exposed two defects:
218
+ `--repo ... --apply` did not accept the ready writers again
219
+ ([#130](https://github.com/plagor44-ux/pi-session-mcp/issues/130)), so both
220
+ were removed and provisioned again, and one acceptance failed because the
221
+ writer launch refreshed an expired host token inside the harness
222
+ ([#131](https://github.com/plagor44-ux/pi-session-mcp/issues/131)); a
223
+ repeated `--apply` accepted it.
224
+ - Prepared as 0.11.5: the #130 and #131 fixes
225
+ ([#132](https://github.com/plagor44-ux/pi-session-mcp/pull/132)).
226
+ - Released 0.11.5 on 2026-10-25
227
+ ([#133](https://github.com/plagor44-ux/pi-session-mcp/pull/133)), again with
228
+ the open `undici` finding by maintainer decision. The workstation upgrade
229
+ accepted both ready pilot writers in one `--repo ... --apply` without
230
+ removal. An unpinned Pi package update blocked that step first
231
+ ([#137](https://github.com/plagor44-ux/pi-session-mcp/issues/137)).
232
+ - Pilot delegation on 2026-10-25: one coding task per writer with
233
+ `code-deepseek`, each a failing test for a newly found defect
234
+ ([#134](https://github.com/plagor44-ux/pi-session-mcp/issues/134),
235
+ [#135](https://github.com/plagor44-ux/pi-session-mcp/issues/135)), verified
236
+ by the controller, collected and finished. A reset of a writer with a running
237
+ server cleared that server's credentials
238
+ ([#136](https://github.com/plagor44-ux/pi-session-mcp/issues/136)).
239
+ - Next: the remaining repositories, after Sprint 9.
240
+
241
+ ### Sprint 7: stabilization and live acceptance (2026-10-24)
242
+
243
+ Base main `f69c40f`, published 0.11.2
244
+ ([Sprint 7](sprints/2026-10-24-s7-stabilization-live-acceptance.md)). A
245
+ maintenance sprint without a contract change or a version bump:
246
+
247
+ - [#118](https://github.com/plagor44-ux/pi-session-mcp/issues/118): the Linux
248
+ process table counted a zombie thread-group leader with live threads as gone,
249
+ so the setup fence could end while those threads still held the lock. Fixed
250
+ in this sprint's pull request; the issue closes on merge.
251
+ - Planning documents reconciled with the delivered 0.11.x releases.
252
+ - Live acceptance of the candidate `6651a47`
253
+ ([evidence](evaluation/s7-live-acceptance-2026-10-24/README.md)); a candidate
254
+ result is not a result for the published 0.11.2:
255
+ - Level 2 passed.
256
+ - Level 3: 10 of 10 tasks passed. The gate is not met because `npm audit`
257
+ fails on `undici`, which Pi SDK 1.4.0 pins
258
+ ([#120](https://github.com/plagor44-ux/pi-session-mcp/issues/120)).
259
+ - Wake: setup path, parallel turns, budget wake, abort and close, and the
260
+ Codex fallback passed. A running CLI session picked up a newly installed
261
+ hook.
262
+ - A container writer with delivery passed its delegation, boundary and
263
+ crafted-event checks; one first-time acceptance failure was not
264
+ diagnosable ([#121](https://github.com/plagor44-ux/pi-session-mcp/issues/121)).
265
+ - Still open after Sprint 7:
266
+ - VS Code wake on a candidate build, and hook pickup by a running VS Code
267
+ session; both need the operator, and the procedure is in the evidence.
268
+ - A forged event during a real controller turn on a writer.
269
+ - #120, #121 and #79.
270
+ - Next priority, in this order:
271
+ 1. Decide #120, because without it no release can pass Level 1.
272
+ 2. Merge this fix as a patch candidate.
273
+ 3. Then #121.
274
+ 4. Then the #79 migration decision at the 2026-11-15 review.
275
+
276
+ ### Sprint 6: ledger and event-bridge evaluation (2026-10-21)
277
+
278
+ Added at the operator's explicit request of 2026-10-21 as a bounded,
279
+ development-only evaluation
280
+ ([#104](https://github.com/plagor44-ux/pi-session-mcp/issues/104),
281
+ [Sprint 6](sprints/2026-10-21-s6-ledger-event-bridge.md),
282
+ [report](evaluation/ledger-event-bridge-2026-10-21/README.md)). It does not
283
+ replace the isolation priority under #79. The evaluation itself changed no
284
+ product code; the bridge implementation that followed shipped in 0.11.0 (below).
285
+
286
+ - Done: inventory of controller ledger, SDK completion semantics, client wake
287
+ paths and OMO Boulder; a provider-free prototype under `eval/bridge/` (ledger,
288
+ completion bridge, question broker, Claude Code `asyncRewake` adapter) with 91
289
+ tests; a client-level probe on Claude Code 2.1.303 with a scripted model
290
+ (idle stream-json session woken once per event, question round trip,
291
+ controls; four attempts kept); two independent reviews, findings fixed.
292
+ - Verdict: a lean completion bridge with Claude Code rewake is technically
293
+ viable. A file ledger and a polling supervisor are not recommended as product
294
+ features.
295
+ - Done on 2026-10-21 with operator approval: two real-model pairs (L4, case L1)
296
+ ([live results](evaluation/ledger-event-bridge-2026-10-21/live/README.md)).
297
+ - The woken controller read once, without polls or sleeps, and acted on a
298
+ finished turn after about 2 s instead of 10–21 s.
299
+ - The decision rule was not met: requests 7/8 and 8/8, mixed uncached input
300
+ and cost. The evaluation recommended deferring ADR 0011.
301
+ - Decided on 2026-10-21: the maintainer accepted
302
+ [ADR 0011](adr/0011-turn-events-and-controller-wake.md) items 1–3 for
303
+ controller reaction time, knowingly against that recommendation. It covers
304
+ opt-in spool delivery, one spool mount per container writer (ADR 0008
305
+ amendment), a setup-installed Claude Code hook, a capabilities field and a
306
+ skill section, shipped as minor release 0.11.0.
307
+ - Implemented: [#108](https://github.com/plagor44-ux/pi-session-mcp/issues/108)
308
+ was implemented to the approved
309
+ [plan](superpowers/plans/2026-10-21-turn-events-and-controller-wake.md) and
310
+ merged in [#110](https://github.com/plagor44-ux/pi-session-mcp/pull/110)
311
+ (Linux only), after several independent review rounds and a provider-free
312
+ product probe on Claude Code 2.1.306. Released as 0.11.0 on 2026-10-22; the
313
+ operator confirmed the wake in the interactive Claude Code TUI.
314
+ - Fixed in 0.11.1: [#113](https://github.com/plagor44-ux/pi-session-mcp/issues/113).
315
+ With delivery enabled, 0.11.0 refused to start without `XDG_RUNTIME_DIR`,
316
+ which Codex never passes, so a shared configuration broke Codex and setup
317
+ verification. Delivery now stays inactive there (ADR 0011 amendment).
318
+ - Released as 0.11.2 on 2026-10-22 ([#116](https://github.com/plagor44-ux/pi-session-mcp/pull/116);
319
+ [post-release evidence](acceptance.md#v0112-post-release-evidence) in
320
+ [#119](https://github.com/plagor44-ux/pi-session-mcp/pull/119)):
321
+ - [#109](https://github.com/plagor44-ux/pi-session-mcp/issues/109): processes
322
+ that exited during a `/proc` scan made the Linux setup fence fail at random
323
+ with `ownership_lock_unavailable`, in CI and on busy hosts.
324
+ - [#117](https://github.com/plagor44-ux/pi-session-mcp/issues/117): Pi SDK
325
+ 1.4.0.
326
+ - Decided in [#119](https://github.com/plagor44-ux/pi-session-mcp/pull/119):
327
+ [#115](https://github.com/plagor44-ux/pi-session-mcp/issues/115). The server
328
+ keeps its own controlled `mcpServers` bridge and guards against Pi's built-in
329
+ MCP client.
330
+ - Open operator checks: wake in the VS Code extension, whether a running
331
+ session loads a newly written hook without a restart or `/hooks` review, and
332
+ a wrapped container writer with delivery under rootless Podman, including the
333
+ isolation check of the extra mount; Sprint 7 runs them. The question channel
334
+ (ADR 0011 item 4) is still undecided; a ledger and a supervisor are not
335
+ product features.
336
+ The #79 isolation review point of 2026-11-15 stays.
337
+ - Deferred: Codex wake (no documented path), macOS delivery (no
338
+ `XDG_RUNTIME_DIR` and no `/proc/self/fd` by default), a supervisor-only
339
+ detection arm.
340
+
341
+ ### Sprint 5 issue status
342
+
343
+ Implemented means the code or text exists on the Sprint 5 branch; verified
344
+ means its named checks passed with evidence. The implemented items shipped in
345
+ 0.9.0; live acceptance stays as stated per row.
346
+
347
+ | Issue | Scope | Owner | Depends on | Status |
348
+ | --- | --- | --- | --- | --- |
349
+ | [#79](https://github.com/plagor44-ux/pi-session-mcp/issues/79) | Isolation decision, ADR 0008; execution policy, ADR 0009 | maintainer | — | accepted for Linux; [Linux acceptance](evaluation/isolation-acceptance-2026-10-18/README.md) passed on 2026-10-18 for writers `psm-alpha` and `go-app-alpha` (contained and live), both registered in Claude Code's local scope; Plan A per-repository modes (#98) and Plan B automated container writers with near-expiry credential refresh (#99) ship in 0.9.0; no live rollout or new live writer acceptance claimed yet; remaining host routes/repositories need operator choices, review point 2026-11-15 |
350
+ | [#81](https://github.com/plagor44-ux/pi-session-mcp/issues/81) | Doctor `workspace_gitfile` warning | Sprint 5 | — | implemented; provider-free tests |
351
+ | [#86](https://github.com/plagor44-ux/pi-session-mcp/issues/86) | Orchestration skill: consume once, cadence, start-error reference | Sprint 5 | — | implemented; live effect unmeasured (#93) |
352
+ | [#87](https://github.com/plagor44-ux/pi-session-mcp/issues/87) | Concise worker reports | Sprint 5 | — | implemented; live effect unmeasured; untested by the A/B unless worker skills are selected |
353
+ | [#88](https://github.com/plagor44-ux/pi-session-mcp/issues/88) | Tool-description hints | Sprint 5 | — | implemented; Codex 0.162.1 projection +255 bytes; Claude Code bare route −819 bytes together with #90 |
354
+ | [#89](https://github.com/plagor44-ux/pi-session-mcp/issues/89) | Claude Code projection | Sprint 5 research | — | partial: q1 output schema not observed, q2 one representation, q3 deferral observed on a non-bare route; q4 needs approval |
355
+ | [#90](https://github.com/plagor44-ux/pi-session-mcp/issues/90) | Input schemas without the UUID pattern | Sprint 5 | compatibility proof | implemented after the proof (156 identical responses); no effect on the Codex 0.162.1 projection, which drops `pattern` itself; wire −1,074 bytes |
356
+ | [#91](https://github.com/plagor44-ux/pi-session-mcp/issues/91) | Bounded wait decision | maintainer | — | decided 2026-10-18: no bounded wait; trigger C restated with the cost dimension in ADR 0003 |
357
+ | [#92](https://github.com/plagor44-ux/pi-session-mcp/issues/92) | Worker usage research | Sprint 5 research | — | research note delivered; no contract change |
358
+ | [#93](https://github.com/plagor44-ux/pi-session-mcp/issues/93) | M1 A/B | operator approval | — | A/B done: probe attempt 4 passed after three preserved failures; four pairs all PASS; quality kept, cumulative controller input lower in B in 10 of 12 case-pairs (mostly cached), no consistent uncached difference; #87 untested ([results](evaluation/m1-ab-proposal-2026-10-18/results/README.md)) |
359
+
360
+ Gates for later sprints: the #79 decision before any isolation work; the #93
361
+ approval before the A/B; the A/B before the final #91 decision; a public
362
+ contract decision before any minor-release work.
59
363
 
60
364
  ### Sprint 3 task status
61
365
 
@@ -66,13 +370,16 @@ Updated 2026-10-15. Base main `bdfb95de9a46defa64d2eb382d58d454f97fc8fb`
66
370
  | R05 / R09 ten-task Level 3 cycle | None (acceptance) | verified: accepted, 10 of 10 tasks |
67
371
  | R06 new Codex abort run | None (acceptance) | verified |
68
372
  | R07 Codex discovery of the setup-installed skill | None (acceptance) | verified |
69
- | R10 / R11 current macOS Level 2 and smoke | None | blocked: work Mac not reachable; runbook in the Sprint 3 file |
70
- | R22 ChatGPT project instructions | None (outside this repository) | blocked on an operator action; proposal in the Sprint 2 file |
373
+ | R10 / R11 current macOS Level 2 and smoke | None | verified for Claude Code on 2026-10-16 (release 0.8.3, real Mac) and again on 2026-10-26 (release 0.11.6: Level 2 with and without turn-event delivery, lock contention, interruption, install smoke and a live check with a stdio driver); Codex on macOS, the two-client Level 3 gate, Claude Code as controller of a live run on 0.11.x and Intel Macs not established; see [Acceptance](acceptance.md#macos-acceptance-on-real-hardware-2026-10-26) |
374
+ | R22 ChatGPT project instructions | None (outside this repository) | blocked on an operator action; current proposal in the [Sprint 4 decision](sprints/2026-10-15-s4-decision.md#appendix-proposed-chatgpt-project-instructions-r22) |
71
375
 
72
376
  Status words: planned, in progress, implemented (code exists), verified (named
73
377
  criteria met with evidence), blocked, failed (ran and missed its criteria; kept
74
- on record). Sprints 1 to 4 are closed; the next investment is the isolation
75
- decision in [#79](https://github.com/plagor44-ux/pi-session-mcp/issues/79).
378
+ on record). Sprints 1 to 4 are closed; Sprint 5 is a maintenance sprint; the next
379
+ investment remains isolation under
380
+ [#79](https://github.com/plagor44-ux/pi-session-mcp/issues/79), now decided in
381
+ ADRs 0008 and 0009; both plans ship as 0.9.0. Operator migration and live
382
+ writer acceptance remain separate from the release.
76
383
 
77
384
  ## Sprints and exit gates
78
385
 
@@ -126,6 +433,10 @@ in-memory state and one trusted local peer.
126
433
  | --- | --- |
127
434
  | OS isolation | Trigger fired on 2026-10-15 (coding profiles wrote on non-disposable repositories); decision in [#79](https://github.com/plagor44-ux/pi-session-mcp/issues/79) and ADR 0008, interim rules in the [Sprint 4 decision](sprints/2026-10-15-s4-decision.md#interim-operating-rules); profiles/skills are not an OS sandbox |
128
435
  | pi_turn_wait | Measured high polling cost per turn with pauses or tool/approval cost; 5–7 polls per invocation is insufficient evidence |
436
+ | Question channel for worker questions (ADR 0011 item 4, undecided) | Demonstrated demand, its own decision, contract tests and a minor release |
437
+ | Worker result channel or report extension (K11) | Sprint 10 shows that the report contract in the skills is not enough; an ADR on either an extension allowance in the writer boundary or a result field in the MCP contract, and a minor release |
438
+ | `Stop` gate on open sessions, MCP elicitation for worker questions, pi-goal-x, pi-subagents, the `subagent`, `structured-output.ts` and `git-checkpoint.ts` examples | Not planned: each collides with the wake, reaches the human instead of the model, continues outside the turn or loses its result (operator concept of 2026-10-25, consistent with #91 and ADR 0011) |
439
+ | pi-lens on coding profiles | Not planned: no benefit in two ablation waves, 1.47 times the cost |
129
440
  | Persistence/resume | Actual loss of useful work on restart |
130
441
  | HTTP/remote/mobile | Concrete need existing SSH/remote development cannot meet; separate ADR/security decision |
131
442
  | Finer turn_failed | Closed public final SDK cause discriminator after retry/compaction, not error-text guessing |
@@ -134,7 +445,7 @@ in-memory state and one trusted local peer.
134
445
  | Former pi-control #31/#32 | Closed as not_planned; no automatic migration/reopening |
135
446
  | Former release gates/#11–#14 | Historical; bind current acceptance to the current build |
136
447
 
137
- 0.8.3 is a patch release only if the MCP contract remains unchanged and its
138
- gates pass. Apply the current [release procedure](releasing.md): version and
448
+ A patch release ships only if the MCP contract remains unchanged and its gates
449
+ pass. Apply the current [release procedure](releasing.md): version and
139
450
  pre-release acceptance travel in the change PR. Merge, tagging and
140
451
  publication remain maintainer decisions. No release is authorized by this plan.
@@ -10,7 +10,11 @@ before the session is returned.
10
10
  Global and project extensions are never auto-discovered; only the extensions
11
11
  that a profile allowlists load (see [Pi extensions](installation.md#pi-extensions)).
12
12
  Installing `pi-mcp-adapter` globally is neither required nor sufficient for this
13
- integration. Skills are likewise never auto-discovered; a profile gets only the
13
+ integration. The same holds for Pi's own MCP client (Pi 1.2 and later: `pi mcp
14
+ add`, `~/.pi/agent/mcp.json`, the built-in `mcp` extension). It belongs to the
15
+ Pi CLI; embedded sessions never load it. A server added with `pi mcp add` or
16
+ listed in a project `.pi/mcp.json` is therefore invisible to Pi Session MCP
17
+ workers. Grant it through `mcpServers` instead. Skills are likewise never auto-discovered; a profile gets only the
14
18
  skills it selects from the operator's catalog (see [Pi skills](skills.md)).
15
19
  Granting an external MCP tool through `mcpServers` and selecting a skill are
16
20
  independent: a skill grants no tool.