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.
- package/.pi-session-mcp-cli/client-adapters/command.js +33 -0
- package/.pi-session-mcp-cli/client-adapters/mcp-verifier.js +198 -0
- package/.pi-session-mcp-cli/client-adapters/types.js +1 -0
- package/.pi-session-mcp-cli/config.js +29 -3
- package/.pi-session-mcp-cli/container-runtime.js +18 -0
- package/.pi-session-mcp-cli/doctor.js +370 -4
- package/.pi-session-mcp-cli/execution-modes.js +83 -0
- package/.pi-session-mcp-cli/execution-profile.js +1 -0
- package/.pi-session-mcp-cli/override-lock.js +4 -4
- package/.pi-session-mcp-cli/session-tools.js +45 -0
- package/.pi-session-mcp-cli/setup-platform.js +64 -36
- package/.pi-session-mcp-cli/setup-process.js +455 -0
- package/.pi-session-mcp-cli/skill-library.js +8 -4
- package/.pi-session-mcp-cli/turn-events.js +97 -0
- package/.pi-session-mcp-cli/writer-boundary.js +321 -0
- package/.pi-session-mcp-cli/writer-fence.js +50 -0
- package/.pi-session-mcp-cli/writer-lease.js +140 -0
- package/.pi-session-mcp-cli/writer-lifecycle.js +567 -0
- package/.pi-session-mcp-cli/writer-state.js +199 -0
- package/.pi-session-mcp-cli/writer-wrapper.js +14 -0
- package/CHANGELOG.md +527 -0
- package/README.md +8 -2
- package/dist/capabilities.d.ts +9 -1
- package/dist/capabilities.js +8 -3
- package/dist/child-stdio-transport.d.ts +21 -0
- package/dist/child-stdio-transport.js +88 -0
- package/dist/client-adapters/claude-code.js +3 -2
- package/dist/client-adapters/command.d.ts +8 -0
- package/dist/client-adapters/command.js +9 -1
- package/dist/client-adapters/mcp-verifier.d.ts +7 -0
- package/dist/client-adapters/mcp-verifier.js +21 -4
- package/dist/client-adapters/types.d.ts +5 -1
- package/dist/client-adapters/writer-registration.d.ts +16 -0
- package/dist/client-adapters/writer-registration.js +156 -0
- package/dist/config.d.ts +12 -1
- package/dist/config.js +29 -3
- package/dist/container-runtime.d.ts +2 -0
- package/dist/container-runtime.js +18 -0
- package/dist/doctor.d.ts +36 -2
- package/dist/doctor.js +370 -4
- package/dist/event-spool.d.ts +70 -0
- package/dist/event-spool.js +180 -0
- package/dist/execution-modes.d.ts +60 -0
- package/dist/execution-modes.js +83 -0
- package/dist/execution-profile.d.ts +2 -0
- package/dist/execution-profile.js +1 -0
- package/dist/main.js +63 -8
- package/dist/override-lock.d.ts +2 -0
- package/dist/override-lock.js +4 -4
- package/dist/pi-adapter.d.ts +31 -1
- package/dist/pi-adapter.js +12 -0
- package/dist/process-diagnostics.d.ts +1 -1
- package/dist/process-diagnostics.js +2 -1
- package/dist/refusal-server.d.ts +6 -0
- package/dist/refusal-server.js +46 -0
- package/dist/sdk-pi-adapter.js +16 -9
- package/dist/server.d.ts +3 -2
- package/dist/server.js +27 -53
- package/dist/session-registry.d.ts +32 -2
- package/dist/session-registry.js +61 -11
- package/dist/session-tools.d.ts +14 -5
- package/dist/session-tools.js +13 -9
- package/dist/setup-cli.d.ts +14 -0
- package/dist/setup-cli.js +132 -0
- package/dist/setup-command-guardian.js +9 -3
- package/dist/setup-hooks.d.ts +158 -0
- package/dist/setup-hooks.js +657 -0
- package/dist/setup-main.d.ts +1 -1
- package/dist/setup-main.js +18 -2
- package/dist/setup-modes.d.ts +18 -0
- package/dist/setup-modes.js +131 -0
- package/dist/setup-ownership.d.ts +1 -0
- package/dist/setup-ownership.js +11 -3
- package/dist/setup-platform.d.ts +9 -1
- package/dist/setup-platform.js +64 -36
- package/dist/setup-process.d.ts +23 -1
- package/dist/setup-process.js +88 -10
- package/dist/setup-writers.d.ts +42 -0
- package/dist/setup-writers.js +510 -0
- package/dist/setup.d.ts +4 -1
- package/dist/setup.js +23 -10
- package/dist/skill-library.d.ts +2 -0
- package/dist/skill-library.js +8 -4
- package/dist/tool-schemas.d.ts +339 -0
- package/dist/tool-schemas.js +49 -0
- package/dist/turn-events.d.ts +45 -0
- package/dist/turn-events.js +97 -0
- package/dist/wake-hook.d.ts +180 -0
- package/dist/wake-hook.js +638 -0
- package/dist/wake-main.d.ts +8 -0
- package/dist/wake-main.js +111 -0
- package/dist/writer-acceptance.d.ts +10 -0
- package/dist/writer-acceptance.js +192 -0
- package/dist/writer-boundary.d.ts +52 -0
- package/dist/writer-boundary.js +321 -0
- package/dist/writer-credentials.d.ts +29 -0
- package/dist/writer-credentials.js +85 -0
- package/dist/writer-fence.d.ts +12 -0
- package/dist/writer-fence.js +50 -0
- package/dist/writer-guard.d.ts +13 -0
- package/dist/writer-guard.js +54 -0
- package/dist/writer-launch.d.ts +29 -0
- package/dist/writer-launch.js +232 -0
- package/dist/writer-lease.d.ts +28 -0
- package/dist/writer-lease.js +140 -0
- package/dist/writer-lifecycle.d.ts +96 -0
- package/dist/writer-lifecycle.js +567 -0
- package/dist/writer-relay.d.ts +33 -0
- package/dist/writer-relay.js +359 -0
- package/dist/writer-state.d.ts +111 -0
- package/dist/writer-state.js +199 -0
- package/dist/writer-wrapper.d.ts +3 -0
- package/dist/writer-wrapper.js +14 -0
- package/docs/acceptance.md +1694 -1
- package/docs/adr/0003-post-mvp-maintenance.md +2 -2
- package/docs/adr/0006-pi-extension-allowlist.md +3 -1
- package/docs/adr/0008-coding-profile-isolation.md +295 -0
- package/docs/adr/0009-execution-modes.md +131 -0
- package/docs/adr/0010-read-only-extension-tools.md +68 -0
- package/docs/adr/0011-turn-events-and-controller-wake.md +173 -0
- package/docs/adr/0012-leased-writer-pool.md +357 -0
- package/docs/architecture.md +96 -8
- package/docs/client-setup-design.md +12 -8
- package/docs/client-setup.md +84 -2
- package/docs/doctor-design.md +48 -0
- package/docs/evaluation/2026-10-17-live-screening.md +121 -0
- package/docs/evaluation/2026-10-17-node-runtime-followup.md +33 -0
- package/docs/evaluation/2026-10-17-profile-evaluation-evidence.md +155 -0
- package/docs/evaluation/2026-10-17-test-coverage.md +127 -0
- package/docs/evaluation/README.md +123 -0
- package/docs/evaluation/client-reconnect-2026-10-17/README.md +41 -0
- package/docs/evaluation/client-reconnect-2026-10-17/checks.json +38 -0
- package/docs/evaluation/client-reconnect-2026-10-17/integrity.json +30 -0
- package/docs/evaluation/client-reconnect-2026-10-17/reconnect.json +57 -0
- package/docs/evaluation/client-reconnect-2026-10-17/registration-verification.json +389 -0
- package/docs/evaluation/client-reconnect-2026-10-17/review.json +10 -0
- package/docs/evaluation/controller-ledger-hooks-2026-10-26/README.md +115 -0
- package/docs/evaluation/evidence-2026-10-17/budget.proposed.json +13 -0
- package/docs/evaluation/evidence-2026-10-17/changed-files.txt +82 -0
- package/docs/evaluation/evidence-2026-10-17/checks.json +103 -0
- package/docs/evaluation/evidence-2026-10-17/comparison.json +247 -0
- package/docs/evaluation/evidence-2026-10-17/development-collection-failure.json +15 -0
- package/docs/evaluation/evidence-2026-10-17/full-attempt-default.json +19 -0
- package/docs/evaluation/evidence-2026-10-17/full-tests.json +17 -0
- package/docs/evaluation/evidence-2026-10-17/inventory.json +239 -0
- package/docs/evaluation/evidence-2026-10-17/manifest.json +359 -0
- package/docs/evaluation/evidence-2026-10-17/offline.json +1020 -0
- package/docs/evaluation/evidence-2026-10-17/ui-reference/T3-1280.png +0 -0
- package/docs/evaluation/evidence-2026-10-17/ui-reference/T3-375.png +0 -0
- package/docs/evaluation/evidence-2026-10-17/ui-reference/result.json +141 -0
- package/docs/evaluation/extension-ablation-2026-10-20/README.md +414 -0
- package/docs/evaluation/extension-ablation-2026-10-20/setup.md +140 -0
- package/docs/evaluation/extension-ablation-repeat-2026-10-21/README.md +142 -0
- package/docs/evaluation/extension-ablation-repeat-2026-10-21/setup.md +69 -0
- package/docs/evaluation/extension-audit-2026-10-17/README.md +149 -0
- package/docs/evaluation/extension-audit-2026-10-17/checks.json +38 -0
- package/docs/evaluation/extension-audit-2026-10-17/cursor-static-evidence.json +93 -0
- package/docs/evaluation/extension-audit-2026-10-17/installed-artifact-comparison.json +85 -0
- package/docs/evaluation/extension-audit-2026-10-17/installed-packages.json +100 -0
- package/docs/evaluation/extension-audit-2026-10-17/integrity.json +108 -0
- package/docs/evaluation/extension-audit-2026-10-17/navigation-cursor-registry.json +290 -0
- package/docs/evaluation/extension-audit-2026-10-17/navigation-static-evidence.json +185 -0
- package/docs/evaluation/extension-audit-2026-10-17/openwiki-headless-bindings.json +25 -0
- package/docs/evaluation/extension-audit-2026-10-17/openwiki-headless-cleanup.json +12 -0
- package/docs/evaluation/extension-audit-2026-10-17/openwiki-headless-probe.mjs +63 -0
- package/docs/evaluation/extension-audit-2026-10-17/openwiki-headless-reproduction.json +91 -0
- package/docs/evaluation/extension-audit-2026-10-17/openwiki-headless-result.json +83 -0
- package/docs/evaluation/extension-audit-2026-10-17/permission-cache-artifact-verification.json +24 -0
- package/docs/evaluation/extension-audit-2026-10-17/permission-cache-evidence.json +133 -0
- package/docs/evaluation/extension-audit-2026-10-17/permission-cache-report.md +64 -0
- package/docs/evaluation/extension-audit-2026-10-17/publication-export.json +10 -0
- package/docs/evaluation/extension-audit-2026-10-17/resolver-gates.json +51 -0
- package/docs/evaluation/extension-audit-2026-10-17/review.json +28 -0
- package/docs/evaluation/extension-audit-2026-10-17/run-openwiki-headless-probe.mjs +29 -0
- package/docs/evaluation/extension-audit-2026-10-17/summary.json +123 -0
- package/docs/evaluation/extension-audit-2026-10-17/web-openwiki-artifacts.json +29 -0
- package/docs/evaluation/extension-audit-2026-10-17/web-openwiki-evidence.json +116 -0
- package/docs/evaluation/extension-audit-2026-10-17/web-openwiki-report.md +113 -0
- package/docs/evaluation/extension-functions-2026-10-17/README.md +33 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/README.md +39 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-03dc1dad-9959-40df-b51c-7820991bf7e3.json +79 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-0c43651e-8c7d-4c7c-aa9b-5b5761141e3b.json +54 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-51247b13-87c1-4ec6-886b-82d922b0585a.json +89 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-5337f6bf-503f-4c45-aac0-43b142385a87.json +47 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-60285194-b1d1-4335-b616-6614941585df.json +46 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-6d2fbaa9-a720-4582-9be1-a95f4764786d.json +69 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-6fbb576c-d87d-478d-9c05-4b5ef3563598.json +125 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-730926d1-ef20-4b2d-ab74-7e542f1065e9.json +48 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-a1baa47a-5bbe-4a16-ade8-a350599eb911.json +48 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-bc1d69c7-784f-4ddb-9335-0d905330d568.json +91 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-d582757d-2859-4683-8310-ec158bf6d551.json +99 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts/extension-functions-bridges-e6533a23-4933-4d6e-a250-b1b27f010d18.json +60 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/attempts.json +138 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/guard.mjs +74 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/integrity.json +86 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/openwiki-final.json +125 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/run.mjs +36 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/web-final.json +99 -0
- package/docs/evaluation/extension-functions-2026-10-17/bridges/worker.mjs +102 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/README.md +21 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/docs/evaluation/extension-functions-2026-10-17/cache/integrity.json +165 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/probe.mjs +161 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipt-archive.json +150 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/commands-headless-3feeffc5-97bf-4079-8505-8119fab7956a.json +54 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/commands-headless-42e5eace-ad87-480a-94d9-448c1dd167b8.json +49 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/commands-headless-50f39f1c-8b48-442b-8d15-1f9c8f63bd81.json +49 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/commands-headless-8482b2b0-f600-488b-9f36-905e0125177a.json +54 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-codex-bypass-128ffdce-6fd5-431b-8019-32b40ba4174d.json +42 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-codex-bypass-3b572182-a737-471f-b9cb-b01d5da1752a.json +42 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-codex-bypass-6c225370-2f47-4a0a-80d5-87d12f6c6fdc.json +37 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-codex-bypass-b48399db-cbed-43de-9071-ac27c34e3757.json +37 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-openai-3a8f52b6-c8d6-4d1c-844c-782a6624a29e.json +45 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-openai-6fcdbc20-b14b-4b80-a4da-bf24078da8d2.json +50 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-openai-a8d6f628-40e1-437e-b192-f7232a051a44.json +50 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/payload-openai-c3c39463-a2d6-4ff8-b985-8f6d1fb1aa02.json +45 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/stats-synthetic-a23c264f-151d-4ff0-aab4-bdbb2f6560d8.json +53 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/stats-synthetic-d8178bd3-6530-4915-9cf1-056a975bfbcd.json +53 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/stats-synthetic-e3985119-e101-459e-91cd-21a0905287ba.json +48 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/stats-synthetic-e7a40382-2d27-4db5-a133-dbe346a5dc60.json +48 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-unknown-223d7adc-2dbc-4017-b1ec-0c38294320e2.json +41 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-unknown-347a8548-d2e0-4846-a08e-b0399f8fd3b4.json +41 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-unknown-49b45e2b-e2d2-456f-b73f-e6bc938b6378.json +46 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-unknown-aaf432f2-bb91-41a7-b951-2d4316389632.json +46 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-zero-204ab3e8-f1fe-4894-8fb0-08299deb4c21.json +41 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-zero-9388d2df-fa15-479c-a4ef-2a774c366c0f.json +46 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-zero-e0bb4742-214a-4b3f-88d2-44de54394e2f.json +46 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/receipts/warming-disabled-zero-f77e1e2d-742a-490f-9955-1dfb19f59c9c.json +41 -0
- package/docs/evaluation/extension-functions-2026-10-17/cache/runner.mjs +36 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/README.md +20 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-36-10-753Z-2bb4fff5-48cc-4f6b-ae1b-5cc1a07f610b.json +54 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-36-26-537Z-5adc4fb1-0008-4ef9-a106-aa372dabf061.json +56 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-36-32-362Z-30949c31-73a3-4dae-af81-68deded51543.json +56 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-36-38-494Z-8eec81b8-5576-48cb-b2fa-c279269db058.json +56 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-36-45-546Z-991647e5-7ea4-43c4-a90d-868e4ac38d83.json +56 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-37-02-277Z-2296fb35-e5cb-4bf1-9e83-7370bcb46bfe.json +56 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-37-28-390Z-e9c3d106-b4c9-4146-ae83-a2799c907fe5.json +56 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-37-37-371Z-8545c893-a8e3-4dc6-973b-81dfd97d798b.json +56 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-38-41-612Z-c57c4778-261d-4397-8a36-df9cc23ca629.json +58 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-38-51-661Z-0eb898de-7471-4f17-a308-5ef5d86421ff.json +58 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-38-55-412Z-8169d843-a9e7-48f4-88b1-3a90e1592df1.json +58 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-39-15-274Z-a5610333-e428-4cc6-9f5a-9206748ee512.json +58 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-39-39-506Z-d4c80a7b-76b4-4d11-bf0f-552d11b131b2.json +136 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-39-53-515Z-db409f47-8ee5-4354-b7f9-a258eb7e17d0.json +136 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/evidence-2026-10-17T13-42-04-909Z-01d70cb3-6897-46ca-b8aa-1c69d5b5c7fc.json +148 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/integrity.json +205 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/probe.mjs +151 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipt-archive.json +186 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-104e378f-8f82-4ae9-bffc-7f1d52e00e74.json +15 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-182a8009-c52a-4760-9768-9cba15fceb9c.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-1f07360d-046f-4f0c-b40f-6b57a027220c.json +65 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-256cb86e-40ae-4fec-a2d2-9b7f66cc4be8.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-2667d991-3133-44c3-b883-c401b3c14cb1.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-394fc425-ed51-408f-ab09-6d26aee0d48f.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-531d3f1d-c326-4914-b768-3d32103513b9.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-5c7d0d62-8290-494f-8729-5d60bc626ad7.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-64af1d94-ea73-481f-b827-dbf6755d8591.json +66 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-65fce696-864c-4247-960e-59f6d671cbf9.json +15 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-66acde31-19c7-4d3e-9814-ddeb2cffd373.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-79d220d0-fc0b-4cad-85cc-40b9e904fb97.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-a58f0281-71bc-4757-9d6f-e281f813135e.json +65 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-c2b61e4b-fd33-4969-ab29-118957ca5fbb.json +15 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/activation-and-resources-f61b5020-2c05-40ad-9cb8-590b22790186.json +15 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-0ee0df5a-299f-451c-96e3-5abcf8bfa999.json +45 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-169e5146-09a2-4231-8017-ebd8d4b75f0a.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-19d479f2-7162-463e-90de-2d89a13e59a3.json +15 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-1bd882bb-2403-4269-8335-90f9803f57b7.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-2ab9d418-68b2-4679-bf42-f31b6945ea5a.json +15 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-3a6aa7d7-b956-4fe5-9555-a2c63408c067.json +45 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-6333425f-0b46-4ced-a272-3d48895ee853.json +15 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-6eccb170-ff45-40e2-afc5-dfc0f77c229f.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-7f330c57-9c3f-4879-a1d0-67c4c5c36050.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-8d9de272-165c-4bb8-a147-d1b306388472.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-c1ffa69f-25fa-4f45-a691-af3bc422c089.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-c24ad0c8-5e7e-4d71-9b22-3e2708ce1626.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-c5a3140e-a28e-4264-9ee6-51b1310b3123.json +14 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-cdbb3dde-2441-46ae-9111-f2a299d45807.json +46 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/receipts/bridge-disabled-d68f774c-d1f0-4620-b334-301a20edffc3.json +15 -0
- package/docs/evaluation/extension-functions-2026-10-17/cursor/runner.mjs +147 -0
- package/docs/evaluation/extension-functions-2026-10-17/integrity.json +618 -0
- package/docs/evaluation/extension-functions-2026-10-17/navigation/README.md +22 -0
- package/docs/evaluation/extension-functions-2026-10-17/navigation/SHA256SUMS.txt +8 -0
- package/docs/evaluation/extension-functions-2026-10-17/navigation/attempt.json +13 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/docs/evaluation/extension-functions-2026-10-17/navigation/child-guard.mjs +30 -0
- package/docs/evaluation/extension-functions-2026-10-17/navigation/final-result.json +42 -0
- package/docs/evaluation/extension-functions-2026-10-17/navigation/function-probe.mjs +521 -0
- package/docs/evaluation/extension-functions-2026-10-17/navigation/function-runner.mjs +201 -0
- package/docs/evaluation/extension-functions-2026-10-17/navigation/integrity.json +153 -0
- package/docs/evaluation/extension-functions-2026-10-17/navigation/receipt-archive.json +160 -0
- package/docs/evaluation/extension-functions-2026-10-17/review.json +27 -0
- package/docs/evaluation/extension-functions-2026-10-17/summary.json +102 -0
- package/docs/evaluation/extension-functions-2026-10-17/verification.json +103 -0
- package/docs/evaluation/isolation-acceptance-2026-10-18/README.md +106 -0
- package/docs/evaluation/isolation-acceptance-2026-10-18/auth-warmup.mjs +33 -0
- package/docs/evaluation/isolation-acceptance-2026-10-18/contained-agent-ro.json +433 -0
- package/docs/evaluation/isolation-acceptance-2026-10-18/contained.json +439 -0
- package/docs/evaluation/isolation-acceptance-2026-10-18/control.json +403 -0
- package/docs/evaluation/isolation-acceptance-2026-10-18/live.json +75 -0
- package/docs/evaluation/isolation-acceptance-2026-10-18/wrapper.sh +37 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/README.md +360 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/design.md +150 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/inventory.md +113 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/live/README.md +117 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/live/dry-run/dry-01-L1-A.json +202 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/live/dry-run/dry-02-L1-C.json +259 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run/01-L1-A.json +169 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run/02-L1-A.json +202 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run/03-L1-C.json +256 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run/approval.json +31 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run-2/01-L1-C.json +256 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run-2/02-L1-A.json +201 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/live/run-2/approval.json +16 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/live-plan.md +87 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/pre-registration.md +117 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/S1.json +361 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/S2.json +544 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/S3.json +470 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/S4.json +271 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/S5.json +271 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/S6.json +266 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/X6.json +29 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-1/summary.json +269 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S1.json +391 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S2.json +600 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S3.json +519 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S4.json +281 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S5.json +294 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S6.json +280 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/S8.json +280 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/X6.json +32 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-2/summary.json +307 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S1.json +391 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S2.json +600 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S3.json +519 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S4.json +281 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S5.json +294 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S6.json +280 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/S8.json +280 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/X6.json +32 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-3/summary.json +307 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S1.json +409 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S2.json +634 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S3.json +537 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S4.json +281 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S5.json +294 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S6.json +280 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/S8.json +280 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/X6.json +32 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-4/summary.json +307 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S1.json +409 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S2.json +634 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S3.json +537 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S4.json +281 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S5.json +294 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S6.json +280 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/S8.json +280 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/X6.json +32 -0
- package/docs/evaluation/ledger-event-bridge-2026-10-21/probe/attempt-5/summary.json +307 -0
- package/docs/evaluation/live-rescreen-2026-10-17/README.md +114 -0
- package/docs/evaluation/live-rescreen-2026-10-17/approval.json +18 -0
- package/docs/evaluation/live-rescreen-2026-10-17/approved-budget.json +13 -0
- package/docs/evaluation/live-rescreen-2026-10-17/approved-manifest.json +315 -0
- package/docs/evaluation/live-rescreen-2026-10-17/audit-rescreen.mjs +78 -0
- package/docs/evaluation/live-rescreen-2026-10-17/audit.json +152 -0
- package/docs/evaluation/live-rescreen-2026-10-17/backend-independent-checks.json +38 -0
- package/docs/evaluation/live-rescreen-2026-10-17/checks.json +54 -0
- package/docs/evaluation/live-rescreen-2026-10-17/execution.json +19 -0
- package/docs/evaluation/live-rescreen-2026-10-17/integrity.json +138 -0
- package/docs/evaluation/live-rescreen-2026-10-17/planning-ledger.json +26 -0
- package/docs/evaluation/live-rescreen-2026-10-17/review.json +16 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/comparison.json +177 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-1.claim +1 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-1.diagnostic.json +1 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-1.json +97 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-2.claim +1 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-2.json +104 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-2.patch +11 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-2.snapshot/contract.mjs +4 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-2.snapshot/package.json +1 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-3.claim +1 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-3.json +89 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-4.claim +1 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-4.json +104 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-4.patch +11 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-4.snapshot/contract.mjs +4 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-4.snapshot/package.json +1 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-5.claim +1 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-5.diagnostic.json +1 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-5.json +117 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runs/rescreen-6.json +53 -0
- package/docs/evaluation/live-rescreen-2026-10-17/runtime-observation.json +11 -0
- package/docs/evaluation/live-screening-2026-10-17/approval.json +13 -0
- package/docs/evaluation/live-screening-2026-10-17/approved-budget.json +13 -0
- package/docs/evaluation/live-screening-2026-10-17/approved-manifest.json +359 -0
- package/docs/evaluation/live-screening-2026-10-17/audit.json +143 -0
- package/docs/evaluation/live-screening-2026-10-17/integrity.json +148 -0
- package/docs/evaluation/live-screening-2026-10-17/inventory.json +239 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/comparison.json +247 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-1.claim +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-1.diagnostic.json +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-1.json +98 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-2.claim +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-2.json +104 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-2.patch +11 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-2.snapshot/contract.mjs +4 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-2.snapshot/package.json +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-3.claim +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-3.diagnostic.json +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-3.json +97 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-4.claim +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-4.json +104 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-4.patch +11 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-4.snapshot/contract.mjs +4 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-4.snapshot/package.json +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-5.claim +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-5.diagnostic.json +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-5.json +97 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-6.claim +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-6.json +104 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-6.patch +11 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-6.snapshot/contract.mjs +4 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-6.snapshot/package.json +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-7.claim +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-7.json +108 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-8.claim +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-8.diagnostic.json +1 -0
- package/docs/evaluation/live-screening-2026-10-17/runs/screen-8.json +116 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/README.md +124 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/ab-proposal.json +135 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-1/README.md +25 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-1/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-1/approved-decision.json +79 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-1/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-1/token-live-result.json +546 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-2/README.md +22 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-2/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-2/approved-decision.json +80 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-2/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-2/token-live-result.json +1663 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-3/README.md +23 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-3/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-3/approved-decision.json +71 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-3/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-3/token-live-result.json +1748 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/README.md +25 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-A/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-A/approved-decision.json +71 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-A/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-A/token-live-result.json +3019 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-B/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-B/approved-decision.json +71 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-B/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/probe/attempt-4/arm-B/token-live-result.json +2859 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/README.md +67 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r1-pair1-A/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r1-pair1-A/approved-decision.json +71 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r1-pair1-A/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r1-pair1-A/token-live-result.json +3019 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r2-pair1-B/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r2-pair1-B/approved-decision.json +71 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r2-pair1-B/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r2-pair1-B/token-live-result.json +2981 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r3-pair2-B/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r3-pair2-B/approved-decision.json +71 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r3-pair2-B/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r3-pair2-B/token-live-result.json +2887 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r4-pair2-A/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r4-pair2-A/approved-decision.json +71 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r4-pair2-A/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r4-pair2-A/token-live-result.json +3189 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r5-pair3-B/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r5-pair3-B/approved-decision.json +71 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r5-pair3-B/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r5-pair3-B/token-live-result.json +2929 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r6-pair3-A/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r6-pair3-A/approved-decision.json +71 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r6-pair3-A/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r6-pair3-A/token-live-result.json +3085 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r7-pair4-A/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r7-pair4-A/approved-decision.json +71 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r7-pair4-A/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r7-pair4-A/token-live-result.json +3019 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r8-pair4-B/approved-budget.json +13 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r8-pair4-B/approved-decision.json +71 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r8-pair4-B/approved-manifest.json +271 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/r8-pair4-B/token-live-result.json +2925 -0
- package/docs/evaluation/m1-ab-proposal-2026-10-18/results/summary-rows.json +338 -0
- package/docs/evaluation/node24-followup-2026-10-17/README.md +55 -0
- package/docs/evaluation/node24-followup-2026-10-17/client-migration-review.json +20 -0
- package/docs/evaluation/node24-followup-2026-10-17/client-registration-migration.json +31 -0
- package/docs/evaluation/node24-followup-2026-10-17/client-registration-verification.json +389 -0
- package/docs/evaluation/node24-followup-2026-10-17/closure-checks.json +33 -0
- package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-probe.mjs +259 -0
- package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-report.md +39 -0
- package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-result-attempt-2.json +49 -0
- package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-result-attempt-3.json +76 -0
- package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-result-attempt-4.json +108 -0
- package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-result.json +12 -0
- package/docs/evaluation/node24-followup-2026-10-17/cursor-headless-run.mjs +96 -0
- package/docs/evaluation/node24-followup-2026-10-17/download.json +16 -0
- package/docs/evaluation/node24-followup-2026-10-17/extension-summary.json +97 -0
- package/docs/evaluation/node24-followup-2026-10-17/final-review.json +15 -0
- package/docs/evaluation/node24-followup-2026-10-17/install.json +10 -0
- package/docs/evaluation/node24-followup-2026-10-17/integrity.json +204 -0
- package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-evidence.json +39 -0
- package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-probe.mjs +277 -0
- package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-report.md +35 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/docs/evaluation/node24-followup-2026-10-17/isolated-extensions-runner.mjs +172 -0
- package/docs/evaluation/node24-followup-2026-10-17/isolated-install.json +121 -0
- package/docs/evaluation/node24-followup-2026-10-17/isolated-package-lock.json +2321 -0
- package/docs/evaluation/node24-followup-2026-10-17/isolated-package.json +12 -0
- package/docs/evaluation/node24-followup-2026-10-17/launcher-review.json +17 -0
- package/docs/evaluation/node24-followup-2026-10-17/launcher-switch.json +28 -0
- package/docs/evaluation/node24-followup-2026-10-17/mcp-launcher-test.json +24 -0
- package/docs/evaluation/node24-followup-2026-10-17/migrate-client-node.mjs +129 -0
- package/docs/evaluation/node24-followup-2026-10-17/node-runtime-report.md +127 -0
- package/docs/evaluation/node24-followup-2026-10-17/node24-checks.json +44 -0
- package/docs/evaluation/node24-followup-2026-10-17/pi-launcher-test.json +13 -0
- package/docs/evaluation/node24-followup-2026-10-17/publication-export.json +11 -0
- package/docs/evaluation/node24-followup-2026-10-17/restore-launchers.mjs +26 -0
- package/docs/evaluation/node24-followup-2026-10-17/verify-client-node.mjs +36 -0
- package/docs/evaluation/permission-gates-2026-10-17/README.md +23 -0
- package/docs/evaluation/permission-gates-2026-10-17/attempts.json +53 -0
- package/docs/evaluation/permission-gates-2026-10-17/integrity.json +46 -0
- package/docs/evaluation/permission-gates-2026-10-17/permission-gate-probe.mjs +132 -0
- package/docs/evaluation/permission-gates-2026-10-17/permission-gate-worker.mjs +209 -0
- package/docs/evaluation/permission-gates-2026-10-17/permission-gates-result-final.json +53 -0
- package/docs/evaluation/permission-gates-2026-10-17/permission-gates-result-verified.json +54 -0
- package/docs/evaluation/permission-gates-2026-10-17/permission-gates-result.json +53 -0
- package/docs/evaluation/permission-gates-2026-10-17/review.json +19 -0
- package/docs/evaluation/permission-gates-2026-10-17/superseded-initial-receipt.json +40 -0
- package/docs/evaluation/pi-lens-registration-2026-10-19/README.md +90 -0
- package/docs/evaluation/pi-lens-registration-2026-10-19/probe.mjs +126 -0
- package/docs/evaluation/pi-lens-registration-2026-10-19/result.json +1 -0
- package/docs/evaluation/plan-continuation-2026-10-17/README.md +107 -0
- package/docs/evaluation/plan-continuation-2026-10-17/budget.proposed.json +13 -0
- package/docs/evaluation/plan-continuation-2026-10-17/checks.json +1048 -0
- package/docs/evaluation/plan-continuation-2026-10-17/integrity.json +58 -0
- package/docs/evaluation/plan-continuation-2026-10-17/inventory.json +239 -0
- package/docs/evaluation/plan-continuation-2026-10-17/manifest.proposed.json +315 -0
- package/docs/evaluation/plan-continuation-2026-10-17/next-stage-ledger.json +19 -0
- package/docs/evaluation/plan-continuation-2026-10-17/prepare-rescreen.mjs +30 -0
- package/docs/evaluation/plan-continuation-2026-10-17/prior-integrity.json +25 -0
- package/docs/evaluation/plan-continuation-2026-10-17/proposal-validation.json +14 -0
- package/docs/evaluation/plan-continuation-2026-10-17/receipt-contract-update.patch +40 -0
- package/docs/evaluation/plan-continuation-2026-10-17/review.json +8 -0
- package/docs/evaluation/plan-continuation-2026-10-17/source-delta.json +14 -0
- package/docs/evaluation/profile-evaluation.md +297 -0
- package/docs/evaluation/publication-2026-10-17/README.md +88 -0
- package/docs/evaluation/publication-2026-10-17/checks.json +117 -0
- package/docs/evaluation/publication-2026-10-17/integrity.json +21 -0
- package/docs/evaluation/publication-2026-10-17/publication-scan.json +63 -0
- package/docs/evaluation/publication-2026-10-17/review.json +21 -0
- package/docs/evaluation/s5-decision-inputs-2026-10-18/README.md +16 -0
- package/docs/evaluation/s5-decision-inputs-2026-10-18/bounded-wait.md +78 -0
- package/docs/evaluation/s5-decision-inputs-2026-10-18/claude-projection/README.md +151 -0
- package/docs/evaluation/s5-decision-inputs-2026-10-18/claude-projection/attempt-1/claude-projection.json +126 -0
- package/docs/evaluation/s5-decision-inputs-2026-10-18/claude-projection/attempt-2/claude-projection.json +1895 -0
- package/docs/evaluation/s5-decision-inputs-2026-10-18/claude-projection/attempt-3/claude-projection.json +1895 -0
- package/docs/evaluation/s5-decision-inputs-2026-10-18/claude-projection/attempt-4/claude-projection.json +1797 -0
- package/docs/evaluation/s5-decision-inputs-2026-10-18/claude-projection/attempt-5/claude-projection.json +1797 -0
- package/docs/evaluation/s5-decision-inputs-2026-10-18/worker-usage.md +63 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/README.md +212 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/binding.json +20 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/config-ev-off.json +43 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/config-ev-spool.json +43 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/config-l3.json +39 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/config-pre.json +31 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e-teardown-setup-remove.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-digest-ev-e1.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-leaks.json +131 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-oracle.json +74 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-setup-1-dryrun.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-setup-2-apply.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e1-setup-3-verify.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-digest-ev-e2l.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-digest-ev-e2s.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-leaks.json +205 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-oracle.json +110 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e2-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e3b-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e3b-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e3b-digest-ev-e3.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e3b-leaks.json +215 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e3b-oracle.json +79 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e3b-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-digest-ev-e4a.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-digest-ev-e4b.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-late-a.json +16 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-late-b.json +16 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-leaks.json +167 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-oracle.json +70 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e4-run.json +37 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-digest-ev-e5.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-leaks.json +82 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-oracle.json +60 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e5-server-env-names.txt +14 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-digest-ev-e1.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-leaks.json +156 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-run.json +37 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-setup-apply.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/e6b-teardown-remove.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/final-e-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/kit.sha256 +23 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l2-packed-off.json +1185 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l2-packed-spool.json +1334 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l2-wt-off.json +1185 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l2-wt-spool.json +1334 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv1-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv1-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv1-digest-cc-analysis.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv1-leaks.json +80 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv1-oracle.json +61 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv1-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-leaks.json +80 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-oracle-stage1.json +34 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-oracle-stage2.json +35 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-snapshot-stage1.txt +4 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv2-snapshot-stage2.txt +5 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-digest-cc-abort.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-leaks.json +82 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-oracle-flow.json +61 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-oracle-late.json +16 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cc-inv3-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-controller-skill-remove.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-controller-skill-setup.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv1-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv1-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv1-digest-cx-analysis.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv1-leaks.json +93 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv1-oracle.json +61 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv1-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-leaks.json +93 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-oracle-stage1.json +34 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-oracle-stage2.json +35 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-snapshot-stage1.txt +4 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv2-snapshot-stage2.txt +5 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-digest-cx-abort.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-leaks.json +95 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-oracle-flow.json +61 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-oracle-late.json +16 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/l3-cx-inv3-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-digest-pre-analysis.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-digest-pre-code.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-leaks.json +86 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-oracle.json +39 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-clean-10s.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-clean.json +15 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-digest-pre-analysis.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-digest-pre-code.json +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-leaks.json +47 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-oracle.json +39 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/p0a-harness-fail-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/regdigest-after-cc.json +6 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/regdigest-after-cx.json +6 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/regdigest-after-e.json +6 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/regdigest-before.json +6 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w1-control-apply.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w1-control-dryrun.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w1-provision-apply-attempt1.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w1-provision-apply-attempt2.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w1-provision-dryrun.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w1-writer-verify.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2-leaks.json +130 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2-oracle.txt +14 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2b-oracle.txt +16 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2c-oracle.txt +8 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2d-oracle.txt +6 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2r-leaks.json +130 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2r-oracle.txt +3 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w2r-run.json +33 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w3-collect.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w3-finish.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w3r-collect.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w3r-finish.json +1 -0
- package/docs/evaluation/s7-live-acceptance-2026-10-24/evidence/w4-remove.json +1 -0
- package/docs/evaluation/subagent-probe-2026-10-26/README.md +132 -0
- package/docs/evaluation/subagent-probe-2026-10-26/results/K7.json +463 -0
- package/docs/evaluation/subagent-probe-2026-10-26/results/summary.json +50 -0
- package/docs/evaluation/test-coverage-2026-10-17.json +483 -0
- package/docs/evaluation/test-coverage-review-2026-10-17.json +22 -0
- package/docs/evaluation/test-coverage-verification-2026-10-17.json +31 -0
- package/docs/evaluation/token-footprint-2026-10-17/README.md +297 -0
- package/docs/evaluation/token-footprint-2026-10-17/baseline.json +25871 -0
- package/docs/evaluation/token-footprint-2026-10-17/calibration-2/README.md +24 -0
- package/docs/evaluation/token-footprint-2026-10-17/calibration-2/baseline.json +30346 -0
- package/docs/evaluation/token-footprint-2026-10-17/calibration-2/client-projection.json +2538 -0
- package/docs/evaluation/token-footprint-2026-10-17/calibration-2/live-approval/budget.json +13 -0
- package/docs/evaluation/token-footprint-2026-10-17/calibration-2/live-approval/decision.json +69 -0
- package/docs/evaluation/token-footprint-2026-10-17/calibration-2/live-approval/manifest.json +271 -0
- package/docs/evaluation/token-footprint-2026-10-17/calibration-2/live-package.json +785 -0
- package/docs/evaluation/token-footprint-2026-10-17/calibration-2/measurement.json +37956 -0
- package/docs/evaluation/token-footprint-2026-10-17/calibration-2/summary.json +119 -0
- package/docs/evaluation/token-footprint-2026-10-17/checks-final.json +273 -0
- package/docs/evaluation/token-footprint-2026-10-17/checks.json +190 -0
- package/docs/evaluation/token-footprint-2026-10-17/client-attempts/README.md +25 -0
- package/docs/evaluation/token-footprint-2026-10-17/client-attempts/attempt-4.json +2274 -0
- package/docs/evaluation/token-footprint-2026-10-17/client-attempts/pilot-1.json +77 -0
- package/docs/evaluation/token-footprint-2026-10-17/client-attempts/pilot-2.json +81 -0
- package/docs/evaluation/token-footprint-2026-10-17/client-attempts/pilot-3.json +121 -0
- package/docs/evaluation/token-footprint-2026-10-17/current-calibration/baseline.json +30346 -0
- package/docs/evaluation/token-footprint-2026-10-17/current-calibration/measurement.json +37956 -0
- package/docs/evaluation/token-footprint-2026-10-17/current-calibration/summary.json +119 -0
- package/docs/evaluation/token-footprint-2026-10-17/current-client-projection.json +2538 -0
- package/docs/evaluation/token-footprint-2026-10-17/follow-up.md +76 -0
- package/docs/evaluation/token-footprint-2026-10-17/integrity.json +171 -0
- package/docs/evaluation/token-footprint-2026-10-17/live-approval/README.md +36 -0
- package/docs/evaluation/token-footprint-2026-10-17/live-approval/budget.json +13 -0
- package/docs/evaluation/token-footprint-2026-10-17/live-approval/decision.json +69 -0
- package/docs/evaluation/token-footprint-2026-10-17/live-approval/manifest.json +271 -0
- package/docs/evaluation/token-footprint-2026-10-17/live-package.json +795 -0
- package/docs/evaluation/token-footprint-2026-10-17/live-proposal.json +427 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/README.md +75 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-1/approved-budget.json +13 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-1/approved-decision.json +69 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-1/approved-manifest.json +271 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-1/token-live-result.json +837 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-2/approved-budget.json +13 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-2/approved-decision.json +69 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-2/approved-manifest.json +271 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-2/token-live-result.json +985 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-3/approved-budget.json +13 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-3/approved-decision.json +69 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-3/approved-manifest.json +271 -0
- package/docs/evaluation/token-footprint-2026-10-17/m1-pilot/attempt-3/token-live-result.json +3055 -0
- package/docs/evaluation/token-footprint-2026-10-17/measurement.json +32476 -0
- package/docs/evaluation/token-footprint-2026-10-17/prior-calibration/README.md +20 -0
- package/docs/evaluation/token-footprint-2026-10-17/prior-calibration/integrity.json +40 -0
- package/docs/evaluation/token-footprint-2026-10-17/summary.json +119 -0
- package/docs/evaluation/tool-definitions-2026-10-18/README.md +204 -0
- package/docs/evaluation/tool-definitions-2026-10-18/codex-projection/after/client-projection.json +2853 -0
- package/docs/evaluation/tool-definitions-2026-10-18/codex-projection/before/client-projection.json +2853 -0
- package/docs/evaluation/tool-definitions-2026-10-18/compare-validation.mjs +64 -0
- package/docs/evaluation/tool-definitions-2026-10-18/diff-validation.mjs +13 -0
- package/docs/evaluation/tool-definitions-2026-10-18/measure-wire.mjs +31 -0
- package/docs/evaluation/worker-system-prompt-2026-10-26/README.md +95 -0
- package/docs/evaluation/worker-system-prompt-2026-10-26/probe.mjs +155 -0
- package/docs/execution-modes.md +388 -0
- package/docs/installation.md +246 -12
- package/docs/isolation-setup.md +258 -0
- package/docs/macos-setup-design.md +2 -2
- package/docs/pi-extensions-design.md +71 -16
- package/docs/releasing.md +12 -6
- package/docs/reviews/2026-10-18-adr-0008-decision-brief.md +53 -0
- package/docs/roadmap.md +320 -9
- package/docs/session-mcp.md +5 -1
- package/docs/skills.md +23 -0
- package/docs/sprints/2026-10-15-s4-decision.md +73 -4
- package/docs/sprints/2026-10-17-token-footprint.md +130 -0
- package/docs/sprints/2026-10-18-s5-maintenance-orchestration.md +202 -0
- package/docs/sprints/2026-10-21-s6-ledger-event-bridge.md +120 -0
- package/docs/sprints/2026-10-24-s7-stabilization-live-acceptance.md +173 -0
- package/docs/sprints/2026-10-24-s8-writer-migration.md +235 -0
- package/docs/sprints/2026-10-26-s10-orchestration-reliability.md +250 -0
- package/docs/sprints/2026-10-26-s11-orchestration-gaps.md +173 -0
- package/docs/threat-model.md +37 -6
- package/docs/tool-contracts.md +91 -9
- package/package.json +17 -11
- package/scripts/isolation-acceptance.mjs +709 -0
- package/scripts/isolation-probe.cjs +213 -0
- package/skills/pi-session-implementation/SKILL.md +13 -3
- package/skills/pi-session-orchestration/SKILL.md +50 -13
- package/skills/pi-session-orchestration/references/start-errors.md +12 -0
- package/skills/pi-session-review/SKILL.md +13 -5
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# Sprint 7: stabilization and live acceptance (2026-10-24)
|
|
2
|
+
|
|
3
|
+
Planning basis: main `f69c40f2f2f7ab5fb98767715ed2dc394e58a3cb`, published
|
|
4
|
+
release 0.11.2, Pi SDK 1.4.0. Open issues at the start: #118 and #79; no open
|
|
5
|
+
pull requests; CI, install smoke and the SDK canary green on that commit.
|
|
6
|
+
|
|
7
|
+
This is a maintenance sprint, requested by the maintainer on 2026-10-24. It
|
|
8
|
+
fixes one confirmed defect, reconciles the planning documents with what was
|
|
9
|
+
delivered, and accepts the integrated candidate with real controllers and real
|
|
10
|
+
Pi model turns. It does not change the MCP contract and adds no minor version.
|
|
11
|
+
|
|
12
|
+
## Mandate
|
|
13
|
+
|
|
14
|
+
| Goal | Content |
|
|
15
|
+
| --- | --- |
|
|
16
|
+
| A | Fix [#118](https://github.com/plagor44-ux/pi-session-mcp/issues/118): the Linux process table counted a zombie thread-group leader with live threads as gone. |
|
|
17
|
+
| B | Reconcile roadmap, sprint files, implementation plans and trackers with the delivered releases. |
|
|
18
|
+
| C | Accept the integrated candidate with real Claude Code and Codex controllers and real Pi worker turns. |
|
|
19
|
+
| D | Check the normal setup and hook path and an automated container writer with event delivery. |
|
|
20
|
+
| E | Record remaining gaps precisely and prioritize them. |
|
|
21
|
+
|
|
22
|
+
Authorized: the focused fix, parallel delegation to internal subagents, Pi
|
|
23
|
+
workers and agy, real model calls for development, review and the acceptance
|
|
24
|
+
below, temporary configurations, synthetic repositories, isolated client
|
|
25
|
+
settings and writers created only for this sprint, setup mutations inside
|
|
26
|
+
those isolated environments, tracker and documentation upkeep, and one
|
|
27
|
+
reviewable pull request against main.
|
|
28
|
+
|
|
29
|
+
Not authorized: merge, tag, npm publication or rollout; changes to other
|
|
30
|
+
running sessions or to existing client registrations and writers; wider
|
|
31
|
+
permissions or credentials; new paid services or budgets; a new public MCP
|
|
32
|
+
contract, a production task ledger, a supervisor daemon or a production
|
|
33
|
+
question channel.
|
|
34
|
+
|
|
35
|
+
Live acceptance limits set by the maintainer for the acceptance matrix: at most
|
|
36
|
+
20 worker starts and 32 worker turns, at most 120 minutes of active live
|
|
37
|
+
acceptance, no open-ended repetition, and at most one targeted rerun of a
|
|
38
|
+
failed scenario after a demonstrated correction. No money limit was set by the
|
|
39
|
+
maintainer, and none is claimed here. Development and review delegations are
|
|
40
|
+
counted separately.
|
|
41
|
+
|
|
42
|
+
## Scope
|
|
43
|
+
|
|
44
|
+
- In: the #118 fix and its regression tests; corrections of the over-general
|
|
45
|
+
zombie statement in the rules and design documents; the documentation and
|
|
46
|
+
tracker reconciliation; a frozen candidate with Level 1, Level 2 (delivery
|
|
47
|
+
off and spool, packed tarball) and the Level 3 cycle; event-delivery
|
|
48
|
+
scenarios E1–E6; one automated container writer with delivery.
|
|
49
|
+
- Out: the question channel (ADR 0011 item 4), a production ledger or
|
|
50
|
+
supervisor, Codex wake, macOS delivery, any change on macOS for #118 (the
|
|
51
|
+
`ps` path is not checked for the same case).
|
|
52
|
+
|
|
53
|
+
## Source binding
|
|
54
|
+
|
|
55
|
+
Three builds are kept apart in every record:
|
|
56
|
+
|
|
57
|
+
1. Reference: the published 0.11.2 (`f69c40f` source, npm package).
|
|
58
|
+
2. Candidate: the head of this sprint's pull request with the #118 fix. Its
|
|
59
|
+
package version stays `0.11.2` because the version is not raised in this
|
|
60
|
+
sprint (changelog entries go under Unreleased); the candidate is identified
|
|
61
|
+
by commit and `dist/` digests, never by the version string.
|
|
62
|
+
3. Loaded: what a controller actually started, recorded per run.
|
|
63
|
+
|
|
64
|
+
A pass of the candidate is never reported as live acceptance of the published
|
|
65
|
+
0.11.2.
|
|
66
|
+
|
|
67
|
+
## Work split
|
|
68
|
+
|
|
69
|
+
The integrator (Claude Code) owns shared documents, the changelog, integration,
|
|
70
|
+
the acceptance runs and the final verdict.
|
|
71
|
+
|
|
72
|
+
| Package | Owner | Workspace | Writes |
|
|
73
|
+
| --- | --- | --- | --- |
|
|
74
|
+
| A: #118 fix and tests | Pi worker, profile `code` | full clone alias `pi-session-mcp-w1` | `src/setup-platform.ts`, `test/setup-platform.test.ts`, rule and design text on zombies |
|
|
75
|
+
| B: documentation and tracker reconciliation | internal subagent | separate worktree | event-bridge plan, Sprint 6 file, ADR status lines; proposals for the roadmap and #79 |
|
|
76
|
+
| C: live oracles, client configurations, evidence capture | internal subagent | scratch directory outside the repository | nothing tracked |
|
|
77
|
+
| D: independent review of the frozen candidate | internal reviewer and a Pi reviewer of another model family | read-only | nothing |
|
|
78
|
+
|
|
79
|
+
A, B and C run in parallel. D starts on a frozen, integrated state.
|
|
80
|
+
|
|
81
|
+
## Gate order
|
|
82
|
+
|
|
83
|
+
1. Reproduce #118 on the unchanged source; targeted regression tests.
|
|
84
|
+
2. Integrate; independent review.
|
|
85
|
+
3. Fix confirmed findings.
|
|
86
|
+
4. Freeze the candidate.
|
|
87
|
+
5. Level 1 and the Level 2 variants (delivery off, delivery spool, packed tarball).
|
|
88
|
+
6. Live acceptance on that candidate: the Level 3 cycle, E1–E6 and the container
|
|
89
|
+
writer.
|
|
90
|
+
|
|
91
|
+
A runtime change after a live run needs a new source binding and a rerun of the
|
|
92
|
+
affected acceptance.
|
|
93
|
+
|
|
94
|
+
## Acceptance criteria
|
|
95
|
+
|
|
96
|
+
- #118 reproduced on `f69c40f` with an oracle independent of the function under
|
|
97
|
+
test, and fixed; the #109 handling for vanished processes is unchanged.
|
|
98
|
+
- Level 1 green on the final source; Level 2 passes for delivery off and spool,
|
|
99
|
+
working tree and packed tarball.
|
|
100
|
+
- Level 3: the gate in [Acceptance](../acceptance.md#gate) holds. Eight of ten
|
|
101
|
+
is the floor for task outcomes only; every security, scope and cleanup
|
|
102
|
+
criterion must hold on its own.
|
|
103
|
+
- Wake scenarios have their own status and never stand in for the Level 3 cycle:
|
|
104
|
+
- E1: the hook installed only by setup in an isolated environment; a real
|
|
105
|
+
Pi turn ends while the controller waits; a new controller model round is
|
|
106
|
+
observed; one result read; no polls and no sleep loop.
|
|
107
|
+
- E2: two sessions with different end times; each wake reaches the right
|
|
108
|
+
session and turn; nothing lost or handled twice.
|
|
109
|
+
- E3: a longer deterministic worker task; task deadline, hook budget and hook
|
|
110
|
+
timeout aligned; a budget wake causes exactly one status read and a re-arm.
|
|
111
|
+
- E4: abort and close; no useless wake for a removed session; no stray hook,
|
|
112
|
+
server or worker processes.
|
|
113
|
+
- E5: Codex with a typical minimal environment starts with delivery off and
|
|
114
|
+
completes the core workflow by polling; no Codex wake is claimed.
|
|
115
|
+
- E6: wake in the VS Code extension, checked in a reachable VS Code instance;
|
|
116
|
+
hook pickup by an already running session checked separately; otherwise
|
|
117
|
+
blocked with the shortest operator procedure.
|
|
118
|
+
- Container writer: provisioned from the frozen candidate, readiness and
|
|
119
|
+
isolation checks pass, the spool mount reaches no other writer namespace and
|
|
120
|
+
no extra host files, crafted events cannot fake success, collect and finish
|
|
121
|
+
lose no work, and nothing created by this sprint remains.
|
|
122
|
+
- Every scenario record names commit, build, versions, route, profiles,
|
|
123
|
+
preconditions, steps, oracle, outcome (passed, failed, blocked, not run),
|
|
124
|
+
cleanup and limits.
|
|
125
|
+
|
|
126
|
+
## Status
|
|
127
|
+
|
|
128
|
+
Planned on 2026-10-24. Results are added below as they are taken; failed runs
|
|
129
|
+
stay on record.
|
|
130
|
+
|
|
131
|
+
### Results (2026-10-24)
|
|
132
|
+
|
|
133
|
+
Evidence: [Sprint 7 live acceptance](../evaluation/s7-live-acceptance-2026-10-24/README.md).
|
|
134
|
+
Candidate `6651a47`; the package version string stays `0.11.2`.
|
|
135
|
+
|
|
136
|
+
| Item | Outcome |
|
|
137
|
+
| --- | --- |
|
|
138
|
+
| #118 reproduction on `f69c40f` | reproduced: `groupState` reported `gone` while an independent oracle saw a live thread with four descriptors and the kernel `flock` still held |
|
|
139
|
+
| #118 fix and tests | implemented; the new tests fail on `f69c40f` (9 failures, the live test among them) and pass on the candidate; the same oracle reports `alive` while the lock is held and `gone` after exit |
|
|
140
|
+
| Independent review | two reviews of the integrated state (Claude Opus 5.5 subagent, Pi `review-grok`): no blocking finding; the Low findings and one nit were fixed |
|
|
141
|
+
| Level 1 | green except `npm audit`: `undici` 8.10.2 pinned by Pi SDK 1.4.0 ([#120](https://github.com/plagor44-ux/pi-session-mcp/issues/120)); `zod` and the development-path advisories were patched |
|
|
142
|
+
| Level 2 | passed: working tree and packed tarball, delivery off (160/160) and spool (228/228) |
|
|
143
|
+
| Level 3 | 10 of 10 tasks passed with every oracle check; gate not met only because Level 1 is not green (#120) |
|
|
144
|
+
| E1 setup path wake | passed |
|
|
145
|
+
| E2 parallel turns | passed |
|
|
146
|
+
| E3b budget wake (manual hook) | passed |
|
|
147
|
+
| E4 abort and close | passed against the pre-registered criteria; one stricter kit-oracle check failed and is recorded |
|
|
148
|
+
| E5 Codex fallback | passed |
|
|
149
|
+
| E6 VS Code | the wake was observed in the integrator's VS Code extension session on the published 0.11.2 only; the candidate was not loaded there; hook pickup by a running VS Code session not checked (procedure in the evidence) |
|
|
150
|
+
| E6b hook pickup, CLI stream-json | picked up without restart |
|
|
151
|
+
| Container writer with delivery | provisioning needed a second apply after one undiagnosable `writer_acceptance_failed` ([#121](https://github.com/plagor44-ux/pi-session-mcp/issues/121)); delegation, wake, collect, review, finish and remove passed; boundary and crafted-event checks passed provider-free; the forged event during a real controller turn was not run (harness defect, rerun and start limit used) |
|
|
152
|
+
|
|
153
|
+
Delegations for development and review, counted apart from the acceptance
|
|
154
|
+
matrix:
|
|
155
|
+
|
|
156
|
+
| Task | Route | Result |
|
|
157
|
+
| --- | --- | --- |
|
|
158
|
+
| A: #118 fix and tests | Pi `code` (openai gpt-6.1-sol) on the full clone `pi-session-mcp-w1`, a host writer: the alias has mode `unset`, as all 29 configured aliases do | completed in one turn; diff reviewed and cherry-picked |
|
|
159
|
+
| B: documentation reconciliation | Claude subagent (Sonnet 5.5) in a separate worktree | four files; cherry-picked; roadmap and #79 text applied by the integrator |
|
|
160
|
+
| C: acceptance kit | Claude subagent (Sonnet 5.5), scratch directory | kit with self-test; one runbook defect (preflight configuration) found live |
|
|
161
|
+
| D: review | Claude reviewer (Opus 5.5) and Pi `review-grok` (xai grok-4.7) | no blocking finding |
|
|
162
|
+
|
|
163
|
+
Not done in this sprint: a structured question channel (ADR 0011 item 4).
|
|
164
|
+
Completion wakes are a product feature since 0.11.0; structured questions were
|
|
165
|
+
only examined in the Sprint 6 prototype; a public answer channel stays
|
|
166
|
+
undecided. A human elicitation is not an autonomous answer of the controller,
|
|
167
|
+
and a second prompt to a session with a running turn is refused
|
|
168
|
+
(`session_running`), so it is no answer channel either. This sprint found no
|
|
169
|
+
new demand that would justify an issue.
|
|
170
|
+
|
|
171
|
+
Known gap outside #118: the acceptance harness
|
|
172
|
+
`scripts/multi-session-acceptance.mjs` still treats every `Z` process as
|
|
173
|
+
terminated in its own leftover check; it is not part of the setup fence.
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# Sprint 8: migrate productive coding to container writers
|
|
2
|
+
|
|
3
|
+
Planning basis: main `47b8d26` (Sprint 7 merged), installed release 0.11.2.
|
|
4
|
+
Tracking: [#79](https://github.com/plagor44-ux/pi-session-mcp/issues/79),
|
|
5
|
+
prerequisite [#121](https://github.com/plagor44-ux/pi-session-mcp/issues/121).
|
|
6
|
+
|
|
7
|
+
Status: **planned**. The maintainer made the choices on 2026-10-25; see
|
|
8
|
+
[Decisions](#decisions-2026-10-25). Nothing below has been changed on any
|
|
9
|
+
machine yet.
|
|
10
|
+
|
|
11
|
+
## Mandate
|
|
12
|
+
|
|
13
|
+
On 2026-10-24 the maintainer decided that productive coding moves to
|
|
14
|
+
automated container writers ([ADR 0008](../adr/0008-coding-profile-isolation.md),
|
|
15
|
+
[ADR 0009](../adr/0009-execution-modes.md)). The host worktree writers will be
|
|
16
|
+
retired. This sprint plans and carries out that migration per repository. It
|
|
17
|
+
changes operator configuration, not product code, unless a migration step
|
|
18
|
+
exposes a defect. The one planned product change is the diagnosability of a
|
|
19
|
+
failed writer acceptance (#121), because every writer of the migration passes
|
|
20
|
+
through that acceptance.
|
|
21
|
+
|
|
22
|
+
Out of scope: product features other than #121, macOS writers, Codex wake, a
|
|
23
|
+
writer lifecycle the release does not ship, and `bun-app` (its alias stays
|
|
24
|
+
as it is until a later decision).
|
|
25
|
+
|
|
26
|
+
## Inventory (workstation, 2026-10-24)
|
|
27
|
+
|
|
28
|
+
All 29 configured workspace aliases have mode `unset`, so host coding is
|
|
29
|
+
allowed everywhere. Every worker worktree is clean and detached.
|
|
30
|
+
|
|
31
|
+
| Repository | Main alias | Host writer aliases today | Review alias | Toolchain needed |
|
|
32
|
+
| --- | --- | --- | --- | --- |
|
|
33
|
+
| pi-session-mcp | `pi-session-mcp` | `pi-session-mcp-w1` (full clone) | — | Node ≥ 22.19, npm |
|
|
34
|
+
| node-app | `node-app` | `node-app-w1`–`node-app-w4` (worktrees) | — | Node ≥ 22.13, npm |
|
|
35
|
+
| go-app | `go-app` | `go-app-w1`–`go-app-w7` (worktrees); manual container writer `go-app-alpha` | `go-app-rev` | Go 1.27.3 (`go.mod`), Node |
|
|
36
|
+
| py-app | `py-app` | `py-app-w1`–`py-app-w3` (worktrees) | `py-app-rev` | Python ≥ 3.12 with `uv` |
|
|
37
|
+
| pynode-app | `pynode-app` | `pynode-app-stab-a`–`pynode-app-stab-e`, `pynode-app-stab-int` (worktrees) | — | Python ≥ 3.12 with `uv` (backend), Node with npm (frontend) |
|
|
38
|
+
| bun-app | `bun-app` | — | — | `bun` |
|
|
39
|
+
|
|
40
|
+
The built-in writer image (`--image node`, a pinned digest) provides
|
|
41
|
+
Node.js 22.23.3, Python 3.11 and Git. It has no Go, no `uv` and no `bun`.
|
|
42
|
+
The operator image of `go-app-alpha` provides Go 1.26.9, which cannot build a
|
|
43
|
+
module that requires Go 1.27.3 under `GOTOOLCHAIN=local`. Repository sizes
|
|
44
|
+
(12–36 MB of Git data each) make disk space a non-issue for full clones.
|
|
45
|
+
|
|
46
|
+
Second machine: the second machine has 9 aliases, among them `node-app-w1`–`node-app-w4`,
|
|
47
|
+
and no `events` setting. **Podman is not installed there**, so container
|
|
48
|
+
writers cannot run on it without a privileged installation.
|
|
49
|
+
|
|
50
|
+
## Target
|
|
51
|
+
|
|
52
|
+
Read-only profiles stay allowed in every mode. Main aliases and review aliases
|
|
53
|
+
therefore stay usable for analysis and review on the host server. Coding moves
|
|
54
|
+
to writers `<alias>-w<n>`, registered as `pi-coding-<alias>-w<n>`.
|
|
55
|
+
|
|
56
|
+
A writer is not bound to a provider: every writer carries all profiles of its
|
|
57
|
+
boundary, and the controller names the profile when it starts a session. A
|
|
58
|
+
writer admits one open coding session at a time, so the writer count is the
|
|
59
|
+
number of parallel coding sessions per repository. Every writer is one more
|
|
60
|
+
project-local MCP registration with the full tool list, so counts can be raised
|
|
61
|
+
later (up to 16) with another `--apply` rather than provisioned ahead of need.
|
|
62
|
+
|
|
63
|
+
All writers use lifecycle `persistent` (finish collects, then resets the clone
|
|
64
|
+
to its baseline) and network `pasta`; `none` would cut the boundary off from
|
|
65
|
+
every provider.
|
|
66
|
+
|
|
67
|
+
| Repository | Mode of the main alias | Writers | Image | Profiles in the boundary |
|
|
68
|
+
| --- | --- | --- | --- | --- |
|
|
69
|
+
| pi-session-mcp (pilot) | `container` | 2 | `node` | `code`, `code-deepseek`, `code-glm`, `code-mistral`, `code-grok` |
|
|
70
|
+
| node-app | `container` | 4 | `node` | as above |
|
|
71
|
+
| go-app | `container` | 4 | operator image: Go 1.27.3 and Node, `--cache go` | as above |
|
|
72
|
+
| py-app | `container` | 3 | operator image: Python 3.12, `uv`, Node | as above |
|
|
73
|
+
| pynode-app | `container` | 4 | operator image: Python 3.12, `uv`, Node | as above |
|
|
74
|
+
|
|
75
|
+
Review aliases `go-app-rev` and `py-app-rev` become mode `read-only`. After a
|
|
76
|
+
repository's writers are ready, its host writer aliases are removed from the
|
|
77
|
+
configuration, and their worktrees are retired by the existing worktree-closing
|
|
78
|
+
rule (commits checked into the integration branch, detached on `main`, branch
|
|
79
|
+
deleted). `code-cursor` is dropped for coding: ADR 0009 does not admit the
|
|
80
|
+
Cursor provider in a boundary. `review-cursor` stays a read-only route.
|
|
81
|
+
|
|
82
|
+
Writer names collide with today's host alias names: `go-app-w1` is a host
|
|
83
|
+
worktree today and would also be the first go-app writer. Each repository's
|
|
84
|
+
host writer aliases are therefore removed in the same change that provisions
|
|
85
|
+
its writers.
|
|
86
|
+
|
|
87
|
+
## Operator images
|
|
88
|
+
|
|
89
|
+
Setup does not build images; it accepts a local image ID. The sprint adds one
|
|
90
|
+
Containerfile per toolchain with pinned base digests to the operator's private
|
|
91
|
+
infrastructure repository, built
|
|
92
|
+
with rootless `podman build` on each machine that runs writers:
|
|
93
|
+
|
|
94
|
+
- `node-go`: Node 22 and Go 1.27.3 (go-app);
|
|
95
|
+
- `node-python-uv`: Node 22, Python 3.12 and `uv` (py-app,
|
|
96
|
+
pynode-app).
|
|
97
|
+
|
|
98
|
+
Each image needs Node, Git, bash, ssh and coreutils for the acceptance
|
|
99
|
+
harness. A new image ID requires the provisioning command again and a new
|
|
100
|
+
acceptance. The toolchain versions in those Containerfiles must follow the
|
|
101
|
+
repositories' `go.mod` and Python requirements; a version bump there is a new
|
|
102
|
+
image and a new acceptance.
|
|
103
|
+
|
|
104
|
+
## Changes to the operator workflow
|
|
105
|
+
|
|
106
|
+
- Writer registrations are project-local in Claude Code: the writer tools are
|
|
107
|
+
visible only to a controller started in that repository's checkout. Every
|
|
108
|
+
writer is also registered for Codex with `--client codex`, so both
|
|
109
|
+
controllers keep coding access.
|
|
110
|
+
- Results come back through `--collect --apply` as
|
|
111
|
+
`refs/remotes/writer-<name>/<branch>` in the operator checkout, and a writer
|
|
112
|
+
is reused only after `--finish --apply`. This replaces cherry-picking from
|
|
113
|
+
host worktrees.
|
|
114
|
+
- `~/.claude/rules/pi-routing.md` and `orchestration.md` must name the writer
|
|
115
|
+
registrations instead of the worktree aliases. The rule that both machines
|
|
116
|
+
have identical profile aliases stays.
|
|
117
|
+
- After every release upgrade, each writer must be accepted again, because
|
|
118
|
+
acceptance binds the package version. The next release (with #118, #121 and
|
|
119
|
+
whatever resolves #120) therefore adds one provider-free acceptance run per
|
|
120
|
+
writer and does not block the migration.
|
|
121
|
+
|
|
122
|
+
## Order and gates
|
|
123
|
+
|
|
124
|
+
0. #121: a failed writer acceptance reports which check failed, under distinct
|
|
125
|
+
codes, and keeps a sanitized report in the writer's private state.
|
|
126
|
+
- Gate: tests for every failure path, Level 1 except the known #120
|
|
127
|
+
finding, independent review. Shipped in the same pull request as this
|
|
128
|
+
plan; the pilot runs from that build.
|
|
129
|
+
1. Pilot: `pi-session-mcp`, built-in image, 2 writers.
|
|
130
|
+
- Gate: control, provisioning, acceptance and `--verify` pass.
|
|
131
|
+
- Gate: one real coding delegation per writer, collected, reviewed and
|
|
132
|
+
finished.
|
|
133
|
+
- Gate: the host writer alias `pi-session-mcp-w1` is retired.
|
|
134
|
+
2. `node-app`, built-in image; retire `node-app-w1`–`node-app-w4` on
|
|
135
|
+
the workstation.
|
|
136
|
+
3. Build and check the operator images (the toolchain version inside each
|
|
137
|
+
image, and the acceptance harness).
|
|
138
|
+
4. go-app: first collect and review all `go-app-alpha` work and remove the
|
|
139
|
+
manual writer as documented, then provision. Retire `go-app-w1`–`go-app-w7`.
|
|
140
|
+
`go-app-rev` becomes `read-only`.
|
|
141
|
+
5. py-app, then pynode-app, each with its retirement step.
|
|
142
|
+
6. the second machine: the operator installs rootless Podman (a privileged
|
|
143
|
+
step). Then the same isolation control, image builds and provisioning as on
|
|
144
|
+
the workstation, starting with `node-app`; retire the
|
|
145
|
+
server's `node-app-w1`–`node-app-w4`.
|
|
146
|
+
7. Update the routing rules and both machines' configuration. Record the
|
|
147
|
+
outcome on #79 and close it if every repository in scope is migrated;
|
|
148
|
+
`bun-app` is recorded as deferred.
|
|
149
|
+
|
|
150
|
+
Every step is one repository at a time, with a rollback: collect the writers'
|
|
151
|
+
work, `--remove` them, and set the mode back to `host` with
|
|
152
|
+
`--accept-host-writes`. Open sessions of other controllers on an affected
|
|
153
|
+
repository must be closed before its mode changes, and controllers must be
|
|
154
|
+
restarted afterwards.
|
|
155
|
+
|
|
156
|
+
## Acceptance per repository
|
|
157
|
+
|
|
158
|
+
- Setup reports `writer_accepted`, `writer_registered`, `hook_added` (delivery
|
|
159
|
+
on), and `--verify` reports `mcp_verified`.
|
|
160
|
+
- One real coding turn per writer through Claude Code, with wake when delivery
|
|
161
|
+
is on. The result is collected, reviewed in the operator checkout,
|
|
162
|
+
test-checked, and finished.
|
|
163
|
+
- No host writer alias of the repository remains in the configuration, and
|
|
164
|
+
no worktree of it remains with unintegrated commits.
|
|
165
|
+
- Doctor reports no `unset` warning for the repository.
|
|
166
|
+
|
|
167
|
+
Known risk: [#121](https://github.com/plagor44-ux/pi-session-mcp/issues/121).
|
|
168
|
+
A first acceptance can fail once. With step 0 the failure names its cause; one
|
|
169
|
+
repeated `--apply` is allowed. A second failure stops that repository.
|
|
170
|
+
|
|
171
|
+
## Decisions (2026-10-25)
|
|
172
|
+
|
|
173
|
+
1. **Writer counts:** 2, 4, 4, 3, 4 as in the target table.
|
|
174
|
+
2. **Images:** built in this sprint; Containerfiles live in the operator's
|
|
175
|
+
private infrastructure repository.
|
|
176
|
+
3. **bun-app:** out of scope for this sprint.
|
|
177
|
+
4. **Profiles in the boundary:** `code`, `code-deepseek`, `code-glm`,
|
|
178
|
+
`code-mistral` and the new `code-grok` (provider `xai`, `grok-4.7`, high),
|
|
179
|
+
so xAI keeps a coding route without Cursor. `code-grok` was added to the
|
|
180
|
+
operator configuration on both machines on 2026-10-25 and passed Doctor and
|
|
181
|
+
a provider round trip on 0.11.2 there. `code-cursor` is dropped for coding.
|
|
182
|
+
5. **Codex:** writers are registered for Claude Code and Codex.
|
|
183
|
+
6. **Server the second machine:** the operator installs rootless Podman; the
|
|
184
|
+
server gets container writers too (step 6).
|
|
185
|
+
7. **Network:** `pasta` for all writers. Lifecycle: `persistent`.
|
|
186
|
+
|
|
187
|
+
## Progress (2026-10-27)
|
|
188
|
+
|
|
189
|
+
Step 3, operator images: done. The operator's private infrastructure repository
|
|
190
|
+
now holds two Containerfiles on the same pinned Node base
|
|
191
|
+
as the built-in image, a check script and a README.
|
|
192
|
+
|
|
193
|
+
| Image | Repositories | Toolchain | Image ID on the workstation |
|
|
194
|
+
| --- | --- | --- | --- |
|
|
195
|
+
| `node-go` | go-app | Go 1.27.3 (official SHA-256 checked) | `fe14e8543500969bca13782b5e9aa43d7a2bb989e67f705e65fbf6d48034d91f` |
|
|
196
|
+
| `node-python-uv` | py-app, pynode-app | Python 3.12.16, uv 0.13.6 (digest-pinned) | `eb2746450f5669ac8d01dbd9779f9e0833a2843b7ce9ad246e4ba80625466770` |
|
|
197
|
+
|
|
198
|
+
- Under the writer's run flags (`--userns=keep-id --read-only --cap-drop=all`,
|
|
199
|
+
tmpfs `/tmp` 512 MB and `/pi/home` 64 MB) on throwaway clones: `go build ./...`
|
|
200
|
+
in go-app with `GOTOOLCHAIN=local`; `uv sync --frozen` in py-app
|
|
201
|
+
and in pynode-app's backend; `npm ci` and `npm run build` in its frontend.
|
|
202
|
+
- One independent review, `NON_BLOCKING_ONLY`; its findings were fixed or
|
|
203
|
+
recorded as limits.
|
|
204
|
+
- Limits that bear on step 5:
|
|
205
|
+
- after the pynode-app backend sync the uv cache holds about 483 MB of the
|
|
206
|
+
512 MB `/tmp`, and it is empty after every container start
|
|
207
|
+
([#151](https://github.com/plagor44-ux/pi-session-mcp/issues/151) proposes
|
|
208
|
+
a `--cache uv`);
|
|
209
|
+
- pynode-app's backend tests need a test Postgres on `127.0.0.1:5544`,
|
|
210
|
+
which a writer does not have, and the image has no `tesseract`. A
|
|
211
|
+
pynode-app writer can build but not run those tests. Step 5 has to
|
|
212
|
+
decide whether that is acceptable.
|
|
213
|
+
|
|
214
|
+
Step 4, go-app: done on `0.11.8` (record in
|
|
215
|
+
[Acceptance](../acceptance.md#v0118-post-release-evidence)). Four writers
|
|
216
|
+
`go-app-w1`–`go-app-w4` with the `node-go` image and `--cache go`; `go-app-alpha`
|
|
217
|
+
unregistered and archived; host aliases `go-app-w1`–`go-app-w7` removed;
|
|
218
|
+
`go-app-rev` is `read-only`. Process slip: while checking `go-app-alpha` for
|
|
219
|
+
unintegrated work, the controller ran host Git (`status`, `fetch`,
|
|
220
|
+
`update-ref`) in its clone, against the rule in
|
|
221
|
+
[Isolation setup](../isolation-setup.md#review-finish-and-migration). Its Git
|
|
222
|
+
configuration and hooks were then inspected without Git: unchanged since
|
|
223
|
+
2026-10-18, sample hooks only. The clone is archived with the writer state.
|
|
224
|
+
|
|
225
|
+
Also on 2026-10-27: the server the second machine was upgraded to `0.11.8`
|
|
226
|
+
(no writers there yet).
|
|
227
|
+
|
|
228
|
+
Open:
|
|
229
|
+
- one real coding turn per go-app and `node-app` writer, from a
|
|
230
|
+
controller started in that repository's checkout;
|
|
231
|
+
- step 5 (py-app, pynode-app) with the `node-python-uv` image,
|
|
232
|
+
after the decision on the test limits above;
|
|
233
|
+
- step 6 needs rootless Podman on the second machine (operator, privileged);
|
|
234
|
+
- step 7: routing rules and the #79 record;
|
|
235
|
+
- the #79 review point on 2026-11-15.
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# Sprints 9 close-out to 11: orchestration reliability
|
|
2
|
+
|
|
3
|
+
Planning basis: main `e6fc87c` (merge of PR #138), published 0.11.5, 2026-10-26.
|
|
4
|
+
Input: the operator's concept "Pi-Orchestrierung verbessern: Kandidaten, Evidenz
|
|
5
|
+
und Testplan" (2026-10-25, not tracked in this repository), checked against the
|
|
6
|
+
repository below. This file plans work; it does not claim that any item is
|
|
7
|
+
implemented or that any gate passed.
|
|
8
|
+
|
|
9
|
+
## Where the project stands
|
|
10
|
+
|
|
11
|
+
- 0.11.5 is published and runs the container-writer pilot on the workstation
|
|
12
|
+
(`pi-session-mcp-w1`, `pi-session-mcp-w2`).
|
|
13
|
+
- Sprint 9 delivered #134 (closed) and the fail-closed part of #135 in PR #138.
|
|
14
|
+
#135 is still open; its remaining proposal (copying operator overrides into a
|
|
15
|
+
writer) is explicitly out of the sprint. #136 and #137 are open.
|
|
16
|
+
- The Sprint 8 migration stopped after the pilot; steps 2–7 (the remaining
|
|
17
|
+
repositories and the second machine) wait for Sprint 9.
|
|
18
|
+
- Open product decisions: #79 review point 2026-11-15, #120 (`undici` in Pi
|
|
19
|
+
SDK 1.4.0), ADR 0011 item 4 (question channel).
|
|
20
|
+
- Route availability on 2026-10-26 (operator routing notes): the xAI profiles
|
|
21
|
+
(`code-grok`, `review-grok`) fail with HTTP 402 and the Cursor profiles end
|
|
22
|
+
with `turn_failed`. Usable coding routes in the writers: `code`,
|
|
23
|
+
`code-deepseek`, `code-glm`, `code-mistral`. Usable read-only routes on the
|
|
24
|
+
host alias: `review`, `review-glm`, `explore-fast`.
|
|
25
|
+
|
|
26
|
+
## Concept assessment
|
|
27
|
+
|
|
28
|
+
The concept proposes eleven candidates (K1–K11). Most of them change the
|
|
29
|
+
controller skill, the shipped worker skills or client hooks, not the MCP
|
|
30
|
+
contract. Checked against the repository:
|
|
31
|
+
|
|
32
|
+
| # | Candidate | Repository check | Decision |
|
|
33
|
+
| --- | --- | --- | --- |
|
|
34
|
+
| K1 | Eval suite for the controller skill with `claude plugin eval` and mocked pi-session-mcp tools | `claude plugin eval` exists on Claude Code 2.1.310 here, with `--mocks` and a with/without ablation. Each run costs Claude tokens, not Pi provider tokens. | Sprint 10. Dev-only under `eval/controller-skill/`; the plugin wrapper is a test fixture, not a new distribution channel. |
|
|
35
|
+
| K2 | Brief and report contract with fixed status tokens | The worker skills already require a five-part report ("done, partly done or blocked"); no exact tokens. The M1 receipt failures and the Grok T5 status spelling support exact tokens. | Sprint 10. |
|
|
36
|
+
| K3 | File ledger per run plus a `SessionStart` hook (matcher `compact`) | Sprint 6 named compaction as the only gap of the in-context ledger (4.1 a) but rejected a file ledger as a **product feature** and called a hook writer a development aid. | Sprint 11, after maintainer decision D1. |
|
|
37
|
+
| K4 | Early-stop rule: `completed`, short runtime and no change trigger one follow-up in the same session | 3 of 18 repeat runs and 1 of 15 first-wave runs stopped after 23–45 s. Correction: in a container writer the controller must not inspect the clone, so "no change" means no commit in the report **and** no new ref after `--collect`. | Sprint 10. |
|
|
38
|
+
| K5 | Review stage per task with a capped fix loop, reviewer from another model family | Cross-family reviews found real defects in Sprints 5 and 6; Grok missed the verdict in `r-psm-smoke`. Collected refs already sit in the operator checkout as `refs/remotes/writer-<name>/…`. | Run as process from Sprint 10 on; write into the skill in Sprint 11 with the measured result. |
|
|
39
|
+
| K6 | Routing per role | Matches the operator routing rules; the evidence is three runs per profile. | Sprint 10, worded as a default with its evidence level, not as a ranking. |
|
|
40
|
+
| K7 | Background dispatcher subagent per Pi task | Unknown whether the wake reaches a subagent and whether it shares the registry. | Sprint 11, provider-free probe only. |
|
|
41
|
+
| K8 | Wake gaps: hook timeout covers the task budget, wake after `PostToolUseFailure`, one long-turn L4 pair | Ledger evaluation S6 lists the long turn as not measured. | Sprint 11; the L4 pair needs a live approval. |
|
|
42
|
+
| K9 | `Stop` hook that blocks only on a read but unverified turn | Depends on K3's ledger. A `Stop` gate on open sessions is rejected because it collides with the wake. | Sprint 11, with K3. |
|
|
43
|
+
| K10 | Guided profile setup skill and a Doctor check for profiles in container repositories | #139; the Doctor check also closes the gap #135 left (refusal only at provisioning). | Later; the Doctor check may move forward if Sprint 9 has room. |
|
|
44
|
+
| K11 | Report extension for workers (`submit_report`) | Container writers refuse extensions in coding profiles (writer boundary). Needs either a boundary change or a result channel in the MCP contract. | Deferred; needs an ADR and a minor release. |
|
|
45
|
+
|
|
46
|
+
Two further findings from the concept were checked in code:
|
|
47
|
+
|
|
48
|
+
- **Worker system prompt.** `phase0ResourceLoaderOptions` in
|
|
49
|
+
`src/sdk-pi-adapter.ts` sets `systemPrompt: "phase-0-system-prompt-disabled"`
|
|
50
|
+
with no-op overrides. Whether workers therefore run without Pi's default
|
|
51
|
+
system prompt is not verified. It is a plausible contributor to early stops
|
|
52
|
+
and is cheap to check without a provider, so it is the first task of
|
|
53
|
+
Sprint 10.
|
|
54
|
+
- **`AGENTS.md` as worker context.** Workers load context files
|
|
55
|
+
(`noContextFiles: false`). This repository's `AGENTS.md` holds rules but no
|
|
56
|
+
build or test commands. Adding the commands is a cheap change; its effect is
|
|
57
|
+
unmeasured.
|
|
58
|
+
|
|
59
|
+
The concept's "not recommended" list agrees with recorded decisions (bounded
|
|
60
|
+
wait #91, question channel ADR 0011 item 4, extensions and MCP grants in
|
|
61
|
+
container coding profiles, pi-lens on `code`) and is added to the roadmap's
|
|
62
|
+
deferred table.
|
|
63
|
+
|
|
64
|
+
## Sprint 9 close-out
|
|
65
|
+
|
|
66
|
+
Goal: finish #136 and #137 so the migration can continue. Until they ship, the
|
|
67
|
+
migration uses the workarounds: reconnect the writer servers after each reset
|
|
68
|
+
or finish, and pin Pi extensions exactly.
|
|
69
|
+
|
|
70
|
+
| Task | Scope | Route |
|
|
71
|
+
| --- | --- | --- |
|
|
72
|
+
| S9-1 #136 | After `--reset`, `--finish` or `--recreate`, setup reports that the writer's servers must be reconnected (like `controllers_restart_required`) instead of failing later with `local_authentication_missing`. A refusal while a server runs is not chosen, because a connected client would block every finish. Skill section 11 names the reconnect. | `code` on `pi-session-mcp-w1` |
|
|
73
|
+
| S9-2 #137 | Doctor warns when an extension that a profile pins is listed unpinned in Pi's settings. `doctor_failed` from the repository step names the blocking check ids. The gate's tolerance is not widened. | `code-deepseek` on `pi-session-mcp-w2` |
|
|
74
|
+
| S9-3 #135 | Record on the issue that the fail-closed part shipped in #138; close it or narrow it to override copying (maintainer decision D4). | controller |
|
|
75
|
+
|
|
76
|
+
Gate per task: tests for each new path, `npm run typecheck`, `npm test` and
|
|
77
|
+
one cross-family review. Level 1 and the release procedure run once, for the
|
|
78
|
+
whole branch (see "Delivery").
|
|
79
|
+
|
|
80
|
+
## Sprint 10: controller reliability
|
|
81
|
+
|
|
82
|
+
Goal: make the controller skill measurable and close the report and early-stop
|
|
83
|
+
gaps (K1, K2, K4, K6 and the system-prompt probe).
|
|
84
|
+
|
|
85
|
+
1. **S10-0 system-prompt probe.** A provider-free probe (faux provider, like
|
|
86
|
+
the registration probe) that records the system prompt a worker session
|
|
87
|
+
actually receives. If the placeholder replaces Pi's default, plan an A/B
|
|
88
|
+
with a short worker-context addition; otherwise record the result and stop.
|
|
89
|
+
2. **S10-1 K1 baseline.** `eval/controller-skill/` with a plugin wrapper and
|
|
90
|
+
mocks for the six pi-session-mcp tools. Six cases: parallel starts before
|
|
91
|
+
the first wait, terminal turn read once, start error code without retry,
|
|
92
|
+
every session closed, worker claim "tests green" checked by the controller
|
|
93
|
+
(`tool_used` on Bash with `input_match`), early-stop mock. Graders without a
|
|
94
|
+
judge, `--runs 3`. Stop rule: if scores vary between runs, sharpen the
|
|
95
|
+
graders before measuring anything else.
|
|
96
|
+
3. **S10-2 skill change (K2, K4, K6).** One change to
|
|
97
|
+
`pi-session-orchestration` and the two worker skills: exact status tokens
|
|
98
|
+
`DONE`, `DONE_WITH_CONCERNS`, `NEEDS_CONTEXT`, `BLOCKED`; the controller
|
|
99
|
+
checks the report format before verification; the early-stop rule with the
|
|
100
|
+
container-writer correction above; routing defaults with their evidence
|
|
101
|
+
level. Plus build and test commands in `AGENTS.md`.
|
|
102
|
+
4. **S10-3 measurement.** The suite before and after. Then, only with an
|
|
103
|
+
approved budget (D2), `npm run eval:profiles` on the three implementation
|
|
104
|
+
tasks of the ablation, three runs each. Metrics: accepted runs, caught early
|
|
105
|
+
stops, cost per accepted run, or "unknown" where usage is missing.
|
|
106
|
+
5. **S10-4 writer rollout check.** The skills ship in the package. Container
|
|
107
|
+
writers see the new worker skills only after the upgrade and a
|
|
108
|
+
`--repo … --apply`; verify that once after the release.
|
|
109
|
+
|
|
110
|
+
K5 runs as process on every Sprint 10 task: review by `review-glm` for code by
|
|
111
|
+
`code` or `code-deepseek`, by `review` for code by `code-glm`; rounds 1–3 as a
|
|
112
|
+
follow-up in the same session, rounds 4–5 in a fresh session with a stronger
|
|
113
|
+
coding profile, then a recorded decision. Record per task: findings only the
|
|
114
|
+
review found, rounds, cost or "unknown".
|
|
115
|
+
|
|
116
|
+
## Progress log
|
|
117
|
+
|
|
118
|
+
Recorded as work lands on the branch; statements are verified by the
|
|
119
|
+
controller unless marked otherwise.
|
|
120
|
+
|
|
121
|
+
- S9-1 #136 and S9-2 #137: implemented by `pi-session-mcp-w2` (`code-deepseek`)
|
|
122
|
+
and `pi-session-mcp-w1` (`code`), reviewed by `review-glm`
|
|
123
|
+
(verdict non-blocking only; four low findings, three fixed on the branch,
|
|
124
|
+
the fourth is within the intended "applied and successful" scope). Controller
|
|
125
|
+
review changes: the Doctor loads the Pi SDK lazily, and gate findings report
|
|
126
|
+
the alias of `<profile>:<package>` and writer subjects. Full suite green on
|
|
127
|
+
the host (114 files).
|
|
128
|
+
- Unverified hypothesis from the review: the writer wrapper rewrites the
|
|
129
|
+
projected credentials every 60 s, so after a reset a running server may
|
|
130
|
+
recover without a reconnect; after a recreate the server's mounts point at
|
|
131
|
+
replaced directories. The docs therefore say a start "can" fail.
|
|
132
|
+
- S10-0: workers keep Pi's default system prompt; the placeholder has no
|
|
133
|
+
effect ([probe](../evaluation/worker-system-prompt-2026-10-26/README.md)).
|
|
134
|
+
No A/B needed.
|
|
135
|
+
- S10-1: suite under `eval/controller-skill/`, built by agy, checked and
|
|
136
|
+
completed by the controller (real tool definitions as `_tools.json`). A
|
|
137
|
+
one-run smoke passed at USD 0.17.
|
|
138
|
+
- S10-1 baseline: the first run scored 10/18; all failures traced to suite
|
|
139
|
+
defects (identical session IDs, a vague prompt, too narrow Bash grants).
|
|
140
|
+
After the fixes 17/18 on six cases. The current skill already sends a
|
|
141
|
+
follow-up after an early stop, so K4 mostly makes that rule explicit.
|
|
142
|
+
- S10-2: the status contract, early-stop rule and routing defaults are in the
|
|
143
|
+
three skills, plus build and test commands in `AGENTS.md`. The new
|
|
144
|
+
`unstructured-report` case went from 0/3 to 3/3; all other cases stayed
|
|
145
|
+
within run-to-run noise ([eval README](../../eval/controller-skill/README.md)).
|
|
146
|
+
Rollout note: until writers run the new worker skills, the new controller
|
|
147
|
+
treats their reports as a format failure and asks once more.
|
|
148
|
+
- S10-3, decided 2026-10-26: the planned live run does not fit the existing
|
|
149
|
+
harnesses. `eval/extensions` varies extensions, not worker skills, and
|
|
150
|
+
`eval:profiles --live` selects no skills; 18 runs could not show a change in
|
|
151
|
+
an early-stop rate of about 3 in 18 either. The live check moves to
|
|
152
|
+
observation after the release: tasks on the upgraded writers (provider
|
|
153
|
+
OpenAI, profile `code`) record status line, early stops and follow-ups.
|
|
154
|
+
- Release 0.11.6 is prepared on this branch; the pre-release acceptance on
|
|
155
|
+
`a7781da` passed (record in `docs/acceptance.md`).
|
|
156
|
+
- Decisions taken 2026-10-26: D1 outside the package first, D2 as above, D4
|
|
157
|
+
#135 closed, D5 the gate stays fail-closed. D3 is still open.
|
|
158
|
+
- Operating findings for the controller skill and the preflight:
|
|
159
|
+
- A writer keeps the base it was last reset to; `--finish` resets to that
|
|
160
|
+
base, not to the current main. Both writers still stood on the 0.11.5
|
|
161
|
+
release commit. The preflight must compare each writer's base with the
|
|
162
|
+
intended base and use `--reset --base <branch> --apply` when they differ.
|
|
163
|
+
- A worker that finds a wrong base must stop; one worker fetched
|
|
164
|
+
`origin/main` inside the boundary instead. The brief now says "do not fetch
|
|
165
|
+
or change the base yourself".
|
|
166
|
+
- The full suite times out in 8 lock and hook tests inside the writer
|
|
167
|
+
containers but passes on the host; worker reports of those failures are
|
|
168
|
+
environmental until shown otherwise.
|
|
169
|
+
- `pi-session-mcp-setup` needs `PI_SESSION_MCP_CONFIG` set explicitly in the
|
|
170
|
+
controller's shell, otherwise it reports `config_required`.
|
|
171
|
+
|
|
172
|
+
## Sprint 11: ledger, gates and wake gaps
|
|
173
|
+
|
|
174
|
+
Entry: decision D1 and the Sprint 10 results.
|
|
175
|
+
|
|
176
|
+
- K3 and K9 in the form D1 chooses. Test: one session with three running
|
|
177
|
+
tasks, then a manual `/compact`. Pass: no task is sent again, the ledger
|
|
178
|
+
matches `git log` and the collected refs, no turn ends without verification.
|
|
179
|
+
Stop if the hook context does not arrive after compaction.
|
|
180
|
+
- K8: hook timeout at least the task budget, a wake after
|
|
181
|
+
`PostToolUseFailure`, and one L4 pair with a turn of several minutes (live
|
|
182
|
+
approval required).
|
|
183
|
+
- K7: provider-free probe in the style of the L3 probe under `eval/bridge/`:
|
|
184
|
+
does `pi_session_list` in the main context see a subagent's sessions, and
|
|
185
|
+
does the wake reach the subagent? Stop if either answer is no.
|
|
186
|
+
- K5 written into the controller skill with the Sprint 10 numbers.
|
|
187
|
+
|
|
188
|
+
Hooks are Claude Code only. Codex keeps polling and the in-context ledger; the
|
|
189
|
+
skill must say so.
|
|
190
|
+
|
|
191
|
+
## Parallel track: migration
|
|
192
|
+
|
|
193
|
+
Sprint 8 steps 2–7 continue after 0.11.6, one repository at a time with the
|
|
194
|
+
existing gates and rollback. They need the operator (images, rootless Podman
|
|
195
|
+
on the server) and can run alongside Sprint 10, which touches only skills,
|
|
196
|
+
`eval/` and documentation. Each migrated repository is also a live check of
|
|
197
|
+
the Sprint 10 skill.
|
|
198
|
+
|
|
199
|
+
## Orchestration
|
|
200
|
+
|
|
201
|
+
The controller (Claude Code, Opus) plans, writes briefs, integrates, verifies
|
|
202
|
+
and owns Git, releases and every operator step.
|
|
203
|
+
|
|
204
|
+
| Work | Route |
|
|
205
|
+
| --- | --- |
|
|
206
|
+
| Product code with a clear plan | Container writers via `pi-coding-pi-session-mcp-w1`/`-w2`: `code-deepseek` for fully specified mechanical tasks, `code` where judgement is needed; never two writers on overlapping files |
|
|
207
|
+
| Cross-family review | Host alias `pi-session-mcp`, read-only: `review-glm` or `review` (see K5); `explore-fast` for cheap lookups |
|
|
208
|
+
| Bulk work: eval cases and mocks, long transcript reads with a digest | agy, `gemini-3.8-flash-high`; no secrets or filled environment files |
|
|
209
|
+
| Gates and long logs | Claude `runner` subagent |
|
|
210
|
+
| Final diff review before the pull request | Claude `reviewer` subagent |
|
|
211
|
+
| Skill and documentation text | the controller itself (small, judgement-heavy) |
|
|
212
|
+
|
|
213
|
+
Rules for every run:
|
|
214
|
+
|
|
215
|
+
- Preflight: `git worktree list`, `git status` per worktree, writer state; a
|
|
216
|
+
writer that is not clean on the base stays blocked.
|
|
217
|
+
- Each brief carries goal, base commit, change area, checks and the exact
|
|
218
|
+
report fields (K2 already applies to the briefs before it ships in the
|
|
219
|
+
skill).
|
|
220
|
+
- Worker and agy results are unverified until the controller has read the
|
|
221
|
+
collected diff and run the gates itself.
|
|
222
|
+
- Finish each writer task with `--writer <name> --collect --apply`, review,
|
|
223
|
+
integrate, `--finish --apply`, then reconnect the writer servers (`/mcp`)
|
|
224
|
+
until S9-1 ships.
|
|
225
|
+
- Do not plan xAI or Cursor routes until the operator restores them.
|
|
226
|
+
|
|
227
|
+
## Delivery
|
|
228
|
+
|
|
229
|
+
All of this plan travels on one branch, `feat/orchestration-reliability`, and
|
|
230
|
+
one pull request, with one commit per issue or task. No separate pull requests
|
|
231
|
+
for documentation or single fixes. The pull request opens once the planned
|
|
232
|
+
work on the branch is complete and verified, so that CI runs on the final
|
|
233
|
+
state; it is not edited or pushed again while CI runs unless that is required.
|
|
234
|
+
|
|
235
|
+
It carries one patch release (0.11.6, MCP contract unchanged) with its version
|
|
236
|
+
change and pre-release acceptance, per the release procedure: Level 1 except
|
|
237
|
+
the known #120 finding, a final independent review of the whole diff, then
|
|
238
|
+
merge, tag and publication as maintainer decisions. Sprint 11 items join the
|
|
239
|
+
same branch only if D1 and the live approvals arrive before the Sprint 10 work
|
|
240
|
+
is verified; otherwise they wait for the next consolidated branch.
|
|
241
|
+
|
|
242
|
+
## Maintainer decisions
|
|
243
|
+
|
|
244
|
+
| Id | Question | Recommendation |
|
|
245
|
+
| --- | --- | --- |
|
|
246
|
+
| D1 | K3/K9: ship the ledger and its hooks in the package (opt-in, installed by setup like the wake hook), or keep them as a documented operator hook outside the package? | Start outside the package; move it in only if the Sprint 11 test passes. |
|
|
247
|
+
| D2 | Live budget for S10-3 (3 tasks × 3 runs × 2 arms) | Set a cap before S10-3 starts. |
|
|
248
|
+
| D3 | K11: open an ADR for a worker result channel? | Not before the Sprint 10 numbers show that K2 is not enough. |
|
|
249
|
+
| D4 | #135: close, or keep open for override copying? | Close and open a separate proposal issue if wanted. |
|
|
250
|
+
| D5 | #137: should the repository step's Doctor gate ignore errors that concern only profiles the repository does not select? The fix on this branch warns earlier and names the blocking checks but keeps the tolerance, so a version mismatch in an unrelated profile still blocks `--repo … --apply`. | Keep fail-closed for 0.11.6; operators pin Pi extensions exactly. Revisit if the warning does not prevent a repeat. |
|