deadbyte-mcp 0.8.10 → 0.9.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 +346 -82
- package/R34-BASELINE.json +9 -0
- package/README.txt +135 -9
- package/bench/fixtures/corpus.json +17 -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 +10 -4
- package/controller/deadbyte-controller.config.psd1.example +14 -0
- package/controller/deadbyte-controller.ps1 +144 -19
- 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/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/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/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 +4 -2
- package/scripts/final-closure-verify.mjs +10 -10
- package/scripts/final-closure.mjs +11 -11
- package/scripts/gate-windows.ps1 +3 -3
- package/scripts/release-parity.mjs +14 -14
- 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 +255 -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-output-contracts.mjs +22 -3
- package/src/autonomous-plan.mjs +181 -0
- package/src/autonomous-planner-contracts.mjs +44 -0
- package/src/autonomous-planner.mjs +91 -6
- package/src/autonomous-policy.mjs +15 -2
- package/src/autonomous-progress.mjs +127 -0
- package/src/autonomous-runtime.mjs +601 -48
- package/src/autonomous-supervisor-host.mjs +70 -0
- package/src/autonomous-supervisor.mjs +31 -8
- package/src/capability-benchmark-runner.mjs +108 -0
- package/src/capability-benchmark.mjs +50 -0
- package/src/coding-mcp-tools.mjs +46 -3
- package/src/coding-output-contracts.mjs +45 -0
- package/src/context-provenance.mjs +86 -0
- package/src/deadbyte-cli.mjs +117 -25
- 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/mcp-server.mjs +17 -3
- package/src/observation-smoke-client.mjs +3 -2
- package/src/operator-surface.mjs +37 -0
- package/src/provider-circuit.mjs +125 -0
- package/src/release-generation.mjs +44 -5
- package/src/remote-mcp-autonomous-smoke-client.mjs +53 -14
- 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-smoke-client.mjs +2 -1
- package/src/remote-result-journal.mjs +114 -0
- package/src/runtime-update.mjs +58 -8
- package/src/semantic-backend-registry.mjs +39 -0
- package/src/semantic-code.mjs +179 -0
- package/src/semantic-lsp-backend.mjs +183 -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-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-runner.test.mjs +49 -0
- package/test/capability-benchmark.test.mjs +47 -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/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 +2 -1
- package/test/document-adapter.test.mjs +23 -0
- package/test/fixtures/lsp-framed-server.mjs +33 -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 +120 -0
- package/test/lsp-stdio-client.test.mjs +72 -0
- package/test/multi-file-read.test.mjs +41 -0
- package/test/observation-integration.test.mjs +3 -3
- package/test/production-docs.test.mjs +48 -0
- package/test/prompts-resources.test.mjs +35 -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 +3 -3
- package/test/r33-finalization.test.mjs +19 -16
- package/test/release-generation.test.mjs +23 -2
- package/test/release-version.test.mjs +24 -17
- package/test/remote-r24-catalog.test.mjs +5 -4
- package/test/remote-result-journal.test.mjs +58 -0
- package/test/remote-session-cli.test.mjs +112 -17
- package/test/runtime-self-update.test.mjs +63 -0
- package/test/semantic-backend-registry.test.mjs +29 -0
- package/test/semantic-code.test.mjs +66 -0
- package/test/semantic-lsp-backend.test.mjs +99 -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-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
|
@@ -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
|
|
|
@@ -44,7 +44,14 @@ function Get-Config {
|
|
|
44
44
|
$workspaceRoot = [System.IO.Path]::GetFullPath($workspaceRoot)
|
|
45
45
|
if (-not (Test-Path -LiteralPath $workspaceRoot -PathType Container)) { Fail "WorkspaceRoot missing: $workspaceRoot" }
|
|
46
46
|
$cfg['WorkspaceRoot'] = $workspaceRoot
|
|
47
|
-
|
|
47
|
+
if ($cfg.ContainsKey('AutonomousSupervisorEnabled')) {
|
|
48
|
+
if ($cfg.AutonomousSupervisorEnabled -isnot [bool]) { Fail 'AutonomousSupervisorEnabled must be boolean' }
|
|
49
|
+
} else {
|
|
50
|
+
$cfg['AutonomousSupervisorEnabled'] = $false
|
|
51
|
+
}
|
|
52
|
+
$componentNames = @('Bridge','Cloud')
|
|
53
|
+
if ([bool]$cfg.AutonomousSupervisorEnabled) { $componentNames += 'Supervisor' }
|
|
54
|
+
foreach ($name in $componentNames) {
|
|
48
55
|
$spec = $cfg[$name]
|
|
49
56
|
if (-not $spec -or -not $spec.ContainsKey('FilePath') -or [string]::IsNullOrWhiteSpace([string]$spec.FilePath)) { Fail "$name FilePath missing" }
|
|
50
57
|
if (-not $spec.ContainsKey('Arguments')) { Fail "$name Arguments field missing" }
|
|
@@ -66,13 +73,14 @@ function Get-Config {
|
|
|
66
73
|
if ($dependencyCount -ne 2) { Fail 'deadbyte.named-tunnel.v2 requires exactly cloudflared plus token-file pins' }
|
|
67
74
|
} else { Fail 'Cloud Transport unsupported' }
|
|
68
75
|
}
|
|
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
|
|
76
|
+
if ($name -in @('Bridge','Supervisor')) {
|
|
77
|
+
if (-not $spec.ContainsKey('ScriptPath') -or [string]::IsNullOrWhiteSpace([string]$spec.ScriptPath)) { Fail "$name ScriptPath missing" }
|
|
78
|
+
if (-not $spec.ContainsKey('ScriptSha256') -or [string]$spec.ScriptSha256 -cnotmatch '^[0-9a-f]{64}$') { Fail "$name ScriptSha256 invalid" }
|
|
72
79
|
$scriptPath = [System.IO.Path]::GetFullPath([string]$spec.ScriptPath)
|
|
73
|
-
if (-not (Test-Path -LiteralPath $scriptPath -PathType Leaf)) { Fail "
|
|
80
|
+
if (-not (Test-Path -LiteralPath $scriptPath -PathType Leaf)) { Fail "$name ScriptPath missing: $scriptPath" }
|
|
81
|
+
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
82
|
$scriptHash = Get-ExecutableHash $scriptPath
|
|
75
|
-
if ($scriptHash -ne [string]$spec.ScriptSha256) { Fail "
|
|
83
|
+
if ($scriptHash -ne [string]$spec.ScriptSha256) { Fail "$name script hash mismatch: expected $($spec.ScriptSha256), found $scriptHash" }
|
|
76
84
|
$spec['ScriptPath'] = $scriptPath
|
|
77
85
|
}
|
|
78
86
|
}
|
|
@@ -131,6 +139,24 @@ function Get-Config {
|
|
|
131
139
|
$cfg['CodingPolicyFile'] = ''
|
|
132
140
|
}
|
|
133
141
|
if ([bool]$cfg.CodingRuntimeEnabled -and [string]::IsNullOrWhiteSpace([string]$cfg.CodingPolicyFile)) { Fail 'CodingRuntimeEnabled requires CodingPolicyFile' }
|
|
142
|
+
$semanticConfigFile = if ($cfg.ContainsKey('SemanticLspConfigFile')) { [string]$cfg.SemanticLspConfigFile } else { '' }
|
|
143
|
+
$semanticConfigSha = if ($cfg.ContainsKey('SemanticLspConfigSha256')) { ([string]$cfg.SemanticLspConfigSha256).ToLowerInvariant() } else { '' }
|
|
144
|
+
if ([string]::IsNullOrWhiteSpace($semanticConfigFile) -ne [string]::IsNullOrWhiteSpace($semanticConfigSha)) { Fail 'SemanticLspConfigFile and SemanticLspConfigSha256 must be supplied together' }
|
|
145
|
+
if (-not [string]::IsNullOrWhiteSpace($semanticConfigFile)) {
|
|
146
|
+
if (-not [bool]$cfg.CodingRuntimeEnabled) { Fail 'SemanticLspConfigFile requires CodingRuntimeEnabled' }
|
|
147
|
+
if ($semanticConfigSha -cnotmatch '^[0-9a-f]{64}$') { Fail 'SemanticLspConfigSha256 invalid' }
|
|
148
|
+
$semanticConfigFile = [System.IO.Path]::GetFullPath($semanticConfigFile)
|
|
149
|
+
if (-not (Test-Path -LiteralPath $semanticConfigFile -PathType Leaf)) { Fail "SemanticLspConfigFile missing: $semanticConfigFile" }
|
|
150
|
+
$semanticItem = Get-Item -LiteralPath $semanticConfigFile -Force
|
|
151
|
+
if (($semanticItem.Attributes -band [System.IO.FileAttributes]::ReparsePoint) -ne 0) { Fail 'SemanticLspConfigFile must not be a reparse point' }
|
|
152
|
+
$semanticObserved = Get-ExecutableHash $semanticConfigFile
|
|
153
|
+
if ($semanticObserved -ne $semanticConfigSha) { Fail "semantic LSP config SHA-256 mismatch: expected $semanticConfigSha, found $semanticObserved" }
|
|
154
|
+
$cfg['SemanticLspConfigFile'] = $semanticConfigFile
|
|
155
|
+
$cfg['SemanticLspConfigSha256'] = $semanticConfigSha
|
|
156
|
+
} else {
|
|
157
|
+
$cfg['SemanticLspConfigFile'] = ''
|
|
158
|
+
$cfg['SemanticLspConfigSha256'] = ''
|
|
159
|
+
}
|
|
134
160
|
if ($cfg.ContainsKey('MachineFsRuntimeEnabled')) {
|
|
135
161
|
if ($cfg.MachineFsRuntimeEnabled -isnot [bool]) { Fail 'MachineFsRuntimeEnabled must be boolean' }
|
|
136
162
|
} else {
|
|
@@ -158,6 +184,7 @@ function Get-Config {
|
|
|
158
184
|
}
|
|
159
185
|
if ([bool]$cfg.AutonomousRuntimeEnabled -and -not [bool]$cfg.CodingRuntimeEnabled) { Fail 'AutonomousRuntimeEnabled requires CodingRuntimeEnabled' }
|
|
160
186
|
if ([bool]$cfg.AutonomousRuntimeEnabled -and [string]::IsNullOrWhiteSpace([string]$cfg.AutonomousPolicyFile)) { Fail 'AutonomousRuntimeEnabled requires AutonomousPolicyFile' }
|
|
187
|
+
if ([bool]$cfg.AutonomousSupervisorEnabled -and -not [bool]$cfg.AutonomousRuntimeEnabled) { Fail 'AutonomousSupervisorEnabled requires AutonomousRuntimeEnabled' }
|
|
161
188
|
if ([int]$cfg.StartTimeoutSeconds -lt 1 -or [int]$cfg.StartTimeoutSeconds -gt 120) { Fail 'StartTimeoutSeconds out of range' }
|
|
162
189
|
if ([int]$cfg.ProbeTimeoutSeconds -lt 1 -or [int]$cfg.ProbeTimeoutSeconds -gt 15) { Fail 'ProbeTimeoutSeconds out of range' }
|
|
163
190
|
return $cfg
|
|
@@ -264,7 +291,7 @@ function Test-OwnedInstance([string]$Name) {
|
|
|
264
291
|
if (-not $ledger) { return [pscustomobject]@{ Name=$Name; Alive=$false; Reason='no-ledger'; Ledger=$null; Observation=$null } }
|
|
265
292
|
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
293
|
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 -
|
|
294
|
+
if ($Name -in @('Bridge','Supervisor')) {
|
|
268
295
|
if (-not ($ledger.PSObject.Properties.Name -contains 'script_path') -or -not ($ledger.PSObject.Properties.Name -contains 'script_sha256')) {
|
|
269
296
|
return [pscustomobject]@{ Name=$Name; Alive=$false; Reason='ledger-schema'; Ledger=$ledger; Observation=$null }
|
|
270
297
|
}
|
|
@@ -306,8 +333,8 @@ function Write-Ledger([string]$Name, $Observation, [string]$Nonce, $Spec = $null
|
|
|
306
333
|
image_path = [string]$Observation.image_path
|
|
307
334
|
image_sha256 = [string]$Observation.image_sha256
|
|
308
335
|
}
|
|
309
|
-
if ($Name -
|
|
310
|
-
if (-not $Spec) { Fail
|
|
336
|
+
if ($Name -in @('Bridge','Supervisor')) {
|
|
337
|
+
if (-not $Spec) { Fail "$Name ledger requires launch specification" }
|
|
311
338
|
$body['script_path'] = [string]$Spec.ScriptPath
|
|
312
339
|
$body['script_sha256'] = [string]$Spec.ScriptSha256
|
|
313
340
|
}
|
|
@@ -337,9 +364,9 @@ function Start-OwnedComponent([string]$Name, $Spec, $Cfg = $null) {
|
|
|
337
364
|
$componentExecutableHash = Get-ExecutableHash ([string]$Spec.FilePath)
|
|
338
365
|
if ($componentExecutableHash -ne [string]$Spec.FileSha256) { Fail "$Name executable hash mismatch before start: expected $($Spec.FileSha256), found $componentExecutableHash" }
|
|
339
366
|
Assert-ComponentDependencies $Name $Spec 'before start'
|
|
340
|
-
if ($Name -
|
|
341
|
-
$
|
|
342
|
-
if ($
|
|
367
|
+
if ($Name -in @('Bridge','Supervisor')) {
|
|
368
|
+
$scriptHash = Get-ExecutableHash ([string]$Spec.ScriptPath)
|
|
369
|
+
if ($scriptHash -ne [string]$Spec.ScriptSha256) { Fail "$Name script hash mismatch before start: expected $($Spec.ScriptSha256), found $scriptHash" }
|
|
343
370
|
}
|
|
344
371
|
$args = [string]$Spec.Arguments
|
|
345
372
|
$start = @{ FilePath=[string]$Spec.FilePath; WorkingDirectory=[string]$Spec.WorkingDirectory; PassThru=$true; WindowStyle='Hidden'; RedirectStandardOutput=$stdout; RedirectStandardError=$stderr }
|
|
@@ -368,10 +395,20 @@ function Start-OwnedComponent([string]$Name, $Spec, $Cfg = $null) {
|
|
|
368
395
|
$previousObservationRuntimeEnv = $env:DEADBYTE_OBSERVATION_RUNTIME
|
|
369
396
|
$hadCodingPolicyEnv = Test-Path Env:DEADBYTE_CODING_POLICY
|
|
370
397
|
$previousCodingPolicyEnv = $env:DEADBYTE_CODING_POLICY
|
|
398
|
+
$hadSemanticConfigEnv = Test-Path Env:DEADBYTE_SEMANTIC_LSP_CONFIG
|
|
399
|
+
$previousSemanticLspConfigEnv = $env:DEADBYTE_SEMANTIC_LSP_CONFIG
|
|
400
|
+
$hadSemanticConfigShaEnv = Test-Path Env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256
|
|
401
|
+
$previousSemanticLspConfigShaEnv = $env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256
|
|
371
402
|
$hadAutonomousRuntimeEnv = Test-Path Env:DEADBYTE_AUTONOMOUS_RUNTIME
|
|
372
403
|
$previousAutonomousRuntimeEnv = $env:DEADBYTE_AUTONOMOUS_RUNTIME
|
|
373
404
|
$hadAutonomousPolicyEnv = Test-Path Env:DEADBYTE_AUTONOMOUS_POLICY
|
|
374
405
|
$previousAutonomousPolicyEnv = $env:DEADBYTE_AUTONOMOUS_POLICY
|
|
406
|
+
$hadSupervisorOnceEnv = Test-Path Env:DEADBYTE_SUPERVISOR_ONCE
|
|
407
|
+
$previousSupervisorOnceEnv = $env:DEADBYTE_SUPERVISOR_ONCE
|
|
408
|
+
$hadSupervisorMarkerEnv = Test-Path Env:DEADBYTE_SUPERVISOR_MARKER
|
|
409
|
+
$previousSupervisorMarkerEnv = $env:DEADBYTE_SUPERVISOR_MARKER
|
|
410
|
+
$hadAutonomousSupervisorModeEnv = Test-Path Env:DEADBYTE_AUTONOMOUS_SUPERVISOR_MODE
|
|
411
|
+
$previousAutonomousSupervisorModeEnv = $env:DEADBYTE_AUTONOMOUS_SUPERVISOR_MODE
|
|
375
412
|
try {
|
|
376
413
|
if ($Name -eq 'Bridge' -and $Cfg) {
|
|
377
414
|
$env:DEADBYTE_AUDIT_RUNTIME = '1'
|
|
@@ -389,13 +426,39 @@ function Start-OwnedComponent([string]$Name, $Spec, $Cfg = $null) {
|
|
|
389
426
|
if (-not [string]::IsNullOrWhiteSpace([string]$Cfg.CodingPolicyFile)) {
|
|
390
427
|
$env:DEADBYTE_CODING_POLICY = [string]$Cfg.CodingPolicyFile
|
|
391
428
|
}
|
|
429
|
+
if (-not [string]::IsNullOrWhiteSpace([string]$Cfg.SemanticLspConfigFile)) {
|
|
430
|
+
$env:DEADBYTE_SEMANTIC_LSP_CONFIG = [string]$Cfg.SemanticLspConfigFile
|
|
431
|
+
$env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256 = [string]$Cfg.SemanticLspConfigSha256
|
|
432
|
+
} else {
|
|
433
|
+
Remove-Item Env:DEADBYTE_SEMANTIC_LSP_CONFIG -ErrorAction SilentlyContinue
|
|
434
|
+
Remove-Item Env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256 -ErrorAction SilentlyContinue
|
|
435
|
+
}
|
|
392
436
|
$env:DEADBYTE_AUTONOMOUS_RUNTIME = if ([bool]$Cfg.AutonomousRuntimeEnabled) { '1' } else { '0' }
|
|
437
|
+
$env:DEADBYTE_AUTONOMOUS_SUPERVISOR_MODE = if ([bool]$Cfg.AutonomousSupervisorEnabled) { 'external' } else { 'in_process' }
|
|
393
438
|
if (-not [string]::IsNullOrWhiteSpace([string]$Cfg.AutonomousPolicyFile)) {
|
|
394
439
|
$env:DEADBYTE_AUTONOMOUS_POLICY = [string]$Cfg.AutonomousPolicyFile
|
|
395
440
|
}
|
|
396
441
|
if (-not [string]::IsNullOrWhiteSpace([string]$Cfg.HostPolicyFile)) {
|
|
397
442
|
$env:DEADBYTE_PRIVILEGED_POLICY = [string]$Cfg.HostPolicyFile
|
|
398
443
|
}
|
|
444
|
+
} elseif ($Name -eq 'Supervisor' -and $Cfg) {
|
|
445
|
+
Remove-Item Env:DEADBYTE_AUDIT_RUNTIME -ErrorAction SilentlyContinue
|
|
446
|
+
Remove-Item Env:DEADBYTE_PRIVILEGED_POLICY -ErrorAction SilentlyContinue
|
|
447
|
+
Remove-Item Env:DEADBYTE_MACHINE_RUNTIME -ErrorAction SilentlyContinue
|
|
448
|
+
Remove-Item Env:DEADBYTE_AGENT_RUNTIME -ErrorAction SilentlyContinue
|
|
449
|
+
Remove-Item Env:DEADBYTE_PROCESS_RUNTIME -ErrorAction SilentlyContinue
|
|
450
|
+
Remove-Item Env:DEADBYTE_PROCESS_POLICY -ErrorAction SilentlyContinue
|
|
451
|
+
Remove-Item Env:DEADBYTE_MACHINE_FS_RUNTIME -ErrorAction SilentlyContinue
|
|
452
|
+
Remove-Item Env:DEADBYTE_OBSERVATION_RUNTIME -ErrorAction SilentlyContinue
|
|
453
|
+
Remove-Item Env:DEADBYTE_SEMANTIC_LSP_CONFIG -ErrorAction SilentlyContinue
|
|
454
|
+
Remove-Item Env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256 -ErrorAction SilentlyContinue
|
|
455
|
+
Remove-Item Env:DEADBYTE_AUTONOMOUS_SUPERVISOR_MODE -ErrorAction SilentlyContinue
|
|
456
|
+
$env:DEADBYTE_CODING_RUNTIME = '1'
|
|
457
|
+
$env:DEADBYTE_AUTONOMOUS_RUNTIME = '1'
|
|
458
|
+
$env:DEADBYTE_CODING_POLICY = [string]$Cfg.CodingPolicyFile
|
|
459
|
+
$env:DEADBYTE_AUTONOMOUS_POLICY = [string]$Cfg.AutonomousPolicyFile
|
|
460
|
+
$env:DEADBYTE_SUPERVISOR_ONCE = '0'
|
|
461
|
+
$env:DEADBYTE_SUPERVISOR_MARKER = Join-Path $RuntimeDir 'autonomous-supervisor-owner.json'
|
|
399
462
|
} else {
|
|
400
463
|
Remove-Item Env:DEADBYTE_AUDIT_RUNTIME -ErrorAction SilentlyContinue
|
|
401
464
|
}
|
|
@@ -425,10 +488,20 @@ function Start-OwnedComponent([string]$Name, $Spec, $Cfg = $null) {
|
|
|
425
488
|
else { Remove-Item Env:DEADBYTE_OBSERVATION_RUNTIME -ErrorAction SilentlyContinue }
|
|
426
489
|
if ($hadCodingPolicyEnv) { $env:DEADBYTE_CODING_POLICY = $previousCodingPolicyEnv }
|
|
427
490
|
else { Remove-Item Env:DEADBYTE_CODING_POLICY -ErrorAction SilentlyContinue }
|
|
491
|
+
if ($hadSemanticConfigEnv) { $env:DEADBYTE_SEMANTIC_LSP_CONFIG = $previousSemanticLspConfigEnv }
|
|
492
|
+
else { Remove-Item Env:DEADBYTE_SEMANTIC_LSP_CONFIG -ErrorAction SilentlyContinue }
|
|
493
|
+
if ($hadSemanticConfigShaEnv) { $env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256 = $previousSemanticLspConfigShaEnv }
|
|
494
|
+
else { Remove-Item Env:DEADBYTE_SEMANTIC_LSP_CONFIG_SHA256 -ErrorAction SilentlyContinue }
|
|
428
495
|
if ($hadAutonomousRuntimeEnv) { $env:DEADBYTE_AUTONOMOUS_RUNTIME = $previousAutonomousRuntimeEnv }
|
|
429
496
|
else { Remove-Item Env:DEADBYTE_AUTONOMOUS_RUNTIME -ErrorAction SilentlyContinue }
|
|
430
497
|
if ($hadAutonomousPolicyEnv) { $env:DEADBYTE_AUTONOMOUS_POLICY = $previousAutonomousPolicyEnv }
|
|
431
498
|
else { Remove-Item Env:DEADBYTE_AUTONOMOUS_POLICY -ErrorAction SilentlyContinue }
|
|
499
|
+
if ($hadSupervisorOnceEnv) { $env:DEADBYTE_SUPERVISOR_ONCE = $previousSupervisorOnceEnv }
|
|
500
|
+
else { Remove-Item Env:DEADBYTE_SUPERVISOR_ONCE -ErrorAction SilentlyContinue }
|
|
501
|
+
if ($hadSupervisorMarkerEnv) { $env:DEADBYTE_SUPERVISOR_MARKER = $previousSupervisorMarkerEnv }
|
|
502
|
+
else { Remove-Item Env:DEADBYTE_SUPERVISOR_MARKER -ErrorAction SilentlyContinue }
|
|
503
|
+
if ($hadAutonomousSupervisorModeEnv) { $env:DEADBYTE_AUTONOMOUS_SUPERVISOR_MODE = $previousAutonomousSupervisorModeEnv }
|
|
504
|
+
else { Remove-Item Env:DEADBYTE_AUTONOMOUS_SUPERVISOR_MODE -ErrorAction SilentlyContinue }
|
|
432
505
|
}
|
|
433
506
|
Start-Sleep -Milliseconds 150
|
|
434
507
|
$obs = Get-ProcessObservation ([int]$proc.Id)
|
|
@@ -885,6 +958,53 @@ function Show-AutonomousStatus($Cfg) {
|
|
|
885
958
|
return $a
|
|
886
959
|
}
|
|
887
960
|
|
|
961
|
+
function Get-AutonomousSupervisorStatus($Cfg) {
|
|
962
|
+
if (-not [bool]$Cfg.AutonomousSupervisorEnabled) { return [pscustomobject]@{ Configured=$false; Running=$false; Reason='disabled'; Owned=$null } }
|
|
963
|
+
$owned = Test-OwnedInstance 'Supervisor'
|
|
964
|
+
[pscustomobject]@{ Configured=$true; Running=[bool]$owned.Alive; Reason=[string]$owned.Reason; Owned=$owned }
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
function Start-AutonomousSupervisor($Cfg) {
|
|
968
|
+
if (-not [bool]$Cfg.AutonomousSupervisorEnabled) { Fail 'autonomous supervisor is disabled by trusted config' }
|
|
969
|
+
if (-not [bool]$Cfg.AutonomousRuntimeEnabled) { Fail 'autonomous supervisor requires AutonomousRuntimeEnabled' }
|
|
970
|
+
Start-OwnedComponent 'Supervisor' $Cfg.Supervisor $Cfg | Out-Null
|
|
971
|
+
$status = Get-AutonomousSupervisorStatus $Cfg
|
|
972
|
+
if (-not $status.Running) { Fail "autonomous supervisor start failed: $($status.Reason)" }
|
|
973
|
+
return $status
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
function Stop-AutonomousSupervisor($Cfg) {
|
|
977
|
+
if (-not [bool]$Cfg.AutonomousSupervisorEnabled) { return Get-AutonomousSupervisorStatus $Cfg }
|
|
978
|
+
Stop-OwnedComponent 'Supervisor'
|
|
979
|
+
return Get-AutonomousSupervisorStatus $Cfg
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
function Show-AutonomousSupervisorStatus($Cfg) {
|
|
983
|
+
$s = Get-AutonomousSupervisorStatus $Cfg
|
|
984
|
+
$label = if (-not $s.Configured) { 'DISABLED' } elseif ($s.Running) { 'RUNNING' } else { 'STOPPED' }
|
|
985
|
+
Write-Host ("Loop supervisor: {0} [{1}]" -f $label, $s.Reason)
|
|
986
|
+
return $s
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
function Recover-AutonomousSupervisor($Cfg) {
|
|
990
|
+
if (-not [bool]$Cfg.AutonomousSupervisorEnabled) { Fail 'autonomous supervisor recovery requires AutonomousSupervisorEnabled' }
|
|
991
|
+
Start-Deadbyte $Cfg | Out-Null
|
|
992
|
+
try { Disarm-Autonomous $Cfg -Quiet } catch {}
|
|
993
|
+
try { Disarm-Coding $Cfg } catch {}
|
|
994
|
+
try { Disarm-Process $Cfg } catch {}
|
|
995
|
+
try { Disarm-Host $Cfg } catch {}
|
|
996
|
+
$runtime = Get-ObservedState $Cfg
|
|
997
|
+
if ($runtime.State -ne 'ONLINE') { Fail "supervisor recovery requires ONLINE runtime; observed $($runtime.State)" }
|
|
998
|
+
$process = Get-ProcessGrantStatus $Cfg
|
|
999
|
+
$coding = Get-CodingLeaseStatus $Cfg
|
|
1000
|
+
$autonomous = Get-AutonomousLeaseStatus $Cfg
|
|
1001
|
+
$host = Get-HostArmStatus $Cfg
|
|
1002
|
+
if ($process.Armed -or $coding.Armed -or $autonomous.Armed -or $host.Armed) { Fail 'supervisor recovery final authority is not fully disarmed' }
|
|
1003
|
+
$supervisor = Start-AutonomousSupervisor $Cfg
|
|
1004
|
+
Write-Host 'AUTONOMOUS SUPERVISOR RECOVERY PASS: runtime ONLINE; privileged planes DISARMED.'
|
|
1005
|
+
return [pscustomobject]@{ Runtime=$runtime; Supervisor=$supervisor; Process=$process; Coding=$coding; Autonomous=$autonomous; Host=$host }
|
|
1006
|
+
}
|
|
1007
|
+
|
|
888
1008
|
function Show-State($Cfg) {
|
|
889
1009
|
$s = Get-ObservedState $Cfg
|
|
890
1010
|
$bp = if ($s.Bridge.Alive) { $s.Bridge.Ledger.pid } else { '-' }
|
|
@@ -902,6 +1022,7 @@ function Show-State($Cfg) {
|
|
|
902
1022
|
Write-Host ("Machine FS rt : {0}" -f $(if ([bool]$Cfg.MachineFsRuntimeEnabled) { 'ENABLED' } else { 'DISABLED' }))
|
|
903
1023
|
Write-Host ("Observation rt: {0}" -f $(if ([bool]$Cfg.ObservationRuntimeEnabled) { 'ENABLED' } else { 'DISABLED' }))
|
|
904
1024
|
Write-Host ("Autonomous rt : {0}" -f $(if ([bool]$Cfg.AutonomousRuntimeEnabled) { 'ENABLED' } else { 'DISABLED' }))
|
|
1025
|
+
Show-AutonomousSupervisorStatus $Cfg | Out-Null
|
|
905
1026
|
Show-ProcessStatus $Cfg | Out-Null
|
|
906
1027
|
Show-CodingStatus $Cfg | Out-Null
|
|
907
1028
|
Show-AutonomousStatus $Cfg | Out-Null
|
|
@@ -974,7 +1095,7 @@ function Invoke-AutonomousSmoke($Cfg) {
|
|
|
974
1095
|
|
|
975
1096
|
function Clean-Stale {
|
|
976
1097
|
Ensure-Directory $RuntimeDir
|
|
977
|
-
foreach ($name in @('Bridge','Cloud')) {
|
|
1098
|
+
foreach ($name in @('Bridge','Cloud','Supervisor')) {
|
|
978
1099
|
$o = Test-OwnedInstance $name
|
|
979
1100
|
if ($o.Ledger -and -not $o.Alive -and $o.Reason -eq 'process-missing') {
|
|
980
1101
|
Remove-Item -LiteralPath (Ledger-Path $name) -Force -ErrorAction SilentlyContinue
|
|
@@ -989,11 +1110,11 @@ function Run-Command([string]$Name) {
|
|
|
989
1110
|
Assert-ControllerRootBound $cfg
|
|
990
1111
|
Ensure-Directory $RuntimeDir; Ensure-Directory $LogDir
|
|
991
1112
|
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 }
|
|
1113
|
+
'start' { Start-Deadbyte $cfg | Out-Null; if ([bool]$cfg.AutonomousSupervisorEnabled) { Start-AutonomousSupervisor $cfg | Out-Null }; Show-State $cfg | Out-Null }
|
|
1114
|
+
'resume' { Start-Deadbyte $cfg | Out-Null; if ([bool]$cfg.AutonomousSupervisorEnabled) { Start-AutonomousSupervisor $cfg | Out-Null }; Show-State $cfg | Out-Null }
|
|
994
1115
|
'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 }
|
|
1116
|
+
'stop' { if ([bool]$cfg.AutonomousSupervisorEnabled) { Stop-AutonomousSupervisor $cfg | Out-Null }; Stop-Deadbyte $cfg | Out-Null; Show-State $cfg | Out-Null }
|
|
1117
|
+
'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
1118
|
'status' { Show-State $cfg | Out-Null }
|
|
998
1119
|
'url' { $u=Get-CurrentUrl $cfg; if (-not $u) { Fail 'URL unavailable' }; Write-Output $u }
|
|
999
1120
|
'test' { Invoke-Smoke $cfg $false }
|
|
@@ -1016,6 +1137,10 @@ function Run-Command([string]$Name) {
|
|
|
1016
1137
|
'disarmautonomous' { Disarm-Autonomous $cfg; Show-AutonomousStatus $cfg | Out-Null }
|
|
1017
1138
|
'autonomousstatus' { Show-AutonomousStatus $cfg | Out-Null }
|
|
1018
1139
|
'autonomoustest' { Invoke-AutonomousSmoke $cfg }
|
|
1140
|
+
'supervisorstart' { Start-AutonomousSupervisor $cfg | Out-Null; Show-AutonomousSupervisorStatus $cfg | Out-Null }
|
|
1141
|
+
'supervisorstop' { Stop-AutonomousSupervisor $cfg | Out-Null; Show-AutonomousSupervisorStatus $cfg | Out-Null }
|
|
1142
|
+
'supervisorstatus' { Show-AutonomousSupervisorStatus $cfg | Out-Null }
|
|
1143
|
+
'supervisorrecover' { Recover-AutonomousSupervisor $cfg | Out-Null; Show-State $cfg | Out-Null }
|
|
1019
1144
|
default { Fail "unknown command '$Name'" }
|
|
1020
1145
|
}
|
|
1021
1146
|
}
|
|
@@ -1026,7 +1151,7 @@ while ($true) {
|
|
|
1026
1151
|
Clear-Host
|
|
1027
1152
|
$cfg = Get-Config
|
|
1028
1153
|
Assert-ControllerRootBound $cfg
|
|
1029
|
-
Write-Host 'DEADBYTE MCP ON-DEMAND CONTROLLER V0.
|
|
1154
|
+
Write-Host 'DEADBYTE MCP ON-DEMAND CONTROLLER V0.9.0 / R35'
|
|
1030
1155
|
Write-Host '======================================'
|
|
1031
1156
|
Show-State $cfg | Out-Null
|
|
1032
1157
|
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-r35-release-v0.9.0-r2\\controller\\runtime\\process-grant.json",
|
|
5
|
+
"state_dir": "D:\\Projects\\deadbyte-mcp-r35-release-v0.9.0-r2\\controller\\runtime\\process-state",
|
|
6
6
|
"native_host": {
|
|
7
|
-
"path": "
|
|
8
|
-
"sha256": "
|
|
7
|
+
"path": "D:\\Projects\\deadbyte-mcp-r35-release-v0.9.0-r2\\bin\\deadbyte-process-host.exe",
|
|
8
|
+
"sha256": "9fa67a2aa66a40b67828dd537ca24b1feb118d386955b81b2df2e1bf5b7b57d7"
|
|
9
9
|
},
|
|
10
10
|
"roots": {
|
|
11
11
|
"core": {
|
|
12
|
-
"path": "
|
|
12
|
+
"path": "D:\\Projects\\deadbyte-mcp-r35-release-v0.9.0-r2",
|
|
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.9.0 / R35 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
|
|