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,64 @@
|
|
|
1
|
+
# Pi Extension Static Audit: Permission System and Cache Optimizer
|
|
2
|
+
|
|
3
|
+
Audit date: 2026-10-17 (UTC registry snapshot observed during this audit)
|
|
4
|
+
|
|
5
|
+
This is a static review of the exact npm artifacts named below. The local Pi installation was checked by the controlling session and neither package was present. Tarballs were downloaded to a fresh `/tmp` directory, hashed, and unpacked for reading. No `npm install`, lifecycle script, extension import, extension execution, credential read, provider/model call, or production configuration change occurred. Runtime status for both packages is therefore **NOT RUN**.
|
|
6
|
+
|
|
7
|
+
## Findings
|
|
8
|
+
|
|
9
|
+
| Package | Exact npm identity at audit time | SDK 1.2.0 compatibility | Headless use | Decision |
|
|
10
|
+
|---|---|---|---|---|
|
|
11
|
+
| Permission policy | `@gotgenes/pi-permission-system@40.3.0` | Declared peers `@earendil-works/pi-coding-agent >=1.0.0` and `@earendil-works/pi-tui >=1.0.0`; the installed project versions are both `1.2.0`. The version ranges include the installed SDK. The artifact's dev dependencies use SDK/TUI `1.0.0`; there is no runtime qualification against this host. | Policy gates can run without a UI. `ask` can be forwarded from a child session to a serving parent, while a headless session without a usable authority must fail closed; it cannot obtain a human confirmation from this local MCP host by itself. | Candidate for a controlled provider-free integration test after isolated installation. Do not call it an OS sandbox or assume it enforces arbitrary collector-internal methods. |
|
|
12
|
+
| Cache optimizer | `pi-cache-optimizer@2.9.3` | Declared peer `@earendil-works/pi-coding-agent >=0.82.0`, which includes `1.2.0`. Its README says it is validated against Pi `1.3.0`; current host `1.2.0` is inside the peer range, but that is not runtime evidence. The source uses extension hooks and `getAgentDir()` that are present in installed SDK 1.2.0 declarations. | Its hooks and read-only diagnosis can operate without interactive UI. Commands that write config or model files require interactive confirmation and are documented to refuse writes in non-interactive mode. | Candidate only with all write fixes disabled and cache warming explicitly off. It can make Pi perform extra billable provider refresh requests through the host's cache-warming hook. |
|
|
13
|
+
|
|
14
|
+
### Identity and provenance
|
|
15
|
+
|
|
16
|
+
The registry identity `@gotgenes/pi-permission-system` is valid and distinct from forks such as `@xzzpig/pi-permission-system`. The current npm package points to the `packages/pi-permission-system` directory of `gotgenes/pi-packages`; this audit did not substitute the separate `epheien/pi-permission-system` repository for the npm artifact. The current cache package identity is `pi-cache-optimizer`, repository `jiangge/pi-cache-optimizer`; it documents a rename from `pi-deepseek-cache-optimizer`.
|
|
17
|
+
|
|
18
|
+
The registry's `latest` tag resolved to permission-system `40.3.0` (published 2026-10-17 02:29:10 UTC) and cache-optimizer `2.9.3` (published 2026-10-17 00:03:54 UTC). Pin these exact versions and verify tarball integrity again at installation time; `latest` is mutable.
|
|
19
|
+
|
|
20
|
+
## Static behavior and data paths
|
|
21
|
+
|
|
22
|
+
### `@gotgenes/pi-permission-system`
|
|
23
|
+
|
|
24
|
+
The package registers Pi lifecycle/input/tool-call hooks and applies deterministic allow/ask/deny policy to the tool surface. Its README describes gates for bash, file paths, skills, MCP servers/tools and special operations. It has no built-in model call or model configuration; model-assisted authorization is a separately installed authorizer link and requires explicit opt-in configuration.
|
|
25
|
+
|
|
26
|
+
The reviewed shipped source contains no direct HTTP client, `fetch`, WebSocket, analytics or telemetry client reference. Local data paths include its extension configuration, debug/review JSONL logs, and forwarding request/response files for child sessions. Review logs can contain bash command text and tool-input previews. The source applies width caps, name-based redaction and owner-only file modes, but its README explicitly says it cannot infer every secret from a value; logs still need local handling as potentially sensitive. The package has no `preinstall`, `install`, `postinstall`, or other install lifecycle hook in its published `package.json`. Its declared dependencies (`web-tree-sitter`, `tree-sitter-bash`, `zod`) may have their own lifecycle behavior; that transitive install behavior was not executed or independently qualified here.
|
|
27
|
+
|
|
28
|
+
The README explicitly defines this package as a decision layer, not an isolation mechanism or sandbox. Its policy only controls actions Pi routes through the extension's registered hooks. It does not prove OS-level file confinement, stop unmediated code paths, or establish policy over unexposed internal methods of this project's MCP collectors. Treat those as separate enforcement boundaries.
|
|
29
|
+
|
|
30
|
+
### `pi-cache-optimizer`
|
|
31
|
+
|
|
32
|
+
The extension hooks can rewrite parts of prompts, add a conservative OpenAI-compatible cache key, adapt provider request payload/headers, collect local cache usage counters, and present diagnostics. Source imports use Pi's public package root and Node built-ins; this static source scan found no direct HTTP client, `fetch`, WebSocket, analytics or telemetry client. The provider request that Pi normally makes remains an outbound data path to the selected provider; the extension's payload edits are part of that request. Local persistence includes cache-stat shards/archives and extension-owned configuration/receipts under Pi's agent directory. Stats are keyed with provider/model and opaque session identifiers according to the README and source.
|
|
33
|
+
|
|
34
|
+
The extension handles Pi's `cache_warming_decision` hook. When enabled under its zero-price policy, it can tell Pi to replay a provider request with a one-token output cap. That is a real provider request and may be billable even if local catalog prices are zero or unknown; turn off Pi cache warming and the extension's zero-price-warming option for an evaluation intended to make exactly one model request per turn. The extension itself does not run a separate keepalive timer.
|
|
35
|
+
|
|
36
|
+
Several slash commands (`fix`, `rollback`, persistent feature config) can change `models.json` or extension-owned files after preview and UI confirmation. The package documents refusing such writes when interactive confirmation is unavailable. Those mutation paths must stay out of a headless evaluation profile. The README's `doctor`/`compat` paths are diagnostic and read-only.
|
|
37
|
+
|
|
38
|
+
The published package has no dependencies and no install lifecycle scripts. Its `pi` manifest exposes `./index.ts` as its extension entry point.
|
|
39
|
+
|
|
40
|
+
## Provider-free qualification plan
|
|
41
|
+
|
|
42
|
+
No new tests were executed as part of this static audit. After an isolated, exact-version install into a disposable evaluation fixture, the following tests can qualify extension behavior without provider access:
|
|
43
|
+
|
|
44
|
+
1. **Permission policy:** invoke the real local Pi hook contract with a fake in-memory provider; test explicit deny and allow, a representative file-path deny, bash wrapper/unparseable cases, MCP server/tool matching, and fail-closed hook errors. For `ask`, test TUI, RPC/print headless fallback, and child-to-parent forwarding separately. Assert that a headless ask never becomes an implicit allow and that no MCP-provider method outside the mediated hook surface is claimed as protected.
|
|
45
|
+
2. **Permission data handling:** direct logs and forwarding files to a temporary fake agent directory; test redaction and owner-only creation modes with synthetic secret-like values, then assert cleanup. Do not use real home/agent state.
|
|
46
|
+
3. **Cache payload logic:** use synthetic model and provider request events; assert the exact request fields changed/preserved for each supported API, that OpenAI Responses/Codex bypasses are honored where documented, and that no test sends a request.
|
|
47
|
+
4. **Cache stats and persistence:** use temporary agent dirs and synthetic response usage events to test shard creation/aggregation, malformed file handling, concurrent writers, session partitioning, retention/cleanup and absence of prompt text, response payloads, headers or credentials in persisted JSON.
|
|
48
|
+
5. **Billable-call gate:** provide zero and unknown pricing fixtures and verify `cache_warming_decision` returns no warming decision when evaluation policy disables it. Verify fix/rollback commands refuse in headless mode and no project/global `models.json` is changed.
|
|
49
|
+
6. **MCP/server boundary:** run the project server with a fake extension loader and fake Pi SDK seams, verify stdout remains protocol-only and that the extension allowlist is exact. Separately test any internal collector method grant enforcement; outer MCP exposure does not establish inner-method authorization.
|
|
50
|
+
|
|
51
|
+
These tests can check contract behavior without network/provider credentials. They do not by themselves establish OS sandboxing or evaluate model quality.
|
|
52
|
+
|
|
53
|
+
## Evidence
|
|
54
|
+
|
|
55
|
+
The companion [evidence JSON](permission-cache-evidence.json) records registry versions, metadata, source URLs, local SDK versions, install status, tarball hashes and test status. Registry package metadata is primary evidence for the published identity and artifact integrity; the unpacked files are the reviewed artifact. No test/result in this report should be read as runtime qualification.
|
|
56
|
+
|
|
57
|
+
Primary sources:
|
|
58
|
+
|
|
59
|
+
- [npm registry metadata: `@gotgenes/pi-permission-system`](https://registry.npmjs.org/%40gotgenes%2Fpi-permission-system)
|
|
60
|
+
- [Published permission-system package](https://www.npmjs.com/package/%40gotgenes/pi-permission-system)
|
|
61
|
+
- [Permission-system source repository](https://github.com/gotgenes/pi-packages/tree/main/packages/pi-permission-system)
|
|
62
|
+
- [npm registry metadata: `pi-cache-optimizer`](https://registry.npmjs.org/pi-cache-optimizer)
|
|
63
|
+
- [Published cache-optimizer package](https://www.npmjs.com/package/pi-cache-optimizer)
|
|
64
|
+
- [Cache-optimizer source repository](https://github.com/jiangge/pi-cache-optimizer)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "derived-publication-format-export",
|
|
3
|
+
"source_artifact": "web-openwiki-report.md",
|
|
4
|
+
"original_artifact_sha256": "45f256880a3cf466d92f9dbe23b801f322dee46392458bccdad5429739f1154d",
|
|
5
|
+
"public_artifact_sha256": "1ab296eea8357684491ced997e51a7ca7de7c2c9ad29ee45c75c875ae80f9d35",
|
|
6
|
+
"original_integrity_index_sha256": "e7fee562680eca6224420939fd6faeb1b6dd8112076f516dc5de3c428a32d71c",
|
|
7
|
+
"transformation": "Remove one redundant blank line at end of the archived Markdown report so the staged patch passes whitespace validation. No prose, result, code or run receipt changed.",
|
|
8
|
+
"original_preservation": "Original report and index retained in the owned ignored publication scope.",
|
|
9
|
+
"exported_at": "2026-10-17T15:49:24.588367+00:00"
|
|
10
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "real-production-extension-resolver-check",
|
|
3
|
+
"executed_at": "2026-10-17T09:03:44.751Z",
|
|
4
|
+
"imports_of_candidate_code": 0,
|
|
5
|
+
"installs": 0,
|
|
6
|
+
"provider_calls": 0,
|
|
7
|
+
"results": [
|
|
8
|
+
{
|
|
9
|
+
"identity": "npm:pi-lens@4.4.3",
|
|
10
|
+
"resolver_status": "BLOCKED",
|
|
11
|
+
"code": "extension_not_installed",
|
|
12
|
+
"current_node": "22.23.2"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"identity": "npm:context-mode@1.0.169",
|
|
16
|
+
"resolver_status": "BLOCKED",
|
|
17
|
+
"code": "extension_not_installed",
|
|
18
|
+
"current_node": "22.23.2"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"identity": "npm:pi-cache-optimizer@2.9.3",
|
|
22
|
+
"resolver_status": "BLOCKED",
|
|
23
|
+
"code": "extension_not_installed",
|
|
24
|
+
"current_node": "22.23.2"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"identity": "npm:@gotgenes/pi-permission-system@40.3.0",
|
|
28
|
+
"resolver_status": "BLOCKED",
|
|
29
|
+
"code": "extension_not_installed",
|
|
30
|
+
"current_node": "22.23.2"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"identity": "npm:pi-web-access@0.41.0",
|
|
34
|
+
"resolver_status": "BLOCKED",
|
|
35
|
+
"code": "extension_load_failed",
|
|
36
|
+
"current_node": "22.23.2"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"identity": "npm:openwiki@0.7.2",
|
|
40
|
+
"resolver_status": "PASS",
|
|
41
|
+
"required_node": ">=22.22.0",
|
|
42
|
+
"current_node": "22.23.2"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"identity": "npm:pi-cursor-sdk@0.5.3",
|
|
46
|
+
"resolver_status": "PASS",
|
|
47
|
+
"required_node": ">=24",
|
|
48
|
+
"current_node": "22.23.2"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "independent-read-only-review",
|
|
3
|
+
"reviewed_at": "2026-10-17T09:07:30.354Z",
|
|
4
|
+
"subjects": [
|
|
5
|
+
{
|
|
6
|
+
"file": "README.md",
|
|
7
|
+
"hash": "sha256:18f6b4a76f4cddb426d6554b4a2fce76f14114a125b46b099a1ebf7e2d5a59ea"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"file": "summary.json",
|
|
11
|
+
"hash": "sha256:5833fcc28ca711e43ae9a086d3d8870a5b08ab5878b5731f34b4af15c258c014"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"file": "run-openwiki-headless-probe.mjs",
|
|
15
|
+
"hash": "sha256:f11602228306ce6556b87ac9a437d8d4e31638461c96b87f7e84df0e04ab1d4c"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"file": "openwiki-headless-probe.mjs",
|
|
19
|
+
"hash": "sha256:14f7c859f347a85fef34b587f21dea508339e3f318153a9720a9e2b2f1cd96b7"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"status": "PASS",
|
|
23
|
+
"findings": [],
|
|
24
|
+
"conclusion": "Resolver, runtime and quality statuses are separated correctly. OpenWiki PASS is restricted to registration, tool selection, scripted turn and shutdown. Its writer tools and internal MCP child are not qualified. Supervisor bounds execution, observes child exit and checks ownership before cleanup. Instrumentation limits are explicit.",
|
|
25
|
+
"changes": 0,
|
|
26
|
+
"test_executions": 0,
|
|
27
|
+
"external_provider_calls": 0
|
|
28
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Run from the repository root after: ./node_modules/.bin/tsc -p tsconfig.eval.json
|
|
2
|
+
// Provider-free component check only. Never invokes an OpenWiki tool.
|
|
3
|
+
import { spawn } from 'node:child_process';
|
|
4
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
5
|
+
import { dirname, join } from 'node:path';
|
|
6
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
7
|
+
import { randomUUID } from 'node:crypto';
|
|
8
|
+
import { getAgentDir } from '@earendil-works/pi-coding-agent';
|
|
9
|
+
const root=process.cwd();
|
|
10
|
+
const {ownedTemporary,sourceBinding,hash}=await import(pathToFileURL(join(root,'.profile-eval/eval/profiles/files.js')).href);
|
|
11
|
+
const source=await sourceBinding(root),scope=await ownedTemporary();
|
|
12
|
+
const output=join(root,'eval/results','openwiki-headless-'+randomUUID());
|
|
13
|
+
await mkdir(output,{mode:0o700});
|
|
14
|
+
const script=join(dirname(fileURLToPath(import.meta.url)),'openwiki-headless-probe.mjs');
|
|
15
|
+
const started=Date.now();
|
|
16
|
+
const child=spawn(process.execPath,[script],{cwd:root,env:{PATH:process.env.PATH,HOME:scope.root,XDG_CONFIG_HOME:join(scope.root,'config'),XDG_CACHE_HOME:join(scope.root,'cache'),XDG_DATA_HOME:join(scope.root,'data'),PI_CODING_AGENT_DIR:join(scope.root,'agent'),PI_AUDIT_AGENT_DIR:getAgentDir(),OPENWIKI_TELEMETRY_DISABLED:'1',DO_NOT_TRACK:'1',NODE_OPTIONS:'--unhandled-rejections=strict'},stdio:['ignore','pipe','pipe']});
|
|
17
|
+
let outputText='',stderrBytes=0,killer;
|
|
18
|
+
child.stdout.on('data',b=>{outputText+=b;if(outputText.length>65536)child.kill('SIGKILL');});
|
|
19
|
+
child.stderr.on('data',b=>{stderrBytes+=b.length;});
|
|
20
|
+
const timer=setTimeout(()=>{child.kill('SIGTERM');killer=setTimeout(()=>child.kill('SIGKILL'),1000);},45000);
|
|
21
|
+
const terminal=await new Promise(resolve=>{child.once('error',()=>resolve({code:null,signal:null,spawn_error:true}));child.once('exit',(code,signal)=>resolve({code,signal,spawn_error:false}));});
|
|
22
|
+
clearTimeout(timer);if(killer)clearTimeout(killer);
|
|
23
|
+
let receipt;try{receipt=JSON.parse(outputText);}catch{receipt={status:'INCONCLUSIVE',reason:'missing_sanitized_receipt'};}
|
|
24
|
+
const after=await sourceBinding(root);
|
|
25
|
+
const result={...receipt,source_binding:source,source_unchanged:source.commit===after.commit&&source.digest===after.digest,scope_id:scope.scope_id,process_exit:terminal,duration_ms:Date.now()-started,stderr_bytes_discarded:stderrBytes,child_exit_observed:!terminal.spawn_error,additional_paid_candidate_runs:0};
|
|
26
|
+
if(result.status==='PASS'&&terminal.code===0&&result.source_unchanged)await scope.remove();
|
|
27
|
+
else{result.status='INCONCLUSIVE';process.exitCode=1;}
|
|
28
|
+
await writeFile(join(output,'result.json'),JSON.stringify(result,null,2)+'\n',{flag:'wx',mode:0o600});
|
|
29
|
+
console.log(JSON.stringify({artifact_scope:output.slice(root.length+1),status:result.status,rows:result.rows?.length??0,network_attempts:result.network_attempts??null,child_process_attempts:result.child_process_attempts??null,external_provider_calls:result.external_provider_calls??null,source_unchanged:result.source_unchanged,result_hash:hash(JSON.stringify(result,null,2)+'\n')}));
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "1.0.0",
|
|
3
|
+
"kind": "extension-evaluation-follow-on",
|
|
4
|
+
"completed_at": "2026-10-17T09:06:38.139Z",
|
|
5
|
+
"source_binding": {
|
|
6
|
+
"commit": "406dae7e6b99aa5715960490e869bd3fc668cca2",
|
|
7
|
+
"digest": "sha256:686887d57899c2e55593bb7dd98b78be08ea0fc6c471a6dd4eab3298f890d160"
|
|
8
|
+
},
|
|
9
|
+
"scope": "Six named AP6 candidates plus configured Cursor, without unknown historical package-list expansion.",
|
|
10
|
+
"overall_status": "PARTIAL_RUNTIME_QUALIFICATION",
|
|
11
|
+
"static_candidates": 7,
|
|
12
|
+
"resolver_candidates": 7,
|
|
13
|
+
"installed_candidates": 3,
|
|
14
|
+
"not_installed_candidates": 4,
|
|
15
|
+
"runtime_component_qualified_candidates": 1,
|
|
16
|
+
"runtime_blocked_candidates": 6,
|
|
17
|
+
"candidates": [
|
|
18
|
+
{
|
|
19
|
+
"identity": "npm:pi-lens@4.4.3",
|
|
20
|
+
"resolver_status": "BLOCKED",
|
|
21
|
+
"code": "extension_not_installed",
|
|
22
|
+
"current_node": "22.23.2",
|
|
23
|
+
"static_audit": "COMPLETE",
|
|
24
|
+
"runtime_status": "BLOCKED",
|
|
25
|
+
"runtime_blocker": "extension_not_installed",
|
|
26
|
+
"quality_status": "NOT_RUN"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"identity": "npm:context-mode@1.0.169",
|
|
30
|
+
"resolver_status": "BLOCKED",
|
|
31
|
+
"code": "extension_not_installed",
|
|
32
|
+
"current_node": "22.23.2",
|
|
33
|
+
"static_audit": "COMPLETE",
|
|
34
|
+
"runtime_status": "BLOCKED",
|
|
35
|
+
"runtime_blocker": "extension_not_installed",
|
|
36
|
+
"quality_status": "NOT_RUN"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"identity": "npm:pi-cache-optimizer@2.9.3",
|
|
40
|
+
"resolver_status": "BLOCKED",
|
|
41
|
+
"code": "extension_not_installed",
|
|
42
|
+
"current_node": "22.23.2",
|
|
43
|
+
"static_audit": "COMPLETE",
|
|
44
|
+
"runtime_status": "BLOCKED",
|
|
45
|
+
"runtime_blocker": "extension_not_installed",
|
|
46
|
+
"quality_status": "NOT_RUN"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"identity": "npm:@gotgenes/pi-permission-system@40.3.0",
|
|
50
|
+
"resolver_status": "BLOCKED",
|
|
51
|
+
"code": "extension_not_installed",
|
|
52
|
+
"current_node": "22.23.2",
|
|
53
|
+
"static_audit": "COMPLETE",
|
|
54
|
+
"runtime_status": "BLOCKED",
|
|
55
|
+
"runtime_blocker": "extension_not_installed",
|
|
56
|
+
"quality_status": "NOT_RUN"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"identity": "npm:pi-web-access@0.41.0",
|
|
60
|
+
"resolver_status": "BLOCKED",
|
|
61
|
+
"code": "extension_load_failed",
|
|
62
|
+
"current_node": "22.23.2",
|
|
63
|
+
"static_audit": "COMPLETE",
|
|
64
|
+
"runtime_status": "BLOCKED",
|
|
65
|
+
"runtime_blocker": "extension_load_failed",
|
|
66
|
+
"quality_status": "NOT_RUN"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"identity": "npm:openwiki@0.7.2",
|
|
70
|
+
"resolver_status": "PASS",
|
|
71
|
+
"required_node": ">=22.22.0",
|
|
72
|
+
"current_node": "22.23.2",
|
|
73
|
+
"static_audit": "COMPLETE",
|
|
74
|
+
"runtime_status": "PASS_COMPONENT_ONLY",
|
|
75
|
+
"runtime_blocker": null,
|
|
76
|
+
"quality_status": "NOT_RUN"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"identity": "npm:pi-cursor-sdk@0.5.3",
|
|
80
|
+
"resolver_status": "PASS",
|
|
81
|
+
"required_node": ">=24",
|
|
82
|
+
"current_node": "22.23.2",
|
|
83
|
+
"static_audit": "COMPLETE",
|
|
84
|
+
"runtime_status": "BLOCKED",
|
|
85
|
+
"runtime_blocker": "node_engine_unsupported",
|
|
86
|
+
"quality_status": "NOT_RUN"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"component_test": {
|
|
90
|
+
"candidate": "npm:openwiki@0.7.2",
|
|
91
|
+
"sdk_version": "1.2.0",
|
|
92
|
+
"first_execution": {
|
|
93
|
+
"read_only": "PASS",
|
|
94
|
+
"coding": "PASS"
|
|
95
|
+
},
|
|
96
|
+
"fresh_scope_reproduction": {
|
|
97
|
+
"read_only": "PASS",
|
|
98
|
+
"coding": "PASS"
|
|
99
|
+
},
|
|
100
|
+
"support_fixture": "npm:pi-extension-fixture@1.0.0",
|
|
101
|
+
"candidate_tools_invoked": 0,
|
|
102
|
+
"external_provider_calls": 0,
|
|
103
|
+
"network_attempts": 0,
|
|
104
|
+
"child_process_attempts": 0
|
|
105
|
+
},
|
|
106
|
+
"additional_paid_candidate_runs": 0,
|
|
107
|
+
"installs": 0,
|
|
108
|
+
"production_changes": 0,
|
|
109
|
+
"live_quality_ablation": "NOT_RUN",
|
|
110
|
+
"prior_screening_cost_usd": null,
|
|
111
|
+
"prior_screening_cost_reason": "not-exposed-by-mcp; preserved unchanged",
|
|
112
|
+
"rules_applied": [
|
|
113
|
+
"Only installed exact allowlist pins can be loaded.",
|
|
114
|
+
"No automatic global installs or production pin/runtime changes.",
|
|
115
|
+
"No live quality run without concrete paired matrix and budget."
|
|
116
|
+
],
|
|
117
|
+
"limitations": [
|
|
118
|
+
"Static review is not runtime qualification or transitive dependency assurance.",
|
|
119
|
+
"OpenWiki registration/selection/shutdown does not qualify writer/retrieval tools or its internal MCP child.",
|
|
120
|
+
"Instrumented JavaScript network/process guards are not an OS sandbox.",
|
|
121
|
+
"No LSP, large-output or cache bottleneck was measured, so no quality ablation was selected."
|
|
122
|
+
]
|
|
123
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "published-pinned-artifact-download-and-integrity",
|
|
3
|
+
"retrieved_at": "2026-10-17T09:04:52.656Z",
|
|
4
|
+
"artifact_scope": "extension-audit-20261017-51c18bf7-245f-427b-91e2-4dc7820d7227",
|
|
5
|
+
"artifacts": [
|
|
6
|
+
{
|
|
7
|
+
"name": "pi-web-access",
|
|
8
|
+
"version": "0.41.0",
|
|
9
|
+
"metadata_url": "https://registry.npmjs.org/pi-web-access/0.41.0",
|
|
10
|
+
"tarball_url": "https://registry.npmjs.org/pi-web-access/-/pi-web-access-0.41.0.tgz",
|
|
11
|
+
"integrity": "sha512-8+UoNENGHKlYBxrtwh7Hwoh2twVfs+tcdR1Ciq7sRUtTur0mOXP8N/o7/y72JbdYij3NuSyCNjShbWBPPJ8JPA==",
|
|
12
|
+
"sha256": "sha256:68c4eb20216fe77fe69b0fcdb24e03c0cc6e0c7cc7bad8e88b47373da1c91aec",
|
|
13
|
+
"bytes": 7102345,
|
|
14
|
+
"artifact": "pi-web-access-0.41.0.tgz"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "openwiki",
|
|
18
|
+
"version": "0.7.2",
|
|
19
|
+
"metadata_url": "https://registry.npmjs.org/openwiki/0.7.2",
|
|
20
|
+
"tarball_url": "https://registry.npmjs.org/openwiki/-/openwiki-0.7.2.tgz",
|
|
21
|
+
"integrity": "sha512-+DJd/g2knw92fhem+QXzuVFU3A8tYjTPTQ5LPNXMFzDyVhruvxcKxrweDXUN9lKWJhhFetvYsKTz4Ac/hGUVOA==",
|
|
22
|
+
"sha256": "sha256:17f0061fbb60c9b1410b30de1c47fbcc1b639bb9519a9798e4415ca8ffbe7155",
|
|
23
|
+
"bytes": 586095,
|
|
24
|
+
"artifact": "openwiki-0.7.2.tgz"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"installs": 0,
|
|
28
|
+
"code_execution": 0
|
|
29
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "1.0.0",
|
|
3
|
+
"audited_at": "2026-10-17",
|
|
4
|
+
"method": "read-only installed package metadata, selected compiled files, package lock integrity, npm registry metadata, official upstream README/package metadata",
|
|
5
|
+
"actions_not_taken": [
|
|
6
|
+
"install packages",
|
|
7
|
+
"import or execute extension code",
|
|
8
|
+
"call model providers",
|
|
9
|
+
"invoke external web searches through the extension",
|
|
10
|
+
"read or configure credentials",
|
|
11
|
+
"modify production profiles or settings"
|
|
12
|
+
],
|
|
13
|
+
"runtime": {
|
|
14
|
+
"node": "22.23.2",
|
|
15
|
+
"pi_launcher_version": "1.1.0",
|
|
16
|
+
"pi_1_2_0_compatibility": "not runtime-tested"
|
|
17
|
+
},
|
|
18
|
+
"packages": [
|
|
19
|
+
{
|
|
20
|
+
"spec": "npm:pi-web-access@0.41.0",
|
|
21
|
+
"identity": "Nico Bailon Pi Web Access",
|
|
22
|
+
"repository": "https://github.com/nicobailon/pi-web-access",
|
|
23
|
+
"registry": "https://www.npmjs.com/package/pi-web-access",
|
|
24
|
+
"registry_metadata_query": "npm view pi-web-access@0.41.0 name version license repository.url engines node peerDependencies pi --json",
|
|
25
|
+
"version": "0.41.0",
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"node_engine": ">=22.19.0",
|
|
28
|
+
"pi_extension_entries": ["./dist"],
|
|
29
|
+
"entry_target_is_regular_file": false,
|
|
30
|
+
"resolver_result": "extension_load_failed: exact installed entry resolves to a directory while repository resolver requires a regular file",
|
|
31
|
+
"peer_dependencies": {
|
|
32
|
+
"@earendil-works/pi-ai": "*",
|
|
33
|
+
"@earendil-works/pi-coding-agent": "*",
|
|
34
|
+
"@earendil-works/pi-tui": "*",
|
|
35
|
+
"typebox": "*"
|
|
36
|
+
},
|
|
37
|
+
"current_upstream_main_note": "At audit time current upstream main package metadata reports 0.42.0 and ./index.ts; it is not the installed 0.41.0 package and was not substituted.",
|
|
38
|
+
"features_and_data_paths": [
|
|
39
|
+
"search and fetch tools may send queries, URLs or page content to external configured/default providers",
|
|
40
|
+
"provider/model selection may reuse host Pi authentication depending on routing",
|
|
41
|
+
"summary workflows can make a separate model call; workflow none omits summarizer call but not external search-provider use",
|
|
42
|
+
"optional browser-cookie Gemini access is documented",
|
|
43
|
+
"curator and local config/result state may be written"
|
|
44
|
+
],
|
|
45
|
+
"telemetry_assessment": "No package-wide telemetry was established from inspected source/docs; optional provider paths were not exhaustively audited.",
|
|
46
|
+
"lockfile": {
|
|
47
|
+
"resolved": "https://registry.npmjs.org/pi-web-access/-/pi-web-access-0.41.0.tgz",
|
|
48
|
+
"integrity": "sha512-8+UoNENGHKlYBxrtwh7Hwoh2twVfs+tcdR1Ciq7sRUtTur0mOXP8N/o7/y72JbdYij3NuSyCNjShbWBPPJ8JPA=="
|
|
49
|
+
},
|
|
50
|
+
"installed_files_sha256": {
|
|
51
|
+
"package.json": "c5ccc33fe7241a28d1a32f6a633dae06b6a23e4fb3b841b0527e148d66d21ee7",
|
|
52
|
+
"dist/index.js": "28844389c2abc6b2d39b9f0e537182611fcb8f35d898e26b699a0ab8632922c2",
|
|
53
|
+
"dist/mcp-cli.js": "2eae8d7b75b02f9df03b9334c5c0b4df5b53ef08536c69f8baea8757b829bd71"
|
|
54
|
+
},
|
|
55
|
+
"behavioral_test": "not run"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"spec": "npm:openwiki@0.7.2",
|
|
59
|
+
"identity": "LangChain OpenWiki CLI and Pi integration",
|
|
60
|
+
"repository": "https://github.com/langchain-ai/openwiki",
|
|
61
|
+
"registry": "https://www.npmjs.com/package/openwiki",
|
|
62
|
+
"registry_metadata_query": "npm view openwiki@0.7.2 name version license repository.url engines node peerDependencies pi --json",
|
|
63
|
+
"not_same_as": {
|
|
64
|
+
"name": "pi-openwiki",
|
|
65
|
+
"repository": "https://github.com/barvhaim/pi-openwiki"
|
|
66
|
+
},
|
|
67
|
+
"version": "0.7.2",
|
|
68
|
+
"license": "MIT",
|
|
69
|
+
"node_engine": ">=22.22.0",
|
|
70
|
+
"pi_extension_entries": ["./dist/integrations/pi/openwiki.js"],
|
|
71
|
+
"entry_target_is_regular_file": true,
|
|
72
|
+
"peer_dependencies": {
|
|
73
|
+
"jsdom": "^29.1.1 || ^30.0.0",
|
|
74
|
+
"mermaid": "^11.16.0"
|
|
75
|
+
},
|
|
76
|
+
"integration_contract": {
|
|
77
|
+
"tools": [
|
|
78
|
+
"openwiki_begin",
|
|
79
|
+
"openwiki_submit_plan",
|
|
80
|
+
"openwiki_next_page",
|
|
81
|
+
"openwiki_inspect_page_claims",
|
|
82
|
+
"openwiki_submit_page",
|
|
83
|
+
"openwiki_finish"
|
|
84
|
+
],
|
|
85
|
+
"execution_mode": "sequential annotation",
|
|
86
|
+
"transport": "local child process running package CLI with mcp --host pi over stdio",
|
|
87
|
+
"shutdown": "Pi session_shutdown closes child bridge",
|
|
88
|
+
"writes": "repository wiki lifecycle may write pages, indexes, provenance and setup metadata; personal/connectors mode writes under OpenWiki home"
|
|
89
|
+
},
|
|
90
|
+
"telemetry_assessment": "Official README documents default-on aggregate openwiki_run telemetry for standalone init/update; documented opt-outs are OPENWIKI_TELEMETRY_DISABLED=1 and DO_NOT_TRACK=1. Integration itself delegates to mcp --host pi and does not call the telemetry sender directly in inspected file. Exact installed-build host-driven egress remains unverified.",
|
|
91
|
+
"lockfile": {
|
|
92
|
+
"resolved": "https://registry.npmjs.org/openwiki/-/openwiki-0.7.2.tgz",
|
|
93
|
+
"integrity": "sha512-+DJd/g2knw92fhem+QXzuVFU3A8tYjTPTQ5LPNXMFzDyVhruvxcKxrweDXUN9lKWJhhFetvYsKTz4Ac/hGUVOA=="
|
|
94
|
+
},
|
|
95
|
+
"installed_files_sha256": {
|
|
96
|
+
"package.json": "715cf49690cad358394d3f603d1a167bbc8ec3d8bfb8c3df9801e15abed4ab33",
|
|
97
|
+
"dist/integrations/pi/openwiki.js": "bd1bdd26a8a920c9f9dec9d56273e62f77abeddcc46df30b65ab07d7a5f6e531"
|
|
98
|
+
},
|
|
99
|
+
"behavioral_test": "not run; suitable only for provider-free API smoke test followed by isolated synthetic writer test"
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"official_sources": [
|
|
103
|
+
"https://www.npmjs.com/package/pi-web-access",
|
|
104
|
+
"https://www.npmjs.com/package/openwiki",
|
|
105
|
+
"https://github.com/nicobailon/pi-web-access/blob/main/package.json",
|
|
106
|
+
"https://github.com/langchain-ai/openwiki/blob/main/package.json",
|
|
107
|
+
"https://github.com/langchain-ai/openwiki/blob/main/README.md",
|
|
108
|
+
"https://github.com/barvhaim/pi-openwiki"
|
|
109
|
+
],
|
|
110
|
+
"limitations": [
|
|
111
|
+
"Installed file hashes record the current local files; the npm lock SRI records expected archive integrity, but this audit did not download and re-hash registry tarballs.",
|
|
112
|
+
"No provider or network behavior was exercised.",
|
|
113
|
+
"Wildcard Pi SDK peers and matching method names are not runtime compatibility proof.",
|
|
114
|
+
"No claim of sandboxing or complete transitive dependency audit is made."
|
|
115
|
+
]
|
|
116
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Static audit: Pi Web Access and OpenWiki
|
|
2
|
+
|
|
3
|
+
Date: 2026-10-17. Scope: installed `npm:pi-web-access@0.41.0` and
|
|
4
|
+
`npm:openwiki@0.7.2`, their package metadata, documentation and selected
|
|
5
|
+
compiled entrypoints. No package was installed, imported, initialized or run;
|
|
6
|
+
no provider, network search or extension tool was invoked. The registry metadata
|
|
7
|
+
was queried read-only with `npm view`, and official npm pages / upstream
|
|
8
|
+
repositories were checked. Hashes and the lockfile integrity values are in
|
|
9
|
+
[`web-openwiki-evidence.json`](./web-openwiki-evidence.json).
|
|
10
|
+
|
|
11
|
+
## Findings
|
|
12
|
+
|
|
13
|
+
### `pi-web-access@0.41.0`
|
|
14
|
+
|
|
15
|
+
The installed package is the intended Nico Bailon project at
|
|
16
|
+
[`nicobailon/pi-web-access`](https://github.com/nicobailon/pi-web-access),
|
|
17
|
+
published on npm under the same name, MIT licensed, and pinned to 0.41.0 in
|
|
18
|
+
Pi's package lock. The version's official npm metadata declares Node.js
|
|
19
|
+
`>=22.19.0`, which the current Node 22.23.2 runtime satisfies. It declares
|
|
20
|
+
wildcard peers for Pi AI, coding-agent, TUI and TypeBox, so its manifest does
|
|
21
|
+
not establish compatibility with any particular Pi SDK release.
|
|
22
|
+
|
|
23
|
+
There is a concrete local loader blocker for this exact installed release:
|
|
24
|
+
its manifest declares `pi.extensions: ["./dist"]`, but this repository's
|
|
25
|
+
resolver requires every declared entry to resolve to a regular file. The local
|
|
26
|
+
`dist` target is a directory, so resolving this pin fails with
|
|
27
|
+
`extension_load_failed` before extension code can load. The current upstream
|
|
28
|
+
`main` package manifest has already changed to `./index.ts` (and reports
|
|
29
|
+
0.42.0), which is a different package state; that does not repair or authorize
|
|
30
|
+
silently substituting the installed 0.41.0 pin. A controlled test requires an
|
|
31
|
+
explicit decision to update the pin and align package entrypoint policy, or a
|
|
32
|
+
resolver change followed by review. The static audit did not alter either.
|
|
33
|
+
|
|
34
|
+
The package exposes web search, URL fetch/content extraction, GitHub fetching,
|
|
35
|
+
PDF and video tools; it also ships a standalone stdio MCP executable. Calls can
|
|
36
|
+
send queries, URLs and retrieved content to selected external search/fetch or
|
|
37
|
+
model providers. Provider routing is configurable; documented default search
|
|
38
|
+
uses automatic provider selection, and the package can reuse Pi's OpenAI/Codex
|
|
39
|
+
auth. Its README distinguishes `workflow: "none"` (no summarizer model call)
|
|
40
|
+
from summary workflows, while search providers themselves may be model-backed.
|
|
41
|
+
This makes even a nominal search test a real external web request with data
|
|
42
|
+
disclosure. It should be tested only against a synthetic, explicitly selected
|
|
43
|
+
provider/endpoint or a local stub, with no real research query and no existing
|
|
44
|
+
credential use. The static audit did not inspect or read any credential file.
|
|
45
|
+
|
|
46
|
+
README configures the extension via its own `web-search.json`, can read provider
|
|
47
|
+
credentials through Pi auth or environment/configuration, and can optionally
|
|
48
|
+
use browser cookies for Gemini Web. It documents a curator/browser workflow and
|
|
49
|
+
local activity/results state. This is not a read-only capability overall:
|
|
50
|
+
fetching is network read, but local curator/history/config state may be written.
|
|
51
|
+
No package-wide outbound telemetry was established from the inspected source;
|
|
52
|
+
that is not a proof that every optional provider path is telemetry-free.
|
|
53
|
+
|
|
54
|
+
### `openwiki@0.7.2`
|
|
55
|
+
|
|
56
|
+
The installed package is LangChain's
|
|
57
|
+
[`langchain-ai/openwiki`](https://github.com/langchain-ai/openwiki), not the
|
|
58
|
+
unrelated [`pi-openwiki`](https://github.com/barvhaim/pi-openwiki) project.
|
|
59
|
+
The npm identity, repository URL, version, MIT license and Pi integration path
|
|
60
|
+
agree across installed metadata and the npm registry. It pins
|
|
61
|
+
`pi.extensions: ["./dist/integrations/pi/openwiki.js"]`; that local path exists
|
|
62
|
+
as a regular file and passes this repository's static path/type check. The
|
|
63
|
+
integration registers six sequential lifecycle tools and starts the package's
|
|
64
|
+
own CLI as a local stdio MCP child when a tool is first called. It closes that
|
|
65
|
+
child on Pi session shutdown. It does not register itself as a provider-backed
|
|
66
|
+
agent; the documented host-driven mode uses the host agent's own model and
|
|
67
|
+
repository tools.
|
|
68
|
+
|
|
69
|
+
OpenWiki has an explicit minimum Node version of 22.22.0, so the current
|
|
70
|
+
22.23.2 runtime qualifies. The package has no Pi SDK peer dependency; its
|
|
71
|
+
manifest declares optional peers for Mermaid and jsdom only. Its integration
|
|
72
|
+
uses `pi.registerTool`, `pi.on("session_shutdown", ...)`, tool schemas and
|
|
73
|
+
`executionMode: "sequential"`. That is evidence of the expected host API shape,
|
|
74
|
+
not proof that the installed Pi version accepts the integration at runtime.
|
|
75
|
+
The local Pi launcher reports version 1.1.0; compatibility with Pi 1.2.0 has
|
|
76
|
+
not been runtime-tested.
|
|
77
|
+
|
|
78
|
+
OpenWiki's lifecycle can create and update a repository wiki, including
|
|
79
|
+
Markdown pages, indexes, provenance and setup metadata; its personal/connectors
|
|
80
|
+
mode can persist source data and a personal wiki. The six Pi tools are a
|
|
81
|
+
stateful writer workflow, even though the package advertises local read-only
|
|
82
|
+
discovery tools elsewhere. The tool `executionMode: "sequential"` annotation
|
|
83
|
+
expresses the single-writer sequence but is a host hint, not an independent
|
|
84
|
+
authorization or concurrency boundary. The integration's bridge itself is
|
|
85
|
+
shared within the Pi process. Test first on a fresh synthetic repository and
|
|
86
|
+
temporary OpenWiki home, with a single caller, host model calls disabled or
|
|
87
|
+
stubbed, and inspect all writes. Do not point it at an existing wiki or
|
|
88
|
+
connected source during compatibility testing.
|
|
89
|
+
|
|
90
|
+
OpenWiki's own docs say anonymous aggregate telemetry is on by default for
|
|
91
|
+
standalone `init`/`update` runs. The inspected payload fields include command,
|
|
92
|
+
outcome, coarse error classification, setup mode/provider/connector names,
|
|
93
|
+
build metadata and a random install ID; docs say it excludes file contents,
|
|
94
|
+
repository names/data, credentials, prompts, outputs, paths, URLs and model
|
|
95
|
+
IDs. Opt-out is documented through `OPENWIKI_TELEMETRY_DISABLED=1` or
|
|
96
|
+
`DO_NOT_TRACK=1`. The Pi bridge launches `openwiki mcp --host pi`; the inspected
|
|
97
|
+
integration itself does not invoke telemetry directly, and documented
|
|
98
|
+
host-driven lifecycle tools are separate from standalone generation. A runtime
|
|
99
|
+
network trace would be needed to prove the exact telemetry behavior of this
|
|
100
|
+
installed build and path. For testing, set both opt-outs in the child
|
|
101
|
+
environment and block egress except to a local stub.
|
|
102
|
+
|
|
103
|
+
## Test decision
|
|
104
|
+
|
|
105
|
+
Neither extension has been behaviorally tested in this audit. OpenWiki is
|
|
106
|
+
statically loadable by the current resolver and is the better candidate for a
|
|
107
|
+
provider-free API compatibility smoke test; its mutating lifecycle still needs
|
|
108
|
+
a synthetic repository and temporary state/home before exercising writer
|
|
109
|
+
tools. `pi-web-access@0.41.0` is blocked at extension resolution under the
|
|
110
|
+
current resolver because its declared entry is a directory. Its standalone
|
|
111
|
+
MCP executable is a different integration path and should not be treated as a
|
|
112
|
+
successful Pi-extension test. Both projects are distinct and verified by
|
|
113
|
+
repository identity; no similarly named package was substituted.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Pi extension functional evidence — 2026-10-17
|
|
2
|
+
|
|
3
|
+
The initial model screens used baseline A without selected third-party extensions. Subsequent SDK load/registration checks established package compatibility in that bounded path, but did not establish useful extension behavior. This dossier adds actual provider-free function checks of the seven selected candidates and preserves the distinction between Pi integration, standalone MCP execution and fixture-host component tests.
|
|
4
|
+
|
|
5
|
+
No external model turn, paid provider call, subscription, global package installation, production profile change or production repository write was performed for this follow-up. Node 24.22.0 was used. The evaluation source remains bound to commit `406dae7e6b99aa5715960490e869bd3fc668cca2` and digest `sha256:a4524626851448908b8d21ecbd7248c9956ce830406e81c45fda46c8eb6fffc5`.
|
|
6
|
+
|
|
7
|
+
## What is actually qualified
|
|
8
|
+
|
|
9
|
+
| Exact package | Actual execution | Result and remaining limit |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| `pi-lens@4.4.3` | Public SDK tool definitions against a synthetic source repository | [Seven tool calls](navigation/README.md) PASS for cold-cache/retry responses (six searches and one project report). Warm-index retrieval remains **INCONCLUSIVE**; no expected fixture hit was observed. |
|
|
12
|
+
| `context-mode@1.0.169` | Actual SDK `tool_result` hook receives a synthetic AGENTS read result; independent inspection of its owned database checks persistence | [Hook persistence](navigation/README.md) PASS. The inner MCP server started with its own guard; the restricted overall probe is **BLOCKED** and MCP tool retrieval remains **INCONCLUSIVE**. No compression or original-output retrieval was executed. Project tagging does not prove a search authorization boundary. |
|
|
13
|
+
| `pi-cache-optimizer@2.9.3` | Actual hooks and registered command callbacks from the published entrypoint, driven by a synthetic host | [Six cases](cache/README.md) PASS: payload mutation/preservation, Codex bypass, disabled zero/unknown-price warming, headless fix/rollback refusal and synthetic usage persistence. No measured cache savings or live scheduler qualification. |
|
|
14
|
+
| `@gotgenes/pi-permission-system@40.3.0` | Seven public policy queries and four actual SDK hook decisions, already completed | [Policy and hook checks](../permission-gates-2026-10-17/README.md) PASS. The hook counter is synthetic; no tool executor or OS containment is established. |
|
|
15
|
+
| `openwiki@0.7.2` | All six registered Pi lifecycle tools invoke the real stdio MCP child; one owned repository and one writer | [14 checks](bridges/README.md) PASS, including plan, claims, written-page submission, completion and invalid-state rejection. Source preserved and cleanup observed. Retrieval/model quality remains untested. |
|
|
16
|
+
| `pi-web-access@0.41.0` | Production Pi resolver plus separately published standalone MCP CLI | [Six checks](bridges/README.md) PASS for discovery, owned-loopback raw fetch, stored-content lookup and invalid requests. **Pi extension loading remains BLOCKED** by the directory-valued manifest entry; `web_search` and `source_check` were discovered but not called. |
|
|
17
|
+
| `pi-cursor-sdk@0.5.3` | Local activation component is reported separately from model execution | [Two component cases](cursor/README.md) PASS: activation, resource listing, unknown/disabled skill rejection, symlink omission and disabled bridge. Cursor local-agent/cloud/provider sessions remain NOT_RUN. |
|
|
18
|
+
|
|
19
|
+
These rows do not qualify entire packages or production deployment. The package/peer/license/telemetry audits and isolated installations remain in the earlier [extension audit](../extension-audit-2026-10-17/README.md) and [Node 24 follow-up](../node24-followup-2026-10-17/README.md); those records are not rewritten.
|
|
20
|
+
|
|
21
|
+
## MCP and data paths
|
|
22
|
+
|
|
23
|
+
OpenWiki exercised the Pi extension's genuine stdio child and six lifecycle methods. Web Access exercised its genuine standalone stdio child and two content tools against one controller-owned HTTP fixture. Context-mode's event persistence check does not establish its separate MCP compressor. Cursor's local activation component does not establish Cursor-owned MCP servers. The prior synthetic MCP and permission tests remain separately scoped in the [coverage register](../2026-10-17-test-coverage.md).
|
|
24
|
+
|
|
25
|
+
The probes use fresh owned homes/workspaces, no credential environment and narrowly instrumented network/child paths. OpenWiki's one observed outgoing fetch attempt was blocked, despite explicit telemetry opt-outs; its purpose was not attributed. Context-mode's guarded MCP child attempted one network request and 20 child processes, all intercepted; this restricted bridge experiment is inconclusive. Web Access allowed only the local fixture port with temporary package SSRF configuration. These JavaScript guards and process-group observations are bounded instrumentation, not a sandbox or general filesystem boundary.
|
|
26
|
+
|
|
27
|
+
## Remaining work and scope
|
|
28
|
+
|
|
29
|
+
A live quality/cache/context benefit over baseline A is **NOT_RUN**: no B/C ablation was selected and this follow-up consumes no new model slots. Such a comparison needs matched tasks and an explicitly approved route/start/budget matrix. Existing screening approval does not authorize additional model calls.
|
|
30
|
+
|
|
31
|
+
The other inventoried workflow packages, including `pi-subagents`, `@juicesharp/rpiv-todo`, `pi-goal-x` and `pi-advisor-flow`, are not part of this seven-candidate functional result. No default inner agents, goal loops or workflow framework were enabled. The original assignment explicitly excluded installing all previously catalogued packages.
|
|
32
|
+
|
|
33
|
+
Runnable scripts, individual receipts, unsuccessful harness attempts, observed cleanup and exact limitations are preserved in each component dossier. The [machine-readable summary](summary.json), [independent review](review.json) and integrity index bind the final report to those files. Core source was unchanged, so the already completed 1,459-test full suite and 308-test offline subset were not needlessly repeated; they remain historical source-bound checks, not counts of the new extension function probes.
|