deadbyte-mcp 0.8.10 → 0.10.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/CONTEXT.md +41 -0
- package/MANIFEST.SHA256 +386 -94
- package/R34-BASELINE.json +9 -0
- package/README.txt +141 -10
- package/bench/fixtures/corpus.json +36 -0
- package/bench/fixtures/r36/case-map.json +8 -0
- package/bin/WORKER-REGISTRY.txt +3 -3
- package/bin/appcontainer-stage.exe +0 -0
- package/bin/appcontainer-stage.obj +0 -0
- package/bin/bootstrap-advapi32.exe +0 -0
- package/bin/bootstrap-advapi32.obj +0 -0
- package/bin/bootstrap-exitcode.exe +0 -0
- package/bin/bootstrap-exitcode.obj +0 -0
- package/bin/bootstrap-kernel32.exe +0 -0
- package/bin/bootstrap-kernel32.obj +0 -0
- package/bin/child-control-probe.exe +0 -0
- package/bin/child-control-probe.obj +0 -0
- package/bin/child-control-stage.exe +0 -0
- package/bin/child-control-stage.obj +0 -0
- package/bin/contained-reverse-worker.exe +0 -0
- package/bin/contained-reverse-worker.obj +0 -0
- package/bin/contained-transform-worker.exe +0 -0
- package/bin/contained-transform-worker.obj +0 -0
- package/bin/containment-probe.exe +0 -0
- package/bin/containment-probe.obj +0 -0
- package/bin/deadbyte-contain.exe +0 -0
- package/bin/deadbyte-contain.obj +0 -0
- package/bin/deadbyte-exec.exe +0 -0
- package/bin/deadbyte-exec.obj +0 -0
- package/bin/deadbyte-process-host.exe +0 -0
- package/bin/deadbyte-process-host.obj +0 -0
- package/bin/deadbyte-tunnel-host.exe +0 -0
- package/bin/deadbyte-tunnel-host.obj +0 -0
- package/controller/README.TXT +12 -4
- package/controller/deadbyte-controller.config.psd1.example +14 -0
- package/controller/deadbyte-controller.ps1 +191 -20
- package/controller/deadbyte-process-policy.json +5 -5
- package/controller/deadbyte-semantic-lsp-config.json +95 -0
- package/docs/ADR-0001-PRODUCTION-BASELINE-SEAMS.md +29 -0
- package/docs/ARCHITECTURE.md +6 -5
- package/docs/R36-CAPABILITY-EVIDENCE.md +43 -0
- package/docs/superpowers/plans/2026-09-16-deadbyte-loop-engine.md +846 -0
- package/docs/superpowers/plans/2026-09-17-r35-production-successor.md +408 -0
- package/docs/superpowers/plans/2026-09-18-r36-zero-loss-autonomy.md +739 -0
- package/docs/superpowers/specs/2026-09-16-deadbyte-loop-engine-design.md +435 -0
- package/docs/superpowers/specs/2026-09-17-r35-production-successor-design.md +220 -0
- package/docs/superpowers/specs/2026-09-18-r36-zero-loss-autonomy-design.md +640 -0
- package/node_modules/typescript/LICENSE.txt +55 -0
- package/node_modules/typescript/README.md +50 -0
- package/node_modules/typescript/SECURITY.md +41 -0
- package/node_modules/typescript/ThirdPartyNoticeText.txt +193 -0
- package/node_modules/typescript/bin/tsc +2 -0
- package/node_modules/typescript/bin/tsserver +2 -0
- package/node_modules/typescript/lib/_tsc.js +133818 -0
- package/node_modules/typescript/lib/_tsserver.js +659 -0
- package/node_modules/typescript/lib/_typingsInstaller.js +222 -0
- package/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/lib.d.ts +22 -0
- package/node_modules/typescript/lib/lib.decorators.d.ts +384 -0
- package/node_modules/typescript/lib/lib.decorators.legacy.d.ts +22 -0
- package/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +41 -0
- package/node_modules/typescript/lib/lib.dom.d.ts +39429 -0
- package/node_modules/typescript/lib/lib.dom.iterable.d.ts +571 -0
- package/node_modules/typescript/lib/lib.es2015.collection.d.ts +147 -0
- package/node_modules/typescript/lib/lib.es2015.core.d.ts +597 -0
- package/node_modules/typescript/lib/lib.es2015.d.ts +28 -0
- package/node_modules/typescript/lib/lib.es2015.generator.d.ts +77 -0
- package/node_modules/typescript/lib/lib.es2015.iterable.d.ts +605 -0
- package/node_modules/typescript/lib/lib.es2015.promise.d.ts +81 -0
- package/node_modules/typescript/lib/lib.es2015.proxy.d.ts +128 -0
- package/node_modules/typescript/lib/lib.es2015.reflect.d.ts +144 -0
- package/node_modules/typescript/lib/lib.es2015.symbol.d.ts +46 -0
- package/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +326 -0
- package/node_modules/typescript/lib/lib.es2016.array.include.d.ts +116 -0
- package/node_modules/typescript/lib/lib.es2016.d.ts +21 -0
- package/node_modules/typescript/lib/lib.es2016.full.d.ts +23 -0
- package/node_modules/typescript/lib/lib.es2016.intl.d.ts +31 -0
- package/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +21 -0
- package/node_modules/typescript/lib/lib.es2017.d.ts +26 -0
- package/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
- package/node_modules/typescript/lib/lib.es2017.full.d.ts +23 -0
- package/node_modules/typescript/lib/lib.es2017.intl.d.ts +44 -0
- package/node_modules/typescript/lib/lib.es2017.object.d.ts +49 -0
- package/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +135 -0
- package/node_modules/typescript/lib/lib.es2017.string.d.ts +45 -0
- package/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +53 -0
- package/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +77 -0
- package/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +53 -0
- package/node_modules/typescript/lib/lib.es2018.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2018.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2018.intl.d.ts +83 -0
- package/node_modules/typescript/lib/lib.es2018.promise.d.ts +30 -0
- package/node_modules/typescript/lib/lib.es2018.regexp.d.ts +37 -0
- package/node_modules/typescript/lib/lib.es2019.array.d.ts +79 -0
- package/node_modules/typescript/lib/lib.es2019.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2019.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2019.intl.d.ts +23 -0
- package/node_modules/typescript/lib/lib.es2019.object.d.ts +33 -0
- package/node_modules/typescript/lib/lib.es2019.string.d.ts +37 -0
- package/node_modules/typescript/lib/lib.es2019.symbol.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2020.bigint.d.ts +765 -0
- package/node_modules/typescript/lib/lib.es2020.d.ts +27 -0
- package/node_modules/typescript/lib/lib.es2020.date.d.ts +42 -0
- package/node_modules/typescript/lib/lib.es2020.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2020.intl.d.ts +474 -0
- package/node_modules/typescript/lib/lib.es2020.number.d.ts +28 -0
- package/node_modules/typescript/lib/lib.es2020.promise.d.ts +47 -0
- package/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +99 -0
- package/node_modules/typescript/lib/lib.es2020.string.d.ts +44 -0
- package/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +41 -0
- package/node_modules/typescript/lib/lib.es2021.d.ts +23 -0
- package/node_modules/typescript/lib/lib.es2021.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2021.intl.d.ts +166 -0
- package/node_modules/typescript/lib/lib.es2021.promise.d.ts +48 -0
- package/node_modules/typescript/lib/lib.es2021.string.d.ts +33 -0
- package/node_modules/typescript/lib/lib.es2021.weakref.d.ts +78 -0
- package/node_modules/typescript/lib/lib.es2022.array.d.ts +121 -0
- package/node_modules/typescript/lib/lib.es2022.d.ts +25 -0
- package/node_modules/typescript/lib/lib.es2022.error.d.ts +75 -0
- package/node_modules/typescript/lib/lib.es2022.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2022.intl.d.ts +145 -0
- package/node_modules/typescript/lib/lib.es2022.object.d.ts +26 -0
- package/node_modules/typescript/lib/lib.es2022.regexp.d.ts +39 -0
- package/node_modules/typescript/lib/lib.es2022.string.d.ts +25 -0
- package/node_modules/typescript/lib/lib.es2023.array.d.ts +924 -0
- package/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
- package/node_modules/typescript/lib/lib.es2023.d.ts +22 -0
- package/node_modules/typescript/lib/lib.es2023.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2023.intl.d.ts +56 -0
- package/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +65 -0
- package/node_modules/typescript/lib/lib.es2024.collection.d.ts +29 -0
- package/node_modules/typescript/lib/lib.es2024.d.ts +26 -0
- package/node_modules/typescript/lib/lib.es2024.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2024.object.d.ts +29 -0
- package/node_modules/typescript/lib/lib.es2024.promise.d.ts +35 -0
- package/node_modules/typescript/lib/lib.es2024.regexp.d.ts +25 -0
- package/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +68 -0
- package/node_modules/typescript/lib/lib.es2024.string.d.ts +29 -0
- package/node_modules/typescript/lib/lib.es5.d.ts +4601 -0
- package/node_modules/typescript/lib/lib.es6.d.ts +23 -0
- package/node_modules/typescript/lib/lib.esnext.array.d.ts +35 -0
- package/node_modules/typescript/lib/lib.esnext.collection.d.ts +96 -0
- package/node_modules/typescript/lib/lib.esnext.d.ts +29 -0
- package/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
- package/node_modules/typescript/lib/lib.esnext.disposable.d.ts +193 -0
- package/node_modules/typescript/lib/lib.esnext.error.d.ts +24 -0
- package/node_modules/typescript/lib/lib.esnext.float16.d.ts +445 -0
- package/node_modules/typescript/lib/lib.esnext.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.esnext.intl.d.ts +21 -0
- package/node_modules/typescript/lib/lib.esnext.iterator.d.ts +148 -0
- package/node_modules/typescript/lib/lib.esnext.promise.d.ts +34 -0
- package/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +25 -0
- package/node_modules/typescript/lib/lib.scripthost.d.ts +322 -0
- package/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +41 -0
- package/node_modules/typescript/lib/lib.webworker.d.ts +13150 -0
- package/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +23 -0
- package/node_modules/typescript/lib/lib.webworker.iterable.d.ts +340 -0
- package/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/tsc.js +8 -0
- package/node_modules/typescript/lib/tsserver.js +8 -0
- package/node_modules/typescript/lib/tsserverlibrary.d.ts +17 -0
- package/node_modules/typescript/lib/tsserverlibrary.js +21 -0
- package/node_modules/typescript/lib/typesMap.json +497 -0
- package/node_modules/typescript/lib/typescript.d.ts +11437 -0
- package/node_modules/typescript/lib/typescript.js +200276 -0
- package/node_modules/typescript/lib/typingsInstaller.js +8 -0
- package/node_modules/typescript/lib/watchGuard.js +53 -0
- package/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/package.json +120 -0
- package/package.json +5 -3
- package/proof/CONTAINMENT-BUILD.txt +6 -6
- package/proof/R34-TASK8-SUPERVISOR-CHECKPOINT.json +29 -0
- package/proof/R34-TASK9-MCP-SURFACE-CHECKPOINT.json +28 -0
- package/scripts/capability-benchmark.mjs +27 -0
- package/scripts/deferred-slot-operation.mjs +56 -16
- package/scripts/final-closure-verify.mjs +88 -39
- package/scripts/final-closure.mjs +63 -56
- package/scripts/gate-windows.ps1 +3 -3
- package/scripts/release-parity-tests.ps1 +9 -0
- package/scripts/release-parity.mjs +149 -139
- package/scripts/semantic-preflight.ps1 +73 -0
- package/scripts/tool-surface-snapshot.mjs +73 -0
- package/scripts/windows-gate-evidence.mjs +5 -5
- package/src/audit-verify.mjs +6 -2
- package/src/autonomous-action-reconcile.mjs +142 -0
- package/src/autonomous-context-engine.mjs +256 -0
- package/src/autonomous-live-state.mjs +17 -0
- package/src/autonomous-local-supervisor.mjs +249 -0
- package/src/autonomous-loop-state.mjs +304 -0
- package/src/autonomous-mcp-tools.mjs +5 -1
- package/src/autonomous-output-contracts.mjs +26 -7
- package/src/autonomous-plan.mjs +181 -0
- package/src/autonomous-planner-contracts.mjs +79 -0
- package/src/autonomous-planner.mjs +113 -6
- package/src/autonomous-policy.mjs +15 -2
- package/src/autonomous-progress.mjs +127 -0
- package/src/autonomous-runtime.mjs +785 -62
- package/src/autonomous-supervisor-host.mjs +70 -0
- package/src/autonomous-supervisor.mjs +31 -8
- package/src/capability-benchmark-runner.mjs +193 -0
- package/src/capability-benchmark.mjs +95 -0
- package/src/capability-ledger.mjs +158 -0
- package/src/coding-mcp-tools.mjs +65 -8
- package/src/coding-output-contracts.mjs +91 -8
- package/src/coding-plane.mjs +45 -9
- package/src/coding-search.mjs +130 -47
- package/src/compact-gateway-mcp-tools.mjs +128 -0
- package/src/compact-gateway-output-contracts.mjs +16 -0
- package/src/context-provenance.mjs +86 -0
- package/src/deadbyte-cli.mjs +145 -30
- package/src/document-adapter.mjs +43 -0
- package/src/lsp-stdio-client.mjs +112 -0
- package/src/machine-fs-smoke-client.mjs +2 -1
- package/src/machine-fs.mjs +51 -8
- package/src/mcp-server.mjs +46 -9
- package/src/native-diff-v2.mjs +337 -0
- package/src/native-diff.mjs +50 -2
- package/src/observation-smoke-client.mjs +3 -2
- package/src/operator-surface.mjs +43 -0
- package/src/process-runtime.mjs +98 -11
- package/src/process-smoke-client.mjs +11 -3
- package/src/provider-circuit.mjs +125 -0
- package/src/r36-compact-disarmed-probe.mjs +50 -0
- package/src/r36-full-surface-probe.mjs +56 -0
- package/src/release-generation.mjs +44 -5
- package/src/remote-live-log.mjs +76 -0
- package/src/remote-mcp-autonomous-smoke-client.mjs +58 -15
- package/src/remote-mcp-coding-smoke-client.mjs +5 -4
- package/src/remote-mcp-r24-disarmed-smoke-client.mjs +4 -2
- package/src/remote-mcp-r34-parity-client.mjs +177 -0
- package/src/remote-mcp-r36-parity-client.mjs +175 -0
- package/src/remote-mcp-smoke-client.mjs +113 -56
- package/src/remote-result-journal.mjs +114 -0
- package/src/runtime-update.mjs +109 -9
- package/src/search-cursor.mjs +45 -0
- package/src/semantic-backend-registry.mjs +39 -0
- package/src/semantic-code.mjs +246 -0
- package/src/semantic-lsp-backend.mjs +219 -0
- package/src/semantic-lsp-config.mjs +112 -0
- package/src/tool-surface-ledger.mjs +92 -0
- package/src/version.mjs +1 -1
- package/test/audit-verify.test.mjs +1 -1
- package/test/autonomous-action-reconcile.test.mjs +106 -0
- package/test/autonomous-adversarial.test.mjs +149 -6
- package/test/autonomous-capability-r36.test.mjs +151 -0
- package/test/autonomous-context-engine.test.mjs +181 -0
- package/test/autonomous-live-state.test.mjs +27 -0
- package/test/autonomous-local-supervisor.test.mjs +403 -0
- package/test/autonomous-loop-state.test.mjs +126 -0
- package/test/autonomous-loop-v2.test.mjs +105 -0
- package/test/autonomous-loop.test.mjs +79 -1
- package/test/autonomous-output-contract.test.mjs +54 -0
- package/test/autonomous-plan.test.mjs +101 -0
- package/test/autonomous-progress.test.mjs +106 -0
- package/test/autonomous-r34-e2e.test.mjs +338 -0
- package/test/autonomous-runtime.test.mjs +3 -3
- package/test/autonomous-supervisor-integration.test.mjs +48 -3
- package/test/capability-benchmark-r36.test.mjs +107 -0
- package/test/capability-benchmark-runner.test.mjs +49 -0
- package/test/capability-benchmark-semantic-r36.test.mjs +52 -0
- package/test/capability-benchmark.test.mjs +47 -0
- package/test/capability-claims-r36.test.mjs +23 -0
- package/test/capability-ledger-r36.test.mjs +102 -0
- package/test/cli-entrypoint.test.mjs +12 -0
- package/test/coding-catalog-consistency.test.mjs +24 -0
- package/test/coding-plane.test.mjs +3 -3
- package/test/coding-runtime.test.mjs +16 -0
- package/test/coding-search-r36.test.mjs +90 -0
- package/test/compact-catalog-r36.test.mjs +37 -0
- package/test/compact-gateway-r36.test.mjs +66 -0
- package/test/contained.test.mjs +1 -1
- package/test/context-provenance.test.mjs +61 -0
- package/test/controller-r27.test.mjs +4 -3
- package/test/controller.test.mjs +52 -0
- package/test/core.test.mjs +1 -1
- package/test/deferred-slot-operation-behavior.test.mjs +5 -1
- package/test/deferred-slot-operation.test.mjs +11 -1
- package/test/document-adapter.test.mjs +23 -0
- package/test/fixtures/lsp-framed-server.mjs +35 -0
- package/test/fixtures/semantic/cpp/compile_commands.json +4 -0
- package/test/fixtures/semantic/cpp/lib.cpp +2 -0
- package/test/fixtures/semantic/cpp/lib.hpp +2 -0
- package/test/fixtures/semantic/cpp/main.cpp +2 -0
- package/test/fixtures/semantic/python/lib.py +2 -0
- package/test/fixtures/semantic/python/main.py +2 -0
- package/test/fixtures/semantic/rust/Cargo.lock +7 -0
- package/test/fixtures/semantic/rust/Cargo.toml +8 -0
- package/test/fixtures/semantic/rust/src/lib.rs +3 -0
- package/test/fixtures/semantic/rust/src/main.rs +5 -0
- package/test/fixtures/semantic/rust/src/math.rs +3 -0
- package/test/fixtures/semantic/rust/target/.rustc_info.json +1 -0
- package/test/fixtures/semantic/rust/target/CACHEDIR.TAG +3 -0
- package/test/fixtures/semantic/rust/target/debug/.cargo-lock +0 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-4c168fa33c79d09c/dep-test-lib-semantic_rust +0 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-4c168fa33c79d09c/invoked.timestamp +1 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-4c168fa33c79d09c/test-lib-semantic_rust +1 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-4c168fa33c79d09c/test-lib-semantic_rust.json +1 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-5dcd474439c54a26/dep-test-bin-semantic_rust_bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-5dcd474439c54a26/invoked.timestamp +1 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-5dcd474439c54a26/test-bin-semantic_rust_bin +1 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-5dcd474439c54a26/test-bin-semantic_rust_bin.json +1 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-6212ccd976aa3808/dep-lib-semantic_rust +0 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-6212ccd976aa3808/invoked.timestamp +1 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-6212ccd976aa3808/lib-semantic_rust +1 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-6212ccd976aa3808/lib-semantic_rust.json +1 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-d741378dccdef61c/bin-semantic_rust_bin +1 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-d741378dccdef61c/bin-semantic_rust_bin.json +1 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-d741378dccdef61c/dep-bin-semantic_rust_bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-d741378dccdef61c/invoked.timestamp +1 -0
- package/test/fixtures/semantic/rust/target/debug/deps/libsemantic_rust-4c168fa33c79d09c.rmeta +0 -0
- package/test/fixtures/semantic/rust/target/debug/deps/libsemantic_rust-6212ccd976aa3808.rmeta +0 -0
- package/test/fixtures/semantic/rust/target/debug/deps/libsemantic_rust_bin-5dcd474439c54a26.rmeta +0 -0
- package/test/fixtures/semantic/rust/target/debug/deps/libsemantic_rust_bin-d741378dccdef61c.rmeta +0 -0
- package/test/fixtures/semantic/rust/target/debug/deps/semantic_rust-4c168fa33c79d09c.d +5 -0
- package/test/fixtures/semantic/rust/target/debug/deps/semantic_rust-6212ccd976aa3808.d +5 -0
- package/test/fixtures/semantic/rust/target/debug/deps/semantic_rust_bin-5dcd474439c54a26.d +6 -0
- package/test/fixtures/semantic/rust/target/debug/deps/semantic_rust_bin-d741378dccdef61c.d +6 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-1nzlugxi6lq16/s-hmdgo8b6hg-1n6glhc-1qb77z00k06rqw4jdkj92spax/dep-graph.bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-1nzlugxi6lq16/s-hmdgo8b6hg-1n6glhc-1qb77z00k06rqw4jdkj92spax/query-cache.bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-1nzlugxi6lq16/s-hmdgo8b6hg-1n6glhc-1qb77z00k06rqw4jdkj92spax/work-products.bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-1nzlugxi6lq16/s-hmdgo8b6hg-1n6glhc.lock +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-3s436v7g6f5xm/s-hmdgo8b58k-1ekj4lq-9twkpivsqnjon278x20bddozq/dep-graph.bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-3s436v7g6f5xm/s-hmdgo8b58k-1ekj4lq-9twkpivsqnjon278x20bddozq/metadata.rmeta +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-3s436v7g6f5xm/s-hmdgo8b58k-1ekj4lq-9twkpivsqnjon278x20bddozq/query-cache.bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-3s436v7g6f5xm/s-hmdgo8b58k-1ekj4lq-9twkpivsqnjon278x20bddozq/work-products.bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-3s436v7g6f5xm/s-hmdgo8b58k-1ekj4lq.lock +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-1jxcbdeehal7q/s-hmdgo8bxlf-1qr24o3-cmu3jai030no72y8u9eurrnjj/dep-graph.bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-1jxcbdeehal7q/s-hmdgo8bxlf-1qr24o3-cmu3jai030no72y8u9eurrnjj/query-cache.bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-1jxcbdeehal7q/s-hmdgo8bxlf-1qr24o3-cmu3jai030no72y8u9eurrnjj/work-products.bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-1jxcbdeehal7q/s-hmdgo8bxlf-1qr24o3.lock +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-2ocx55p60ni6b/s-hmdgo8bxj8-0ir41qt-diy9mqvc2eoiblmhjs3stcgi3/dep-graph.bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-2ocx55p60ni6b/s-hmdgo8bxj8-0ir41qt-diy9mqvc2eoiblmhjs3stcgi3/query-cache.bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-2ocx55p60ni6b/s-hmdgo8bxj8-0ir41qt-diy9mqvc2eoiblmhjs3stcgi3/work-products.bin +0 -0
- package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-2ocx55p60ni6b/s-hmdgo8bxj8-0ir41qt.lock +0 -0
- package/test/fixtures/semantic/rust/target/flycheck0/stderr +1 -0
- package/test/fixtures/semantic/rust/target/flycheck0/stdout +5 -0
- package/test/fixtures/semantic/typescript/lib.ts +3 -0
- package/test/fixtures/semantic/typescript/main.ts +2 -0
- package/test/fixtures/tool-surface-stdio-server.mjs +14 -0
- package/test/helpers/autonomous-r34-fixture.mjs +122 -0
- package/test/lsp-stdio-client.test.mjs +72 -0
- package/test/multi-file-read.test.mjs +44 -0
- package/test/native-diff-topology-r36.test.mjs +105 -0
- package/test/observation-integration.test.mjs +3 -3
- package/test/package-boundary.test.mjs +6 -0
- package/test/process-longrun-r36.test.mjs +82 -0
- package/test/process-release-gate.test.mjs +9 -0
- package/test/production-docs.test.mjs +48 -0
- package/test/prompts-resources.test.mjs +41 -0
- package/test/provider-circuit.test.mjs +93 -0
- package/test/public-autonomous-ingress-budget.test.mjs +28 -0
- package/test/r33-closeout-regression.test.mjs +4 -3
- package/test/r33-finalization.test.mjs +26 -18
- package/test/r36-finalization.test.mjs +104 -0
- package/test/r36-release-identity.test.mjs +52 -0
- package/test/release-generation.test.mjs +23 -2
- package/test/release-version.test.mjs +27 -17
- package/test/remote-live-log-r36.test.mjs +37 -0
- package/test/remote-live-log-recovery-r36.test.mjs +41 -0
- package/test/remote-r24-catalog.test.mjs +18 -4
- package/test/remote-result-journal.test.mjs +58 -0
- package/test/remote-session-cli.test.mjs +135 -30
- package/test/runtime-self-update.test.mjs +121 -1
- package/test/semantic-backend-registry.test.mjs +29 -0
- package/test/semantic-code.test.mjs +66 -0
- package/test/semantic-lsp-backend.test.mjs +108 -0
- package/test/semantic-lsp-config.test.mjs +81 -0
- package/test/semantic-lsp-readiness.test.mjs +34 -0
- package/test/semantic-lsp-transient-empty.test.mjs +32 -0
- package/test/semantic-lsp-transient-null.test.mjs +31 -0
- package/test/semantic-multilang.test.mjs +72 -0
- package/test/semantic-r36-rename.test.mjs +82 -0
- package/test/semantic-runtime-routing.test.mjs +32 -0
- package/test/semantic-server-config-integration.test.mjs +66 -0
- package/test/tool-surface-ledger.test.mjs +59 -0
- package/test/tool-surface-snapshot.test.mjs +17 -0
- package/test/tracer-bullet.test.mjs +77 -0
- package/deadbyte-mcp-0.8.9.tgz +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
[CmdletBinding()]
|
|
3
3
|
param(
|
|
4
4
|
[Parameter(Position=0)]
|
|
5
|
-
[ValidateSet('menu','start','resume','park','stop','restart','status','url','test','fulltest','toggle','clean','machinetest','armprocess','disarmprocess','processstatus','armhost','disarmhost','hoststatus','hosttest','armcoding','disarmcoding','codingstatus','codingtest','armautonomous','disarmautonomous','autonomousstatus','autonomoustest')]
|
|
5
|
+
[ValidateSet('menu','start','resume','park','stop','restart','status','url','test','fulltest','toggle','clean','machinetest','armprocess','disarmprocess','processstatus','armhost','disarmhost','hoststatus','hosttest','armcoding','disarmcoding','codingstatus','codingtest','armautonomous','disarmautonomous','autonomousstatus','autonomoustest','supervisorstart','supervisorstop','supervisorstatus','supervisorrecover')]
|
|
6
6
|
[string]$Command = 'menu'
|
|
7
7
|
)
|
|
8
8
|
|
|
@@ -19,6 +19,33 @@ function Fail([string]$Message) { throw "DEADBYTE controller: $Message" }
|
|
|
19
19
|
function Ensure-Directory([string]$Path) { if (-not (Test-Path -LiteralPath $Path -PathType Container)) { New-Item -ItemType Directory -Path $Path -Force | Out-Null } }
|
|
20
20
|
function Ledger-Path([string]$Name) { Join-Path $RuntimeDir ("{0}.instance.json" -f $Name.ToLowerInvariant()) }
|
|
21
21
|
function Log-Path([string]$Name, [string]$Kind) { Join-Path $LogDir ("{0}.{1}.log" -f $Name.ToLowerInvariant(), $Kind) }
|
|
22
|
+
function Controller-StartFailurePath { Join-Path $RuntimeDir 'controller-start-failure.json' }
|
|
23
|
+
function Read-LogTailBounded([string]$Path, [int]$MaxChars = 8192) {
|
|
24
|
+
if (-not (Test-Path -LiteralPath $Path -PathType Leaf)) { return '' }
|
|
25
|
+
try {
|
|
26
|
+
$text = (@(Get-Content -LiteralPath $Path -Encoding UTF8 -Tail 80 -ErrorAction Stop) -join [Environment]::NewLine)
|
|
27
|
+
if ($text.Length -gt $MaxChars) { return $text.Substring($text.Length - $MaxChars) }
|
|
28
|
+
return $text
|
|
29
|
+
} catch { return '' }
|
|
30
|
+
}
|
|
31
|
+
function Write-ControllerStartFailure([string]$Name, [System.Exception]$Exception) {
|
|
32
|
+
Ensure-Directory $RuntimeDir; Ensure-Directory $LogDir
|
|
33
|
+
$body = [ordered]@{
|
|
34
|
+
schema = 'deadbyte.controller-start-failure.v1'
|
|
35
|
+
command = $Name
|
|
36
|
+
failed_at_utc = [DateTime]::UtcNow.ToString('o')
|
|
37
|
+
message = [string]$Exception.Message
|
|
38
|
+
bridge_stdout_tail = Read-LogTailBounded (Log-Path 'Bridge' 'stdout')
|
|
39
|
+
bridge_stderr_tail = Read-LogTailBounded (Log-Path 'Bridge' 'stderr')
|
|
40
|
+
cloud_stdout_tail = Read-LogTailBounded (Log-Path 'Cloud' 'stdout')
|
|
41
|
+
cloud_stderr_tail = Read-LogTailBounded (Log-Path 'Cloud' 'stderr')
|
|
42
|
+
}
|
|
43
|
+
$path = Controller-StartFailurePath
|
|
44
|
+
$tmp = $path + '.tmp'
|
|
45
|
+
$json = $body | ConvertTo-Json -Depth 4
|
|
46
|
+
[System.IO.File]::WriteAllText($tmp, $json, (New-Object System.Text.UTF8Encoding($false)))
|
|
47
|
+
Move-Item -LiteralPath $tmp -Destination $path -Force
|
|
48
|
+
}
|
|
22
49
|
|
|
23
50
|
|
|
24
51
|
function Read-TextFileSafe([string]$Path) {
|
|
@@ -44,7 +71,14 @@ function Get-Config {
|
|
|
44
71
|
$workspaceRoot = [System.IO.Path]::GetFullPath($workspaceRoot)
|
|
45
72
|
if (-not (Test-Path -LiteralPath $workspaceRoot -PathType Container)) { Fail "WorkspaceRoot missing: $workspaceRoot" }
|
|
46
73
|
$cfg['WorkspaceRoot'] = $workspaceRoot
|
|
47
|
-
|
|
74
|
+
if ($cfg.ContainsKey('AutonomousSupervisorEnabled')) {
|
|
75
|
+
if ($cfg.AutonomousSupervisorEnabled -isnot [bool]) { Fail 'AutonomousSupervisorEnabled must be boolean' }
|
|
76
|
+
} else {
|
|
77
|
+
$cfg['AutonomousSupervisorEnabled'] = $false
|
|
78
|
+
}
|
|
79
|
+
$componentNames = @('Bridge','Cloud')
|
|
80
|
+
if ([bool]$cfg.AutonomousSupervisorEnabled) { $componentNames += 'Supervisor' }
|
|
81
|
+
foreach ($name in $componentNames) {
|
|
48
82
|
$spec = $cfg[$name]
|
|
49
83
|
if (-not $spec -or -not $spec.ContainsKey('FilePath') -or [string]::IsNullOrWhiteSpace([string]$spec.FilePath)) { Fail "$name FilePath missing" }
|
|
50
84
|
if (-not $spec.ContainsKey('Arguments')) { Fail "$name Arguments field missing" }
|
|
@@ -66,13 +100,14 @@ function Get-Config {
|
|
|
66
100
|
if ($dependencyCount -ne 2) { Fail 'deadbyte.named-tunnel.v2 requires exactly cloudflared plus token-file pins' }
|
|
67
101
|
} else { Fail 'Cloud Transport unsupported' }
|
|
68
102
|
}
|
|
69
|
-
if ($name -
|
|
70
|
-
if (-not $spec.ContainsKey('ScriptPath') -or [string]::IsNullOrWhiteSpace([string]$spec.ScriptPath)) { Fail
|
|
71
|
-
if (-not $spec.ContainsKey('ScriptSha256') -or [string]$spec.ScriptSha256 -cnotmatch '^[0-9a-f]{64}$') { Fail
|
|
103
|
+
if ($name -in @('Bridge','Supervisor')) {
|
|
104
|
+
if (-not $spec.ContainsKey('ScriptPath') -or [string]::IsNullOrWhiteSpace([string]$spec.ScriptPath)) { Fail "$name ScriptPath missing" }
|
|
105
|
+
if (-not $spec.ContainsKey('ScriptSha256') -or [string]$spec.ScriptSha256 -cnotmatch '^[0-9a-f]{64}$') { Fail "$name ScriptSha256 invalid" }
|
|
72
106
|
$scriptPath = [System.IO.Path]::GetFullPath([string]$spec.ScriptPath)
|
|
73
|
-
if (-not (Test-Path -LiteralPath $scriptPath -PathType Leaf)) { Fail "
|
|
107
|
+
if (-not (Test-Path -LiteralPath $scriptPath -PathType Leaf)) { Fail "$name ScriptPath missing: $scriptPath" }
|
|
108
|
+
if ($name -eq 'Supervisor' -and [System.IO.Path]::GetFileName($scriptPath) -ne 'autonomous-supervisor-host.mjs') { Fail 'Supervisor ScriptPath must target autonomous-supervisor-host.mjs' }
|
|
74
109
|
$scriptHash = Get-ExecutableHash $scriptPath
|
|
75
|
-
if ($scriptHash -ne [string]$spec.ScriptSha256) { Fail "
|
|
110
|
+
if ($scriptHash -ne [string]$spec.ScriptSha256) { Fail "$name script hash mismatch: expected $($spec.ScriptSha256), found $scriptHash" }
|
|
76
111
|
$spec['ScriptPath'] = $scriptPath
|
|
77
112
|
}
|
|
78
113
|
}
|
|
@@ -131,6 +166,24 @@ function Get-Config {
|
|
|
131
166
|
$cfg['CodingPolicyFile'] = ''
|
|
132
167
|
}
|
|
133
168
|
if ([bool]$cfg.CodingRuntimeEnabled -and [string]::IsNullOrWhiteSpace([string]$cfg.CodingPolicyFile)) { Fail 'CodingRuntimeEnabled requires CodingPolicyFile' }
|
|
169
|
+
$semanticConfigFile = if ($cfg.ContainsKey('SemanticLspConfigFile')) { [string]$cfg.SemanticLspConfigFile } else { '' }
|
|
170
|
+
$semanticConfigSha = if ($cfg.ContainsKey('SemanticLspConfigSha256')) { ([string]$cfg.SemanticLspConfigSha256).ToLowerInvariant() } else { '' }
|
|
171
|
+
if ([string]::IsNullOrWhiteSpace($semanticConfigFile) -ne [string]::IsNullOrWhiteSpace($semanticConfigSha)) { Fail 'SemanticLspConfigFile and SemanticLspConfigSha256 must be supplied together' }
|
|
172
|
+
if (-not [string]::IsNullOrWhiteSpace($semanticConfigFile)) {
|
|
173
|
+
if (-not [bool]$cfg.CodingRuntimeEnabled) { Fail 'SemanticLspConfigFile requires CodingRuntimeEnabled' }
|
|
174
|
+
if ($semanticConfigSha -cnotmatch '^[0-9a-f]{64}$') { Fail 'SemanticLspConfigSha256 invalid' }
|
|
175
|
+
$semanticConfigFile = [System.IO.Path]::GetFullPath($semanticConfigFile)
|
|
176
|
+
if (-not (Test-Path -LiteralPath $semanticConfigFile -PathType Leaf)) { Fail "SemanticLspConfigFile missing: $semanticConfigFile" }
|
|
177
|
+
$semanticItem = Get-Item -LiteralPath $semanticConfigFile -Force
|
|
178
|
+
if (($semanticItem.Attributes -band [System.IO.FileAttributes]::ReparsePoint) -ne 0) { Fail 'SemanticLspConfigFile must not be a reparse point' }
|
|
179
|
+
$semanticObserved = Get-ExecutableHash $semanticConfigFile
|
|
180
|
+
if ($semanticObserved -ne $semanticConfigSha) { Fail "semantic LSP config SHA-256 mismatch: expected $semanticConfigSha, found $semanticObserved" }
|
|
181
|
+
$cfg['SemanticLspConfigFile'] = $semanticConfigFile
|
|
182
|
+
$cfg['SemanticLspConfigSha256'] = $semanticConfigSha
|
|
183
|
+
} else {
|
|
184
|
+
$cfg['SemanticLspConfigFile'] = ''
|
|
185
|
+
$cfg['SemanticLspConfigSha256'] = ''
|
|
186
|
+
}
|
|
134
187
|
if ($cfg.ContainsKey('MachineFsRuntimeEnabled')) {
|
|
135
188
|
if ($cfg.MachineFsRuntimeEnabled -isnot [bool]) { Fail 'MachineFsRuntimeEnabled must be boolean' }
|
|
136
189
|
} else {
|
|
@@ -158,6 +211,7 @@ function Get-Config {
|
|
|
158
211
|
}
|
|
159
212
|
if ([bool]$cfg.AutonomousRuntimeEnabled -and -not [bool]$cfg.CodingRuntimeEnabled) { Fail 'AutonomousRuntimeEnabled requires CodingRuntimeEnabled' }
|
|
160
213
|
if ([bool]$cfg.AutonomousRuntimeEnabled -and [string]::IsNullOrWhiteSpace([string]$cfg.AutonomousPolicyFile)) { Fail 'AutonomousRuntimeEnabled requires AutonomousPolicyFile' }
|
|
214
|
+
if ([bool]$cfg.AutonomousSupervisorEnabled -and -not [bool]$cfg.AutonomousRuntimeEnabled) { Fail 'AutonomousSupervisorEnabled requires AutonomousRuntimeEnabled' }
|
|
161
215
|
if ([int]$cfg.StartTimeoutSeconds -lt 1 -or [int]$cfg.StartTimeoutSeconds -gt 120) { Fail 'StartTimeoutSeconds out of range' }
|
|
162
216
|
if ([int]$cfg.ProbeTimeoutSeconds -lt 1 -or [int]$cfg.ProbeTimeoutSeconds -gt 15) { Fail 'ProbeTimeoutSeconds out of range' }
|
|
163
217
|
return $cfg
|
|
@@ -264,7 +318,7 @@ function Test-OwnedInstance([string]$Name) {
|
|
|
264
318
|
if (-not $ledger) { return [pscustomobject]@{ Name=$Name; Alive=$false; Reason='no-ledger'; Ledger=$null; Observation=$null } }
|
|
265
319
|
if ($ledger.PSObject.Properties.Name -contains 'corrupt' -and $ledger.corrupt -eq $true) { return [pscustomobject]@{ Name=$Name; Alive=$false; Reason='corrupt-ledger'; Ledger=$ledger; Observation=$null } }
|
|
266
320
|
if ($ledger.schema -ne $ControllerSchema -or -not $ledger.instance_nonce) { return [pscustomobject]@{ Name=$Name; Alive=$false; Reason='ledger-schema'; Ledger=$ledger; Observation=$null } }
|
|
267
|
-
if ($Name -
|
|
321
|
+
if ($Name -in @('Bridge','Supervisor')) {
|
|
268
322
|
if (-not ($ledger.PSObject.Properties.Name -contains 'script_path') -or -not ($ledger.PSObject.Properties.Name -contains 'script_sha256')) {
|
|
269
323
|
return [pscustomobject]@{ Name=$Name; Alive=$false; Reason='ledger-schema'; Ledger=$ledger; Observation=$null }
|
|
270
324
|
}
|
|
@@ -306,8 +360,8 @@ function Write-Ledger([string]$Name, $Observation, [string]$Nonce, $Spec = $null
|
|
|
306
360
|
image_path = [string]$Observation.image_path
|
|
307
361
|
image_sha256 = [string]$Observation.image_sha256
|
|
308
362
|
}
|
|
309
|
-
if ($Name -
|
|
310
|
-
if (-not $Spec) { Fail
|
|
363
|
+
if ($Name -in @('Bridge','Supervisor')) {
|
|
364
|
+
if (-not $Spec) { Fail "$Name ledger requires launch specification" }
|
|
311
365
|
$body['script_path'] = [string]$Spec.ScriptPath
|
|
312
366
|
$body['script_sha256'] = [string]$Spec.ScriptSha256
|
|
313
367
|
}
|
|
@@ -337,9 +391,9 @@ function Start-OwnedComponent([string]$Name, $Spec, $Cfg = $null) {
|
|
|
337
391
|
$componentExecutableHash = Get-ExecutableHash ([string]$Spec.FilePath)
|
|
338
392
|
if ($componentExecutableHash -ne [string]$Spec.FileSha256) { Fail "$Name executable hash mismatch before start: expected $($Spec.FileSha256), found $componentExecutableHash" }
|
|
339
393
|
Assert-ComponentDependencies $Name $Spec 'before start'
|
|
340
|
-
if ($Name -
|
|
341
|
-
$
|
|
342
|
-
if ($
|
|
394
|
+
if ($Name -in @('Bridge','Supervisor')) {
|
|
395
|
+
$scriptHash = Get-ExecutableHash ([string]$Spec.ScriptPath)
|
|
396
|
+
if ($scriptHash -ne [string]$Spec.ScriptSha256) { Fail "$Name script hash mismatch before start: expected $($Spec.ScriptSha256), found $scriptHash" }
|
|
343
397
|
}
|
|
344
398
|
$args = [string]$Spec.Arguments
|
|
345
399
|
$start = @{ FilePath=[string]$Spec.FilePath; WorkingDirectory=[string]$Spec.WorkingDirectory; PassThru=$true; WindowStyle='Hidden'; RedirectStandardOutput=$stdout; RedirectStandardError=$stderr }
|
|
@@ -368,12 +422,25 @@ function Start-OwnedComponent([string]$Name, $Spec, $Cfg = $null) {
|
|
|
368
422
|
$previousObservationRuntimeEnv = $env:DEADBYTE_OBSERVATION_RUNTIME
|
|
369
423
|
$hadCodingPolicyEnv = Test-Path Env:DEADBYTE_CODING_POLICY
|
|
370
424
|
$previousCodingPolicyEnv = $env:DEADBYTE_CODING_POLICY
|
|
425
|
+
$hadSemanticConfigEnv = Test-Path Env:DEADBYTE_SEMANTIC_LSP_CONFIG
|
|
426
|
+
$previousSemanticLspConfigEnv = $env:DEADBYTE_SEMANTIC_LSP_CONFIG
|
|
427
|
+
$hadSemanticConfigShaEnv = Test-Path Env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256
|
|
428
|
+
$previousSemanticLspConfigShaEnv = $env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256
|
|
371
429
|
$hadAutonomousRuntimeEnv = Test-Path Env:DEADBYTE_AUTONOMOUS_RUNTIME
|
|
372
430
|
$previousAutonomousRuntimeEnv = $env:DEADBYTE_AUTONOMOUS_RUNTIME
|
|
373
431
|
$hadAutonomousPolicyEnv = Test-Path Env:DEADBYTE_AUTONOMOUS_POLICY
|
|
374
432
|
$previousAutonomousPolicyEnv = $env:DEADBYTE_AUTONOMOUS_POLICY
|
|
433
|
+
$hadSupervisorOnceEnv = Test-Path Env:DEADBYTE_SUPERVISOR_ONCE
|
|
434
|
+
$previousSupervisorOnceEnv = $env:DEADBYTE_SUPERVISOR_ONCE
|
|
435
|
+
$hadSupervisorMarkerEnv = Test-Path Env:DEADBYTE_SUPERVISOR_MARKER
|
|
436
|
+
$previousSupervisorMarkerEnv = $env:DEADBYTE_SUPERVISOR_MARKER
|
|
437
|
+
$hadAutonomousSupervisorModeEnv = Test-Path Env:DEADBYTE_AUTONOMOUS_SUPERVISOR_MODE
|
|
438
|
+
$previousAutonomousSupervisorModeEnv = $env:DEADBYTE_AUTONOMOUS_SUPERVISOR_MODE
|
|
439
|
+
$hadCapabilityProfileEnv = Test-Path Env:DEADBYTE_CAPABILITY_PROFILE
|
|
440
|
+
$previousCapabilityProfileEnv = $env:DEADBYTE_CAPABILITY_PROFILE
|
|
375
441
|
try {
|
|
376
442
|
if ($Name -eq 'Bridge' -and $Cfg) {
|
|
443
|
+
$env:DEADBYTE_CAPABILITY_PROFILE = 'compact'
|
|
377
444
|
$env:DEADBYTE_AUDIT_RUNTIME = '1'
|
|
378
445
|
$env:DEADBYTE_CORE_ROOT = [string]$Cfg.CoreRoot
|
|
379
446
|
$env:DEADBYTE_WORKSPACE_ROOT = [string]$Cfg.WorkspaceRoot
|
|
@@ -389,14 +456,42 @@ function Start-OwnedComponent([string]$Name, $Spec, $Cfg = $null) {
|
|
|
389
456
|
if (-not [string]::IsNullOrWhiteSpace([string]$Cfg.CodingPolicyFile)) {
|
|
390
457
|
$env:DEADBYTE_CODING_POLICY = [string]$Cfg.CodingPolicyFile
|
|
391
458
|
}
|
|
459
|
+
if (-not [string]::IsNullOrWhiteSpace([string]$Cfg.SemanticLspConfigFile)) {
|
|
460
|
+
$env:DEADBYTE_SEMANTIC_LSP_CONFIG = [string]$Cfg.SemanticLspConfigFile
|
|
461
|
+
$env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256 = [string]$Cfg.SemanticLspConfigSha256
|
|
462
|
+
} else {
|
|
463
|
+
Remove-Item Env:DEADBYTE_SEMANTIC_LSP_CONFIG -ErrorAction SilentlyContinue
|
|
464
|
+
Remove-Item Env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256 -ErrorAction SilentlyContinue
|
|
465
|
+
}
|
|
392
466
|
$env:DEADBYTE_AUTONOMOUS_RUNTIME = if ([bool]$Cfg.AutonomousRuntimeEnabled) { '1' } else { '0' }
|
|
467
|
+
$env:DEADBYTE_AUTONOMOUS_SUPERVISOR_MODE = if ([bool]$Cfg.AutonomousSupervisorEnabled) { 'external' } else { 'in_process' }
|
|
393
468
|
if (-not [string]::IsNullOrWhiteSpace([string]$Cfg.AutonomousPolicyFile)) {
|
|
394
469
|
$env:DEADBYTE_AUTONOMOUS_POLICY = [string]$Cfg.AutonomousPolicyFile
|
|
395
470
|
}
|
|
396
471
|
if (-not [string]::IsNullOrWhiteSpace([string]$Cfg.HostPolicyFile)) {
|
|
397
472
|
$env:DEADBYTE_PRIVILEGED_POLICY = [string]$Cfg.HostPolicyFile
|
|
398
473
|
}
|
|
474
|
+
} elseif ($Name -eq 'Supervisor' -and $Cfg) {
|
|
475
|
+
Remove-Item Env:DEADBYTE_CAPABILITY_PROFILE -ErrorAction SilentlyContinue
|
|
476
|
+
Remove-Item Env:DEADBYTE_AUDIT_RUNTIME -ErrorAction SilentlyContinue
|
|
477
|
+
Remove-Item Env:DEADBYTE_PRIVILEGED_POLICY -ErrorAction SilentlyContinue
|
|
478
|
+
Remove-Item Env:DEADBYTE_MACHINE_RUNTIME -ErrorAction SilentlyContinue
|
|
479
|
+
Remove-Item Env:DEADBYTE_AGENT_RUNTIME -ErrorAction SilentlyContinue
|
|
480
|
+
Remove-Item Env:DEADBYTE_PROCESS_RUNTIME -ErrorAction SilentlyContinue
|
|
481
|
+
Remove-Item Env:DEADBYTE_PROCESS_POLICY -ErrorAction SilentlyContinue
|
|
482
|
+
Remove-Item Env:DEADBYTE_MACHINE_FS_RUNTIME -ErrorAction SilentlyContinue
|
|
483
|
+
Remove-Item Env:DEADBYTE_OBSERVATION_RUNTIME -ErrorAction SilentlyContinue
|
|
484
|
+
Remove-Item Env:DEADBYTE_SEMANTIC_LSP_CONFIG -ErrorAction SilentlyContinue
|
|
485
|
+
Remove-Item Env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256 -ErrorAction SilentlyContinue
|
|
486
|
+
Remove-Item Env:DEADBYTE_AUTONOMOUS_SUPERVISOR_MODE -ErrorAction SilentlyContinue
|
|
487
|
+
$env:DEADBYTE_CODING_RUNTIME = '1'
|
|
488
|
+
$env:DEADBYTE_AUTONOMOUS_RUNTIME = '1'
|
|
489
|
+
$env:DEADBYTE_CODING_POLICY = [string]$Cfg.CodingPolicyFile
|
|
490
|
+
$env:DEADBYTE_AUTONOMOUS_POLICY = [string]$Cfg.AutonomousPolicyFile
|
|
491
|
+
$env:DEADBYTE_SUPERVISOR_ONCE = '0'
|
|
492
|
+
$env:DEADBYTE_SUPERVISOR_MARKER = Join-Path $RuntimeDir 'autonomous-supervisor-owner.json'
|
|
399
493
|
} else {
|
|
494
|
+
Remove-Item Env:DEADBYTE_CAPABILITY_PROFILE -ErrorAction SilentlyContinue
|
|
400
495
|
Remove-Item Env:DEADBYTE_AUDIT_RUNTIME -ErrorAction SilentlyContinue
|
|
401
496
|
}
|
|
402
497
|
$proc = Start-Process @start
|
|
@@ -425,10 +520,22 @@ function Start-OwnedComponent([string]$Name, $Spec, $Cfg = $null) {
|
|
|
425
520
|
else { Remove-Item Env:DEADBYTE_OBSERVATION_RUNTIME -ErrorAction SilentlyContinue }
|
|
426
521
|
if ($hadCodingPolicyEnv) { $env:DEADBYTE_CODING_POLICY = $previousCodingPolicyEnv }
|
|
427
522
|
else { Remove-Item Env:DEADBYTE_CODING_POLICY -ErrorAction SilentlyContinue }
|
|
523
|
+
if ($hadSemanticConfigEnv) { $env:DEADBYTE_SEMANTIC_LSP_CONFIG = $previousSemanticLspConfigEnv }
|
|
524
|
+
else { Remove-Item Env:DEADBYTE_SEMANTIC_LSP_CONFIG -ErrorAction SilentlyContinue }
|
|
525
|
+
if ($hadSemanticConfigShaEnv) { $env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256 = $previousSemanticLspConfigShaEnv }
|
|
526
|
+
else { Remove-Item Env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256 -ErrorAction SilentlyContinue }
|
|
428
527
|
if ($hadAutonomousRuntimeEnv) { $env:DEADBYTE_AUTONOMOUS_RUNTIME = $previousAutonomousRuntimeEnv }
|
|
429
528
|
else { Remove-Item Env:DEADBYTE_AUTONOMOUS_RUNTIME -ErrorAction SilentlyContinue }
|
|
430
529
|
if ($hadAutonomousPolicyEnv) { $env:DEADBYTE_AUTONOMOUS_POLICY = $previousAutonomousPolicyEnv }
|
|
431
530
|
else { Remove-Item Env:DEADBYTE_AUTONOMOUS_POLICY -ErrorAction SilentlyContinue }
|
|
531
|
+
if ($hadSupervisorOnceEnv) { $env:DEADBYTE_SUPERVISOR_ONCE = $previousSupervisorOnceEnv }
|
|
532
|
+
else { Remove-Item Env:DEADBYTE_SUPERVISOR_ONCE -ErrorAction SilentlyContinue }
|
|
533
|
+
if ($hadSupervisorMarkerEnv) { $env:DEADBYTE_SUPERVISOR_MARKER = $previousSupervisorMarkerEnv }
|
|
534
|
+
else { Remove-Item Env:DEADBYTE_SUPERVISOR_MARKER -ErrorAction SilentlyContinue }
|
|
535
|
+
if ($hadAutonomousSupervisorModeEnv) { $env:DEADBYTE_AUTONOMOUS_SUPERVISOR_MODE = $previousAutonomousSupervisorModeEnv }
|
|
536
|
+
else { Remove-Item Env:DEADBYTE_AUTONOMOUS_SUPERVISOR_MODE -ErrorAction SilentlyContinue }
|
|
537
|
+
if ($hadCapabilityProfileEnv) { $env:DEADBYTE_CAPABILITY_PROFILE = $previousCapabilityProfileEnv }
|
|
538
|
+
else { Remove-Item Env:DEADBYTE_CAPABILITY_PROFILE -ErrorAction SilentlyContinue }
|
|
432
539
|
}
|
|
433
540
|
Start-Sleep -Milliseconds 150
|
|
434
541
|
$obs = Get-ProcessObservation ([int]$proc.Id)
|
|
@@ -885,6 +992,53 @@ function Show-AutonomousStatus($Cfg) {
|
|
|
885
992
|
return $a
|
|
886
993
|
}
|
|
887
994
|
|
|
995
|
+
function Get-AutonomousSupervisorStatus($Cfg) {
|
|
996
|
+
if (-not [bool]$Cfg.AutonomousSupervisorEnabled) { return [pscustomobject]@{ Configured=$false; Running=$false; Reason='disabled'; Owned=$null } }
|
|
997
|
+
$owned = Test-OwnedInstance 'Supervisor'
|
|
998
|
+
[pscustomobject]@{ Configured=$true; Running=[bool]$owned.Alive; Reason=[string]$owned.Reason; Owned=$owned }
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
function Start-AutonomousSupervisor($Cfg) {
|
|
1002
|
+
if (-not [bool]$Cfg.AutonomousSupervisorEnabled) { Fail 'autonomous supervisor is disabled by trusted config' }
|
|
1003
|
+
if (-not [bool]$Cfg.AutonomousRuntimeEnabled) { Fail 'autonomous supervisor requires AutonomousRuntimeEnabled' }
|
|
1004
|
+
Start-OwnedComponent 'Supervisor' $Cfg.Supervisor $Cfg | Out-Null
|
|
1005
|
+
$status = Get-AutonomousSupervisorStatus $Cfg
|
|
1006
|
+
if (-not $status.Running) { Fail "autonomous supervisor start failed: $($status.Reason)" }
|
|
1007
|
+
return $status
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
function Stop-AutonomousSupervisor($Cfg) {
|
|
1011
|
+
if (-not [bool]$Cfg.AutonomousSupervisorEnabled) { return Get-AutonomousSupervisorStatus $Cfg }
|
|
1012
|
+
Stop-OwnedComponent 'Supervisor'
|
|
1013
|
+
return Get-AutonomousSupervisorStatus $Cfg
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
function Show-AutonomousSupervisorStatus($Cfg) {
|
|
1017
|
+
$s = Get-AutonomousSupervisorStatus $Cfg
|
|
1018
|
+
$label = if (-not $s.Configured) { 'DISABLED' } elseif ($s.Running) { 'RUNNING' } else { 'STOPPED' }
|
|
1019
|
+
Write-Host ("Loop supervisor: {0} [{1}]" -f $label, $s.Reason)
|
|
1020
|
+
return $s
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
function Recover-AutonomousSupervisor($Cfg) {
|
|
1024
|
+
if (-not [bool]$Cfg.AutonomousSupervisorEnabled) { Fail 'autonomous supervisor recovery requires AutonomousSupervisorEnabled' }
|
|
1025
|
+
Start-Deadbyte $Cfg | Out-Null
|
|
1026
|
+
try { Disarm-Autonomous $Cfg -Quiet } catch {}
|
|
1027
|
+
try { Disarm-Coding $Cfg } catch {}
|
|
1028
|
+
try { Disarm-Process $Cfg } catch {}
|
|
1029
|
+
try { Disarm-Host $Cfg } catch {}
|
|
1030
|
+
$runtime = Get-ObservedState $Cfg
|
|
1031
|
+
if ($runtime.State -ne 'ONLINE') { Fail "supervisor recovery requires ONLINE runtime; observed $($runtime.State)" }
|
|
1032
|
+
$process = Get-ProcessGrantStatus $Cfg
|
|
1033
|
+
$coding = Get-CodingLeaseStatus $Cfg
|
|
1034
|
+
$autonomous = Get-AutonomousLeaseStatus $Cfg
|
|
1035
|
+
$host = Get-HostArmStatus $Cfg
|
|
1036
|
+
if ($process.Armed -or $coding.Armed -or $autonomous.Armed -or $host.Armed) { Fail 'supervisor recovery final authority is not fully disarmed' }
|
|
1037
|
+
$supervisor = Start-AutonomousSupervisor $Cfg
|
|
1038
|
+
Write-Host 'AUTONOMOUS SUPERVISOR RECOVERY PASS: runtime ONLINE; privileged planes DISARMED.'
|
|
1039
|
+
return [pscustomobject]@{ Runtime=$runtime; Supervisor=$supervisor; Process=$process; Coding=$coding; Autonomous=$autonomous; Host=$host }
|
|
1040
|
+
}
|
|
1041
|
+
|
|
888
1042
|
function Show-State($Cfg) {
|
|
889
1043
|
$s = Get-ObservedState $Cfg
|
|
890
1044
|
$bp = if ($s.Bridge.Alive) { $s.Bridge.Ledger.pid } else { '-' }
|
|
@@ -902,6 +1056,7 @@ function Show-State($Cfg) {
|
|
|
902
1056
|
Write-Host ("Machine FS rt : {0}" -f $(if ([bool]$Cfg.MachineFsRuntimeEnabled) { 'ENABLED' } else { 'DISABLED' }))
|
|
903
1057
|
Write-Host ("Observation rt: {0}" -f $(if ([bool]$Cfg.ObservationRuntimeEnabled) { 'ENABLED' } else { 'DISABLED' }))
|
|
904
1058
|
Write-Host ("Autonomous rt : {0}" -f $(if ([bool]$Cfg.AutonomousRuntimeEnabled) { 'ENABLED' } else { 'DISABLED' }))
|
|
1059
|
+
Show-AutonomousSupervisorStatus $Cfg | Out-Null
|
|
905
1060
|
Show-ProcessStatus $Cfg | Out-Null
|
|
906
1061
|
Show-CodingStatus $Cfg | Out-Null
|
|
907
1062
|
Show-AutonomousStatus $Cfg | Out-Null
|
|
@@ -974,7 +1129,7 @@ function Invoke-AutonomousSmoke($Cfg) {
|
|
|
974
1129
|
|
|
975
1130
|
function Clean-Stale {
|
|
976
1131
|
Ensure-Directory $RuntimeDir
|
|
977
|
-
foreach ($name in @('Bridge','Cloud')) {
|
|
1132
|
+
foreach ($name in @('Bridge','Cloud','Supervisor')) {
|
|
978
1133
|
$o = Test-OwnedInstance $name
|
|
979
1134
|
if ($o.Ledger -and -not $o.Alive -and $o.Reason -eq 'process-missing') {
|
|
980
1135
|
Remove-Item -LiteralPath (Ledger-Path $name) -Force -ErrorAction SilentlyContinue
|
|
@@ -989,11 +1144,11 @@ function Run-Command([string]$Name) {
|
|
|
989
1144
|
Assert-ControllerRootBound $cfg
|
|
990
1145
|
Ensure-Directory $RuntimeDir; Ensure-Directory $LogDir
|
|
991
1146
|
switch ($Name) {
|
|
992
|
-
'start' { Start-Deadbyte $cfg | Out-Null; Show-State $cfg | Out-Null }
|
|
993
|
-
'resume' { Start-Deadbyte $cfg | Out-Null; Show-State $cfg | Out-Null }
|
|
1147
|
+
'start' { Start-Deadbyte $cfg | Out-Null; if ([bool]$cfg.AutonomousSupervisorEnabled) { Start-AutonomousSupervisor $cfg | Out-Null }; Show-State $cfg | Out-Null }
|
|
1148
|
+
'resume' { Start-Deadbyte $cfg | Out-Null; if ([bool]$cfg.AutonomousSupervisorEnabled) { Start-AutonomousSupervisor $cfg | Out-Null }; Show-State $cfg | Out-Null }
|
|
994
1149
|
'park' { Park-Deadbyte $cfg | Out-Null; Show-State $cfg | Out-Null }
|
|
995
|
-
'stop' { Stop-Deadbyte $cfg | Out-Null; Show-State $cfg | Out-Null }
|
|
996
|
-
'restart' { Stop-Deadbyte $cfg | Out-Null; Start-Deadbyte $cfg | Out-Null; Show-State $cfg | Out-Null }
|
|
1150
|
+
'stop' { if ([bool]$cfg.AutonomousSupervisorEnabled) { Stop-AutonomousSupervisor $cfg | Out-Null }; Stop-Deadbyte $cfg | Out-Null; Show-State $cfg | Out-Null }
|
|
1151
|
+
'restart' { if ([bool]$cfg.AutonomousSupervisorEnabled) { Stop-AutonomousSupervisor $cfg | Out-Null }; Stop-Deadbyte $cfg | Out-Null; Start-Deadbyte $cfg | Out-Null; if ([bool]$cfg.AutonomousSupervisorEnabled) { Start-AutonomousSupervisor $cfg | Out-Null }; Show-State $cfg | Out-Null }
|
|
997
1152
|
'status' { Show-State $cfg | Out-Null }
|
|
998
1153
|
'url' { $u=Get-CurrentUrl $cfg; if (-not $u) { Fail 'URL unavailable' }; Write-Output $u }
|
|
999
1154
|
'test' { Invoke-Smoke $cfg $false }
|
|
@@ -1016,17 +1171,33 @@ function Run-Command([string]$Name) {
|
|
|
1016
1171
|
'disarmautonomous' { Disarm-Autonomous $cfg; Show-AutonomousStatus $cfg | Out-Null }
|
|
1017
1172
|
'autonomousstatus' { Show-AutonomousStatus $cfg | Out-Null }
|
|
1018
1173
|
'autonomoustest' { Invoke-AutonomousSmoke $cfg }
|
|
1174
|
+
'supervisorstart' { Start-AutonomousSupervisor $cfg | Out-Null; Show-AutonomousSupervisorStatus $cfg | Out-Null }
|
|
1175
|
+
'supervisorstop' { Stop-AutonomousSupervisor $cfg | Out-Null; Show-AutonomousSupervisorStatus $cfg | Out-Null }
|
|
1176
|
+
'supervisorstatus' { Show-AutonomousSupervisorStatus $cfg | Out-Null }
|
|
1177
|
+
'supervisorrecover' { Recover-AutonomousSupervisor $cfg | Out-Null; Show-State $cfg | Out-Null }
|
|
1019
1178
|
default { Fail "unknown command '$Name'" }
|
|
1020
1179
|
}
|
|
1021
1180
|
}
|
|
1022
1181
|
|
|
1023
|
-
if ($Command -ne 'menu') {
|
|
1182
|
+
if ($Command -ne 'menu') {
|
|
1183
|
+
$recordsStartFailure = $Command -in @('start','resume','restart')
|
|
1184
|
+
if ($recordsStartFailure) { Remove-Item -LiteralPath (Controller-StartFailurePath) -Force -ErrorAction SilentlyContinue }
|
|
1185
|
+
try {
|
|
1186
|
+
Run-Command $Command
|
|
1187
|
+
exit 0
|
|
1188
|
+
} catch {
|
|
1189
|
+
if ($recordsStartFailure) {
|
|
1190
|
+
try { Write-ControllerStartFailure $Command $_.Exception } catch {}
|
|
1191
|
+
}
|
|
1192
|
+
throw
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1024
1195
|
|
|
1025
1196
|
while ($true) {
|
|
1026
1197
|
Clear-Host
|
|
1027
1198
|
$cfg = Get-Config
|
|
1028
1199
|
Assert-ControllerRootBound $cfg
|
|
1029
|
-
Write-Host 'DEADBYTE MCP ON-DEMAND CONTROLLER V0.
|
|
1200
|
+
Write-Host 'DEADBYTE MCP ON-DEMAND CONTROLLER V0.10.0 / R36'
|
|
1030
1201
|
Write-Host '======================================'
|
|
1031
1202
|
Show-State $cfg | Out-Null
|
|
1032
1203
|
Write-Host ''
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "deadbyte.process-policy.v1",
|
|
3
3
|
"enabled": true,
|
|
4
|
-
"grant_file": "
|
|
5
|
-
"state_dir": "
|
|
4
|
+
"grant_file": "D:\\Projects\\deadbyte-mcp-r36-dev\\controller\\runtime\\process-grant.json",
|
|
5
|
+
"state_dir": "D:\\Projects\\deadbyte-mcp-r36-dev\\controller\\runtime\\process-state",
|
|
6
6
|
"native_host": {
|
|
7
|
-
"path": "
|
|
8
|
-
"sha256": "
|
|
7
|
+
"path": "D:\\Projects\\deadbyte-mcp-r36-dev\\bin\\deadbyte-process-host.exe",
|
|
8
|
+
"sha256": "d37cb084bfd316d8448f2381a915402c61bb306ff8a5721e4b4a364ab192748b"
|
|
9
9
|
},
|
|
10
10
|
"roots": {
|
|
11
11
|
"core": {
|
|
12
|
-
"path": "
|
|
12
|
+
"path": "D:\\Projects\\deadbyte-mcp-r36-dev",
|
|
13
13
|
"deny_paths": [
|
|
14
14
|
"node_modules",
|
|
15
15
|
"controller/runtime",
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "deadbyte.semantic-lsp-config.v1",
|
|
3
|
+
"servers": [
|
|
4
|
+
{
|
|
5
|
+
"id": "pyright",
|
|
6
|
+
"language_id": "python",
|
|
7
|
+
"extensions": [".py"],
|
|
8
|
+
"executable_path": "C:\\Program Files\\nodejs\\node.exe",
|
|
9
|
+
"executable_sha256": "9a4eb5f1c29c6a2e93852ead46b999e284a6a5ca8bab4d4e241d587d025a52de",
|
|
10
|
+
"args": ["D:\\Projects\\deadbyte-r35-tools\\pyright-1.1.414\\node_modules\\pyright\\langserver.index.js", "--stdio"],
|
|
11
|
+
"env": {
|
|
12
|
+
"PATH": "C:\\Program Files\\Python311;C:\\Windows\\System32;C:\\Windows",
|
|
13
|
+
"SystemRoot": "C:\\Windows",
|
|
14
|
+
"USERPROFILE": "C:\\Users\\DEADBYTE"
|
|
15
|
+
},
|
|
16
|
+
"dependencies": [
|
|
17
|
+
{"path":"D:\\Projects\\deadbyte-r35-tools\\pyright-1.1.414\\node_modules\\pyright\\langserver.index.js","expected_sha256":"f200762078eb9880faf421a5b30f9ef3055b1d85c6f10780d75db4da8d8499f1"},
|
|
18
|
+
{"path":"D:\\Projects\\deadbyte-r35-tools\\pyright-1.1.414\\node_modules\\pyright\\dist\\pyright-langserver.js","expected_sha256":"467344c79457ec74f7f7b6cb0f52c3c5ebc7ea77bf53edeb6d2dc6217687b507"},
|
|
19
|
+
{"path":"D:\\Projects\\deadbyte-r35-tools\\pyright-1.1.414\\node_modules\\pyright\\dist\\pyright-internal.js","expected_sha256":"41fb260ad72f2a16c5657e1f2fe837104d7529255d0fcd955f48432b276e7cae"},
|
|
20
|
+
{"path":"D:\\Projects\\deadbyte-r35-tools\\pyright-1.1.414\\node_modules\\pyright\\dist\\vendor.js","expected_sha256":"1c691bf9e3fa954dec751ace203beb5591b46a73e3848af5d1ee011d62540798"}
|
|
21
|
+
],
|
|
22
|
+
"initialization_options": {},
|
|
23
|
+
"request_timeout_ms": 30000,
|
|
24
|
+
"max_message_bytes": 8388608,
|
|
25
|
+
"required": true
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "rust-analyzer",
|
|
29
|
+
"language_id": "rust",
|
|
30
|
+
"extensions": [".rs"],
|
|
31
|
+
"executable_path": "C:\\Users\\DEADBYTE\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\bin\\rust-analyzer.exe",
|
|
32
|
+
"executable_sha256": "d4f688ff66dca6a35d4caee9c39a98b67418dcb942537016ba61c01961930091",
|
|
33
|
+
"args": [],
|
|
34
|
+
"env": {
|
|
35
|
+
"PATH": "C:\\Users\\DEADBYTE\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\bin;C:\\Windows\\System32;C:\\Windows",
|
|
36
|
+
"SystemRoot": "C:\\Windows",
|
|
37
|
+
"USERPROFILE": "C:\\Users\\DEADBYTE",
|
|
38
|
+
"CARGO_HOME": "C:\\Users\\DEADBYTE\\.cargo",
|
|
39
|
+
"RUSTUP_HOME": "C:\\Users\\DEADBYTE\\.rustup"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": [
|
|
42
|
+
{"path":"C:\\Users\\DEADBYTE\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\bin\\cargo.exe","expected_sha256":"dc19c8e6d66802d120bf0696b1924b748bd90f3ca16f21391e54a290ff12b7c5"},
|
|
43
|
+
{"path":"C:\\Users\\DEADBYTE\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\bin\\rustc.exe","expected_sha256":"e3ebbd547ea7b73c034d588ba569602b379f3b05ad1a3b5f8dcfab9d4478d74a"},
|
|
44
|
+
{"path":"C:\\Users\\DEADBYTE\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\libexec\\rust-analyzer-proc-macro-srv.exe","expected_sha256":"3e9e3737a3f05928833ec44fa0bea67bfdb2b5b6bae194edc0fb82565ce04487"}
|
|
45
|
+
],
|
|
46
|
+
"initialization_options": {},
|
|
47
|
+
"startup_settle_ms": 3000,
|
|
48
|
+
"null_result_retry_ms": 100,
|
|
49
|
+
"null_result_max_attempts": 20,
|
|
50
|
+
"retry_empty_results": true,
|
|
51
|
+
"request_timeout_ms": 60000,
|
|
52
|
+
"max_message_bytes": 8388608,
|
|
53
|
+
"required": true
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "clangd",
|
|
57
|
+
"language_id": "cpp",
|
|
58
|
+
"extensions": [".c", ".h", ".cc", ".cpp", ".cxx", ".hpp", ".hh", ".hxx"],
|
|
59
|
+
"executable_path": "C:\\Program Files\\LLVM\\bin\\clangd.exe",
|
|
60
|
+
"executable_sha256": "91eb3cbb68ca5e50663126705127703d9c94ae0fc0d267e6602d38bcfcb74524",
|
|
61
|
+
"args": ["--background-index=false"],
|
|
62
|
+
"env": {
|
|
63
|
+
"PATH": "C:\\Program Files\\LLVM\\bin;C:\\Windows\\System32;C:\\Windows",
|
|
64
|
+
"SystemRoot": "C:\\Windows",
|
|
65
|
+
"USERPROFILE": "C:\\Users\\DEADBYTE"
|
|
66
|
+
},
|
|
67
|
+
"dependencies": [],
|
|
68
|
+
"initialization_options": {},
|
|
69
|
+
"null_result_retry_ms": 100,
|
|
70
|
+
"null_result_max_attempts": 10,
|
|
71
|
+
"retry_empty_results": true,
|
|
72
|
+
"request_timeout_ms": 30000,
|
|
73
|
+
"max_message_bytes": 8388608,
|
|
74
|
+
"required": true
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "gopls",
|
|
78
|
+
"language_id": "go",
|
|
79
|
+
"extensions": [".go"],
|
|
80
|
+
"executable_path": "D:\\Projects\\deadbyte-r35-tools\\gopls-v0.23.0\\gopls.exe",
|
|
81
|
+
"executable_sha256": "1e38a0b17f7b453f9228e68a907642de9c2f95852e9b83b1e048d68263b7270b",
|
|
82
|
+
"args": [],
|
|
83
|
+
"env": {
|
|
84
|
+
"PATH": "D:\\Projects\\deadbyte-r35-tools\\go1.27.1\\bin;C:\\Windows\\System32;C:\\Windows",
|
|
85
|
+
"SystemRoot": "C:\\Windows",
|
|
86
|
+
"USERPROFILE": "C:\\Users\\DEADBYTE"
|
|
87
|
+
},
|
|
88
|
+
"dependencies": [],
|
|
89
|
+
"initialization_options": {},
|
|
90
|
+
"request_timeout_ms": 30000,
|
|
91
|
+
"max_message_bytes": 8388608,
|
|
92
|
+
"required": false
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# ADR-0001: Production baseline seams
|
|
2
|
+
|
|
3
|
+
Status: accepted for R34 production baseline.
|
|
4
|
+
|
|
5
|
+
## Decision
|
|
6
|
+
|
|
7
|
+
DEADBYTE MCP is one product with explicit seams rather than one giant privileged agent process.
|
|
8
|
+
|
|
9
|
+
- **protocol**: MCP 2026-07-28 negotiation, strict schemas, stdio first, remote transport through the pinned Bridge/tunnel path.
|
|
10
|
+
- **tools**: small typed capabilities with bounded input/output and structured errors.
|
|
11
|
+
- **filesystem**: root-relative policy, deny paths, traversal/symlink defenses, atomic preconditioned mutation.
|
|
12
|
+
- **process**: owned sessions only, bounded output, fixed policy actions, cancellation/termination, no caller-supplied shell command string.
|
|
13
|
+
- **semantic**: compiler/language-service navigation scoped to coding roots; semantic mutation delegates to signed coding-plane edit primitives.
|
|
14
|
+
- **remote**: authenticated persistent device path with guardian cleanup, immutable release identity, rollback, and restore.
|
|
15
|
+
- **policy**: process, coding, autonomous, and host authority are independently armed/revoked and cannot widen configured roots or executables.
|
|
16
|
+
- **telemetry**: structured audit records and signed receipts retain forensic detail; the default human console is compact and never dumps payloads or SHA text unless verbose diagnostics are explicitly requested.
|
|
17
|
+
- **autonomous loop**: one durable plan/execute/replan loop with authenticated journal state and an out-of-band Loop Supervisor. Failure changes the hypothesis; blind retries are prohibited.
|
|
18
|
+
|
|
19
|
+
## Context strategy
|
|
20
|
+
|
|
21
|
+
CONTEXT.md is the domain-language source of truth. MCP resources disclose it on demand. Tools return bounded projections, pagination, hashes/receipts where machine verification needs them, and compact user logs where humans need status. Whole-repository prompt stuffing is explicitly rejected.
|
|
22
|
+
|
|
23
|
+
## Tracer bullet
|
|
24
|
+
|
|
25
|
+
The minimum production path is a real MCP client that negotiates the protocol, lists tools, reads a source file, performs an exact surgical edit under a file-digest precondition, runs a pinned command, verifies signed receipts, and reads the committed result back. The release gate must keep this path green.
|
|
26
|
+
|
|
27
|
+
## Consequences
|
|
28
|
+
|
|
29
|
+
This architecture accepts more explicit policy/evidence plumbing in exchange for reproducible behavior, reversible releases, and smaller failure domains. Semantic coverage may be backend-specific; unsupported languages must fail honestly or use an explicitly configured pinned adapter rather than silently falling back to grep and calling it semantic navigation.
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# DEADBYTE MCP V0.
|
|
1
|
+
# DEADBYTE MCP V0.10.0 / R36 ARCHITECTURE
|
|
2
2
|
|
|
3
3
|
```mermaid
|
|
4
4
|
flowchart TD
|
|
@@ -10,7 +10,7 @@ flowchart TD
|
|
|
10
10
|
D --> F[Optional Host 3 Tools]
|
|
11
11
|
D --> G[Optional Agent 7 Tools]
|
|
12
12
|
D --> PR[Optional Process 6 Tools]
|
|
13
|
-
D --> V[Optional Coding
|
|
13
|
+
D --> V[Optional Coding 22 Tools]
|
|
14
14
|
D --> MF[Optional Machine FS 8 Tools]
|
|
15
15
|
D --> OB[Optional Observation 6 Tools]
|
|
16
16
|
D --> AA[Optional Autonomous 12 Tools]
|
|
@@ -42,8 +42,9 @@ The lifecycle controller is not execution authority. It starts, parks, resumes,
|
|
|
42
42
|
observes, or stops verified owned processes and feature-gates the agent catalog;
|
|
43
43
|
it cannot manufacture arbitrary MCP capabilities. The npx foreground `remote` session is an
|
|
44
44
|
operator-side orchestrator over existing controller commands: it acquires the four explicit
|
|
45
|
-
standing grants in dependency order, verifies their observed ARMED state,
|
|
46
|
-
|
|
45
|
+
standing grants in dependency order, verifies their observed ARMED state, shows compact completed-tool
|
|
46
|
+
results by default, and revokes all four grants plus parks the Bridge on graceful session exit. Detailed
|
|
47
|
+
audit/runtime and Bridge records remain available through `remote --verbose` and the persistent evidence store.
|
|
47
48
|
A detached guardian is bound to the foreground owner by a random session nonce. The v2 marker
|
|
48
49
|
records owner PID, guardian PID, and nonce; if the owner is hard-killed before graceful cleanup,
|
|
49
50
|
the guardian independently invokes only the fixed revoke+park controller sequence and removes the
|
|
@@ -54,7 +55,7 @@ invocation may recover a stale owner only when no live guardian remains.
|
|
|
54
55
|
|
|
55
56
|
Only complete combinations of base plus optional machine, host, agent, process, coding,
|
|
56
57
|
machine-filesystem, observation, and autonomous surfaces are valid at the HTTP bridge. A fully
|
|
57
|
-
enabled
|
|
58
|
+
enabled R34 runtime exposes exactly 73 tools. Process authority is independently granted;
|
|
58
59
|
machine-filesystem and observation reuse coding-policy roots; autonomous requires the complete
|
|
59
60
|
coding surface. Partial, dependency-invalid, unknown, or extra catalogs fail closed.
|
|
60
61
|
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# R36 Capability Evidence
|
|
2
|
+
|
|
3
|
+
Status: development evidence for R36 / planned package version 0.10.0. This document is not a release or Final claim. Release authority remains the R36 freeze, Windows gate, activation/rollback/restore, independent final closure, and npm byte-identity gates.
|
|
4
|
+
|
|
5
|
+
## Reproducible DEADBYTE observation
|
|
6
|
+
|
|
7
|
+
The approved R36 production-coding corpus contains 30 required cases. The latest hermetic run completed with:
|
|
8
|
+
|
|
9
|
+
- cases: 30
|
|
10
|
+
- correct: 30
|
|
11
|
+
- capability_reachable: 30
|
|
12
|
+
- evidence_verified: 30
|
|
13
|
+
- stable verdict identity SHA-256: `3a1d668fcc0c3c38362d0c642c5247357ed7ec6063d89b544c7a1c090521c66e`
|
|
14
|
+
- fixture identity SHA-256: `4a12567e285a4b7b59d9285e08f918357e7b560d2cb9b65f017367188839ef7e`
|
|
15
|
+
- two consecutive passing observation SHA-256 values: `710d0f3ef7bbe1fa3a6b782ba6442a8161d0d5556622e3ca95f2f3baf97cbae3` and `44b52d9507dc04baeeebb5617c63d7d59dbe9b29878fc9420bc5bac3ff7fee0b` (timing-sensitive by design)
|
|
16
|
+
|
|
17
|
+
The corpus covers repository exploration, literal/regex/path search, deterministic paging, bounded multi-read, stat/reparse handling, stale-edit rejection, Native Diff file and topology transactions, semantic navigation/diagnostics/implementations/rename, process lifecycle/actions/recovery, autonomous repair, release-gate refusal, provider interruption recovery, remote replay/deduplication, compact capability closure, Live Logs ordering/redaction, receipt rejection, and hermetic rollback/restore mechanism proof.
|
|
18
|
+
|
|
19
|
+
The benchmark runner requires both test success and a named pass witness. A zero exit caused only by a skipped or unmatched test is not accepted as evidence. Correctness, reachability, and evidence verification are recorded as separate dimensions rather than collapsed into a marketing score.
|
|
20
|
+
|
|
21
|
+
## External reference baseline
|
|
22
|
+
|
|
23
|
+
The comparison references are public upstream projects:
|
|
24
|
+
|
|
25
|
+
- Desktop Commander local MCP: https://github.com/wonderwhy-er/DesktopCommanderMCP
|
|
26
|
+
- Remote Desktop Commander: https://github.com/desktop-commander/remote-desktop-commander
|
|
27
|
+
- Serena: https://github.com/oraios/serena
|
|
28
|
+
|
|
29
|
+
`documented` means a capability is described by the upstream public project documentation/source used as a behavioral reference. `direct_observation` means we executed the referenced implementation or service ourselves and retained reproducible local evidence. These evidence classes are not interchangeable.
|
|
30
|
+
|
|
31
|
+
For this R36 development checkpoint, the DEADBYTE 30-case result above is `direct_observation`. Competitor capability descriptions used for design comparison are `documented` unless an explicit retained direct run is attached to a later release evidence record. Unavailable service state, quota, account requirements, or missing local authority must never be converted into a passing direct observation.
|
|
32
|
+
|
|
33
|
+
## Comparison discipline
|
|
34
|
+
|
|
35
|
+
R36 is evaluated for production software-engineering autonomy, not unrelated document-editing or generic desktop-administration breadth. Tool count is not a quality metric and is not used as a release verdict.
|
|
36
|
+
|
|
37
|
+
The mechanisms tested directly in DEADBYTE include SHA-256 mutation preconditions, Native Diff rollback and independent verification, separately revocable process/coding/autonomous/host authority, typed capability routing, signed journals/receipts, bounded long-process observation, semantic rename through Native Diff, capability-aware autonomous execution, resumable Live Logs, compact-surface closure, and immutable release rollback/restore machinery.
|
|
38
|
+
|
|
39
|
+
Desktop Commander, Remote Desktop Commander, and Serena remain useful comparison references for different strengths and breadth. Any public comparison made from R36 must name the supporting DEADBYTE benchmark case/evidence identity and identify the competitor side as `documented` or `direct_observation`. A difference in mechanism is not by itself a general product ranking.
|
|
40
|
+
|
|
41
|
+
## Release boundary
|
|
42
|
+
|
|
43
|
+
Case 30 is a hermetic rollback/restore mechanism test. It does not replace the production release proof. Before R36 can become Final, one exact frozen 0.10.0 candidate must still pass the full source regression and Windows gate, activate as an immutable slot, roll back to the exact sealed R35 predecessor, restore the exact same R36 candidate, pass independent final-closure verification, and then be packed and published from that verified candidate with registry tarball byte identity proved.
|