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.
Files changed (388) hide show
  1. package/CONTEXT.md +41 -0
  2. package/MANIFEST.SHA256 +386 -94
  3. package/R34-BASELINE.json +9 -0
  4. package/README.txt +141 -10
  5. package/bench/fixtures/corpus.json +36 -0
  6. package/bench/fixtures/r36/case-map.json +8 -0
  7. package/bin/WORKER-REGISTRY.txt +3 -3
  8. package/bin/appcontainer-stage.exe +0 -0
  9. package/bin/appcontainer-stage.obj +0 -0
  10. package/bin/bootstrap-advapi32.exe +0 -0
  11. package/bin/bootstrap-advapi32.obj +0 -0
  12. package/bin/bootstrap-exitcode.exe +0 -0
  13. package/bin/bootstrap-exitcode.obj +0 -0
  14. package/bin/bootstrap-kernel32.exe +0 -0
  15. package/bin/bootstrap-kernel32.obj +0 -0
  16. package/bin/child-control-probe.exe +0 -0
  17. package/bin/child-control-probe.obj +0 -0
  18. package/bin/child-control-stage.exe +0 -0
  19. package/bin/child-control-stage.obj +0 -0
  20. package/bin/contained-reverse-worker.exe +0 -0
  21. package/bin/contained-reverse-worker.obj +0 -0
  22. package/bin/contained-transform-worker.exe +0 -0
  23. package/bin/contained-transform-worker.obj +0 -0
  24. package/bin/containment-probe.exe +0 -0
  25. package/bin/containment-probe.obj +0 -0
  26. package/bin/deadbyte-contain.exe +0 -0
  27. package/bin/deadbyte-contain.obj +0 -0
  28. package/bin/deadbyte-exec.exe +0 -0
  29. package/bin/deadbyte-exec.obj +0 -0
  30. package/bin/deadbyte-process-host.exe +0 -0
  31. package/bin/deadbyte-process-host.obj +0 -0
  32. package/bin/deadbyte-tunnel-host.exe +0 -0
  33. package/bin/deadbyte-tunnel-host.obj +0 -0
  34. package/controller/README.TXT +12 -4
  35. package/controller/deadbyte-controller.config.psd1.example +14 -0
  36. package/controller/deadbyte-controller.ps1 +191 -20
  37. package/controller/deadbyte-process-policy.json +5 -5
  38. package/controller/deadbyte-semantic-lsp-config.json +95 -0
  39. package/docs/ADR-0001-PRODUCTION-BASELINE-SEAMS.md +29 -0
  40. package/docs/ARCHITECTURE.md +6 -5
  41. package/docs/R36-CAPABILITY-EVIDENCE.md +43 -0
  42. package/docs/superpowers/plans/2026-09-16-deadbyte-loop-engine.md +846 -0
  43. package/docs/superpowers/plans/2026-09-17-r35-production-successor.md +408 -0
  44. package/docs/superpowers/plans/2026-09-18-r36-zero-loss-autonomy.md +739 -0
  45. package/docs/superpowers/specs/2026-09-16-deadbyte-loop-engine-design.md +435 -0
  46. package/docs/superpowers/specs/2026-09-17-r35-production-successor-design.md +220 -0
  47. package/docs/superpowers/specs/2026-09-18-r36-zero-loss-autonomy-design.md +640 -0
  48. package/node_modules/typescript/LICENSE.txt +55 -0
  49. package/node_modules/typescript/README.md +50 -0
  50. package/node_modules/typescript/SECURITY.md +41 -0
  51. package/node_modules/typescript/ThirdPartyNoticeText.txt +193 -0
  52. package/node_modules/typescript/bin/tsc +2 -0
  53. package/node_modules/typescript/bin/tsserver +2 -0
  54. package/node_modules/typescript/lib/_tsc.js +133818 -0
  55. package/node_modules/typescript/lib/_tsserver.js +659 -0
  56. package/node_modules/typescript/lib/_typingsInstaller.js +222 -0
  57. package/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2122 -0
  58. package/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2122 -0
  59. package/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2122 -0
  60. package/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2122 -0
  61. package/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2122 -0
  62. package/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2122 -0
  63. package/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2122 -0
  64. package/node_modules/typescript/lib/lib.d.ts +22 -0
  65. package/node_modules/typescript/lib/lib.decorators.d.ts +384 -0
  66. package/node_modules/typescript/lib/lib.decorators.legacy.d.ts +22 -0
  67. package/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +41 -0
  68. package/node_modules/typescript/lib/lib.dom.d.ts +39429 -0
  69. package/node_modules/typescript/lib/lib.dom.iterable.d.ts +571 -0
  70. package/node_modules/typescript/lib/lib.es2015.collection.d.ts +147 -0
  71. package/node_modules/typescript/lib/lib.es2015.core.d.ts +597 -0
  72. package/node_modules/typescript/lib/lib.es2015.d.ts +28 -0
  73. package/node_modules/typescript/lib/lib.es2015.generator.d.ts +77 -0
  74. package/node_modules/typescript/lib/lib.es2015.iterable.d.ts +605 -0
  75. package/node_modules/typescript/lib/lib.es2015.promise.d.ts +81 -0
  76. package/node_modules/typescript/lib/lib.es2015.proxy.d.ts +128 -0
  77. package/node_modules/typescript/lib/lib.es2015.reflect.d.ts +144 -0
  78. package/node_modules/typescript/lib/lib.es2015.symbol.d.ts +46 -0
  79. package/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +326 -0
  80. package/node_modules/typescript/lib/lib.es2016.array.include.d.ts +116 -0
  81. package/node_modules/typescript/lib/lib.es2016.d.ts +21 -0
  82. package/node_modules/typescript/lib/lib.es2016.full.d.ts +23 -0
  83. package/node_modules/typescript/lib/lib.es2016.intl.d.ts +31 -0
  84. package/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +21 -0
  85. package/node_modules/typescript/lib/lib.es2017.d.ts +26 -0
  86. package/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
  87. package/node_modules/typescript/lib/lib.es2017.full.d.ts +23 -0
  88. package/node_modules/typescript/lib/lib.es2017.intl.d.ts +44 -0
  89. package/node_modules/typescript/lib/lib.es2017.object.d.ts +49 -0
  90. package/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +135 -0
  91. package/node_modules/typescript/lib/lib.es2017.string.d.ts +45 -0
  92. package/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +53 -0
  93. package/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +77 -0
  94. package/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +53 -0
  95. package/node_modules/typescript/lib/lib.es2018.d.ts +24 -0
  96. package/node_modules/typescript/lib/lib.es2018.full.d.ts +24 -0
  97. package/node_modules/typescript/lib/lib.es2018.intl.d.ts +83 -0
  98. package/node_modules/typescript/lib/lib.es2018.promise.d.ts +30 -0
  99. package/node_modules/typescript/lib/lib.es2018.regexp.d.ts +37 -0
  100. package/node_modules/typescript/lib/lib.es2019.array.d.ts +79 -0
  101. package/node_modules/typescript/lib/lib.es2019.d.ts +24 -0
  102. package/node_modules/typescript/lib/lib.es2019.full.d.ts +24 -0
  103. package/node_modules/typescript/lib/lib.es2019.intl.d.ts +23 -0
  104. package/node_modules/typescript/lib/lib.es2019.object.d.ts +33 -0
  105. package/node_modules/typescript/lib/lib.es2019.string.d.ts +37 -0
  106. package/node_modules/typescript/lib/lib.es2019.symbol.d.ts +24 -0
  107. package/node_modules/typescript/lib/lib.es2020.bigint.d.ts +765 -0
  108. package/node_modules/typescript/lib/lib.es2020.d.ts +27 -0
  109. package/node_modules/typescript/lib/lib.es2020.date.d.ts +42 -0
  110. package/node_modules/typescript/lib/lib.es2020.full.d.ts +24 -0
  111. package/node_modules/typescript/lib/lib.es2020.intl.d.ts +474 -0
  112. package/node_modules/typescript/lib/lib.es2020.number.d.ts +28 -0
  113. package/node_modules/typescript/lib/lib.es2020.promise.d.ts +47 -0
  114. package/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +99 -0
  115. package/node_modules/typescript/lib/lib.es2020.string.d.ts +44 -0
  116. package/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +41 -0
  117. package/node_modules/typescript/lib/lib.es2021.d.ts +23 -0
  118. package/node_modules/typescript/lib/lib.es2021.full.d.ts +24 -0
  119. package/node_modules/typescript/lib/lib.es2021.intl.d.ts +166 -0
  120. package/node_modules/typescript/lib/lib.es2021.promise.d.ts +48 -0
  121. package/node_modules/typescript/lib/lib.es2021.string.d.ts +33 -0
  122. package/node_modules/typescript/lib/lib.es2021.weakref.d.ts +78 -0
  123. package/node_modules/typescript/lib/lib.es2022.array.d.ts +121 -0
  124. package/node_modules/typescript/lib/lib.es2022.d.ts +25 -0
  125. package/node_modules/typescript/lib/lib.es2022.error.d.ts +75 -0
  126. package/node_modules/typescript/lib/lib.es2022.full.d.ts +24 -0
  127. package/node_modules/typescript/lib/lib.es2022.intl.d.ts +145 -0
  128. package/node_modules/typescript/lib/lib.es2022.object.d.ts +26 -0
  129. package/node_modules/typescript/lib/lib.es2022.regexp.d.ts +39 -0
  130. package/node_modules/typescript/lib/lib.es2022.string.d.ts +25 -0
  131. package/node_modules/typescript/lib/lib.es2023.array.d.ts +924 -0
  132. package/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
  133. package/node_modules/typescript/lib/lib.es2023.d.ts +22 -0
  134. package/node_modules/typescript/lib/lib.es2023.full.d.ts +24 -0
  135. package/node_modules/typescript/lib/lib.es2023.intl.d.ts +56 -0
  136. package/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +65 -0
  137. package/node_modules/typescript/lib/lib.es2024.collection.d.ts +29 -0
  138. package/node_modules/typescript/lib/lib.es2024.d.ts +26 -0
  139. package/node_modules/typescript/lib/lib.es2024.full.d.ts +24 -0
  140. package/node_modules/typescript/lib/lib.es2024.object.d.ts +29 -0
  141. package/node_modules/typescript/lib/lib.es2024.promise.d.ts +35 -0
  142. package/node_modules/typescript/lib/lib.es2024.regexp.d.ts +25 -0
  143. package/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +68 -0
  144. package/node_modules/typescript/lib/lib.es2024.string.d.ts +29 -0
  145. package/node_modules/typescript/lib/lib.es5.d.ts +4601 -0
  146. package/node_modules/typescript/lib/lib.es6.d.ts +23 -0
  147. package/node_modules/typescript/lib/lib.esnext.array.d.ts +35 -0
  148. package/node_modules/typescript/lib/lib.esnext.collection.d.ts +96 -0
  149. package/node_modules/typescript/lib/lib.esnext.d.ts +29 -0
  150. package/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
  151. package/node_modules/typescript/lib/lib.esnext.disposable.d.ts +193 -0
  152. package/node_modules/typescript/lib/lib.esnext.error.d.ts +24 -0
  153. package/node_modules/typescript/lib/lib.esnext.float16.d.ts +445 -0
  154. package/node_modules/typescript/lib/lib.esnext.full.d.ts +24 -0
  155. package/node_modules/typescript/lib/lib.esnext.intl.d.ts +21 -0
  156. package/node_modules/typescript/lib/lib.esnext.iterator.d.ts +148 -0
  157. package/node_modules/typescript/lib/lib.esnext.promise.d.ts +34 -0
  158. package/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +25 -0
  159. package/node_modules/typescript/lib/lib.scripthost.d.ts +322 -0
  160. package/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +41 -0
  161. package/node_modules/typescript/lib/lib.webworker.d.ts +13150 -0
  162. package/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +23 -0
  163. package/node_modules/typescript/lib/lib.webworker.iterable.d.ts +340 -0
  164. package/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2122 -0
  165. package/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2122 -0
  166. package/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2122 -0
  167. package/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2122 -0
  168. package/node_modules/typescript/lib/tsc.js +8 -0
  169. package/node_modules/typescript/lib/tsserver.js +8 -0
  170. package/node_modules/typescript/lib/tsserverlibrary.d.ts +17 -0
  171. package/node_modules/typescript/lib/tsserverlibrary.js +21 -0
  172. package/node_modules/typescript/lib/typesMap.json +497 -0
  173. package/node_modules/typescript/lib/typescript.d.ts +11437 -0
  174. package/node_modules/typescript/lib/typescript.js +200276 -0
  175. package/node_modules/typescript/lib/typingsInstaller.js +8 -0
  176. package/node_modules/typescript/lib/watchGuard.js +53 -0
  177. package/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +2122 -0
  178. package/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +2122 -0
  179. package/node_modules/typescript/package.json +120 -0
  180. package/package.json +5 -3
  181. package/proof/CONTAINMENT-BUILD.txt +6 -6
  182. package/proof/R34-TASK8-SUPERVISOR-CHECKPOINT.json +29 -0
  183. package/proof/R34-TASK9-MCP-SURFACE-CHECKPOINT.json +28 -0
  184. package/scripts/capability-benchmark.mjs +27 -0
  185. package/scripts/deferred-slot-operation.mjs +56 -16
  186. package/scripts/final-closure-verify.mjs +88 -39
  187. package/scripts/final-closure.mjs +63 -56
  188. package/scripts/gate-windows.ps1 +3 -3
  189. package/scripts/release-parity-tests.ps1 +9 -0
  190. package/scripts/release-parity.mjs +149 -139
  191. package/scripts/semantic-preflight.ps1 +73 -0
  192. package/scripts/tool-surface-snapshot.mjs +73 -0
  193. package/scripts/windows-gate-evidence.mjs +5 -5
  194. package/src/audit-verify.mjs +6 -2
  195. package/src/autonomous-action-reconcile.mjs +142 -0
  196. package/src/autonomous-context-engine.mjs +256 -0
  197. package/src/autonomous-live-state.mjs +17 -0
  198. package/src/autonomous-local-supervisor.mjs +249 -0
  199. package/src/autonomous-loop-state.mjs +304 -0
  200. package/src/autonomous-mcp-tools.mjs +5 -1
  201. package/src/autonomous-output-contracts.mjs +26 -7
  202. package/src/autonomous-plan.mjs +181 -0
  203. package/src/autonomous-planner-contracts.mjs +79 -0
  204. package/src/autonomous-planner.mjs +113 -6
  205. package/src/autonomous-policy.mjs +15 -2
  206. package/src/autonomous-progress.mjs +127 -0
  207. package/src/autonomous-runtime.mjs +785 -62
  208. package/src/autonomous-supervisor-host.mjs +70 -0
  209. package/src/autonomous-supervisor.mjs +31 -8
  210. package/src/capability-benchmark-runner.mjs +193 -0
  211. package/src/capability-benchmark.mjs +95 -0
  212. package/src/capability-ledger.mjs +158 -0
  213. package/src/coding-mcp-tools.mjs +65 -8
  214. package/src/coding-output-contracts.mjs +91 -8
  215. package/src/coding-plane.mjs +45 -9
  216. package/src/coding-search.mjs +130 -47
  217. package/src/compact-gateway-mcp-tools.mjs +128 -0
  218. package/src/compact-gateway-output-contracts.mjs +16 -0
  219. package/src/context-provenance.mjs +86 -0
  220. package/src/deadbyte-cli.mjs +145 -30
  221. package/src/document-adapter.mjs +43 -0
  222. package/src/lsp-stdio-client.mjs +112 -0
  223. package/src/machine-fs-smoke-client.mjs +2 -1
  224. package/src/machine-fs.mjs +51 -8
  225. package/src/mcp-server.mjs +46 -9
  226. package/src/native-diff-v2.mjs +337 -0
  227. package/src/native-diff.mjs +50 -2
  228. package/src/observation-smoke-client.mjs +3 -2
  229. package/src/operator-surface.mjs +43 -0
  230. package/src/process-runtime.mjs +98 -11
  231. package/src/process-smoke-client.mjs +11 -3
  232. package/src/provider-circuit.mjs +125 -0
  233. package/src/r36-compact-disarmed-probe.mjs +50 -0
  234. package/src/r36-full-surface-probe.mjs +56 -0
  235. package/src/release-generation.mjs +44 -5
  236. package/src/remote-live-log.mjs +76 -0
  237. package/src/remote-mcp-autonomous-smoke-client.mjs +58 -15
  238. package/src/remote-mcp-coding-smoke-client.mjs +5 -4
  239. package/src/remote-mcp-r24-disarmed-smoke-client.mjs +4 -2
  240. package/src/remote-mcp-r34-parity-client.mjs +177 -0
  241. package/src/remote-mcp-r36-parity-client.mjs +175 -0
  242. package/src/remote-mcp-smoke-client.mjs +113 -56
  243. package/src/remote-result-journal.mjs +114 -0
  244. package/src/runtime-update.mjs +109 -9
  245. package/src/search-cursor.mjs +45 -0
  246. package/src/semantic-backend-registry.mjs +39 -0
  247. package/src/semantic-code.mjs +246 -0
  248. package/src/semantic-lsp-backend.mjs +219 -0
  249. package/src/semantic-lsp-config.mjs +112 -0
  250. package/src/tool-surface-ledger.mjs +92 -0
  251. package/src/version.mjs +1 -1
  252. package/test/audit-verify.test.mjs +1 -1
  253. package/test/autonomous-action-reconcile.test.mjs +106 -0
  254. package/test/autonomous-adversarial.test.mjs +149 -6
  255. package/test/autonomous-capability-r36.test.mjs +151 -0
  256. package/test/autonomous-context-engine.test.mjs +181 -0
  257. package/test/autonomous-live-state.test.mjs +27 -0
  258. package/test/autonomous-local-supervisor.test.mjs +403 -0
  259. package/test/autonomous-loop-state.test.mjs +126 -0
  260. package/test/autonomous-loop-v2.test.mjs +105 -0
  261. package/test/autonomous-loop.test.mjs +79 -1
  262. package/test/autonomous-output-contract.test.mjs +54 -0
  263. package/test/autonomous-plan.test.mjs +101 -0
  264. package/test/autonomous-progress.test.mjs +106 -0
  265. package/test/autonomous-r34-e2e.test.mjs +338 -0
  266. package/test/autonomous-runtime.test.mjs +3 -3
  267. package/test/autonomous-supervisor-integration.test.mjs +48 -3
  268. package/test/capability-benchmark-r36.test.mjs +107 -0
  269. package/test/capability-benchmark-runner.test.mjs +49 -0
  270. package/test/capability-benchmark-semantic-r36.test.mjs +52 -0
  271. package/test/capability-benchmark.test.mjs +47 -0
  272. package/test/capability-claims-r36.test.mjs +23 -0
  273. package/test/capability-ledger-r36.test.mjs +102 -0
  274. package/test/cli-entrypoint.test.mjs +12 -0
  275. package/test/coding-catalog-consistency.test.mjs +24 -0
  276. package/test/coding-plane.test.mjs +3 -3
  277. package/test/coding-runtime.test.mjs +16 -0
  278. package/test/coding-search-r36.test.mjs +90 -0
  279. package/test/compact-catalog-r36.test.mjs +37 -0
  280. package/test/compact-gateway-r36.test.mjs +66 -0
  281. package/test/contained.test.mjs +1 -1
  282. package/test/context-provenance.test.mjs +61 -0
  283. package/test/controller-r27.test.mjs +4 -3
  284. package/test/controller.test.mjs +52 -0
  285. package/test/core.test.mjs +1 -1
  286. package/test/deferred-slot-operation-behavior.test.mjs +5 -1
  287. package/test/deferred-slot-operation.test.mjs +11 -1
  288. package/test/document-adapter.test.mjs +23 -0
  289. package/test/fixtures/lsp-framed-server.mjs +35 -0
  290. package/test/fixtures/semantic/cpp/compile_commands.json +4 -0
  291. package/test/fixtures/semantic/cpp/lib.cpp +2 -0
  292. package/test/fixtures/semantic/cpp/lib.hpp +2 -0
  293. package/test/fixtures/semantic/cpp/main.cpp +2 -0
  294. package/test/fixtures/semantic/python/lib.py +2 -0
  295. package/test/fixtures/semantic/python/main.py +2 -0
  296. package/test/fixtures/semantic/rust/Cargo.lock +7 -0
  297. package/test/fixtures/semantic/rust/Cargo.toml +8 -0
  298. package/test/fixtures/semantic/rust/src/lib.rs +3 -0
  299. package/test/fixtures/semantic/rust/src/main.rs +5 -0
  300. package/test/fixtures/semantic/rust/src/math.rs +3 -0
  301. package/test/fixtures/semantic/rust/target/.rustc_info.json +1 -0
  302. package/test/fixtures/semantic/rust/target/CACHEDIR.TAG +3 -0
  303. package/test/fixtures/semantic/rust/target/debug/.cargo-lock +0 -0
  304. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-4c168fa33c79d09c/dep-test-lib-semantic_rust +0 -0
  305. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-4c168fa33c79d09c/invoked.timestamp +1 -0
  306. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-4c168fa33c79d09c/test-lib-semantic_rust +1 -0
  307. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-4c168fa33c79d09c/test-lib-semantic_rust.json +1 -0
  308. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-5dcd474439c54a26/dep-test-bin-semantic_rust_bin +0 -0
  309. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-5dcd474439c54a26/invoked.timestamp +1 -0
  310. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-5dcd474439c54a26/test-bin-semantic_rust_bin +1 -0
  311. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-5dcd474439c54a26/test-bin-semantic_rust_bin.json +1 -0
  312. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-6212ccd976aa3808/dep-lib-semantic_rust +0 -0
  313. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-6212ccd976aa3808/invoked.timestamp +1 -0
  314. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-6212ccd976aa3808/lib-semantic_rust +1 -0
  315. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-6212ccd976aa3808/lib-semantic_rust.json +1 -0
  316. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-d741378dccdef61c/bin-semantic_rust_bin +1 -0
  317. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-d741378dccdef61c/bin-semantic_rust_bin.json +1 -0
  318. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-d741378dccdef61c/dep-bin-semantic_rust_bin +0 -0
  319. package/test/fixtures/semantic/rust/target/debug/.fingerprint/semantic_rust-d741378dccdef61c/invoked.timestamp +1 -0
  320. package/test/fixtures/semantic/rust/target/debug/deps/libsemantic_rust-4c168fa33c79d09c.rmeta +0 -0
  321. package/test/fixtures/semantic/rust/target/debug/deps/libsemantic_rust-6212ccd976aa3808.rmeta +0 -0
  322. package/test/fixtures/semantic/rust/target/debug/deps/libsemantic_rust_bin-5dcd474439c54a26.rmeta +0 -0
  323. package/test/fixtures/semantic/rust/target/debug/deps/libsemantic_rust_bin-d741378dccdef61c.rmeta +0 -0
  324. package/test/fixtures/semantic/rust/target/debug/deps/semantic_rust-4c168fa33c79d09c.d +5 -0
  325. package/test/fixtures/semantic/rust/target/debug/deps/semantic_rust-6212ccd976aa3808.d +5 -0
  326. package/test/fixtures/semantic/rust/target/debug/deps/semantic_rust_bin-5dcd474439c54a26.d +6 -0
  327. package/test/fixtures/semantic/rust/target/debug/deps/semantic_rust_bin-d741378dccdef61c.d +6 -0
  328. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-1nzlugxi6lq16/s-hmdgo8b6hg-1n6glhc-1qb77z00k06rqw4jdkj92spax/dep-graph.bin +0 -0
  329. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-1nzlugxi6lq16/s-hmdgo8b6hg-1n6glhc-1qb77z00k06rqw4jdkj92spax/query-cache.bin +0 -0
  330. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-1nzlugxi6lq16/s-hmdgo8b6hg-1n6glhc-1qb77z00k06rqw4jdkj92spax/work-products.bin +0 -0
  331. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-1nzlugxi6lq16/s-hmdgo8b6hg-1n6glhc.lock +0 -0
  332. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-3s436v7g6f5xm/s-hmdgo8b58k-1ekj4lq-9twkpivsqnjon278x20bddozq/dep-graph.bin +0 -0
  333. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-3s436v7g6f5xm/s-hmdgo8b58k-1ekj4lq-9twkpivsqnjon278x20bddozq/metadata.rmeta +0 -0
  334. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-3s436v7g6f5xm/s-hmdgo8b58k-1ekj4lq-9twkpivsqnjon278x20bddozq/query-cache.bin +0 -0
  335. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-3s436v7g6f5xm/s-hmdgo8b58k-1ekj4lq-9twkpivsqnjon278x20bddozq/work-products.bin +0 -0
  336. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust-3s436v7g6f5xm/s-hmdgo8b58k-1ekj4lq.lock +0 -0
  337. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-1jxcbdeehal7q/s-hmdgo8bxlf-1qr24o3-cmu3jai030no72y8u9eurrnjj/dep-graph.bin +0 -0
  338. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-1jxcbdeehal7q/s-hmdgo8bxlf-1qr24o3-cmu3jai030no72y8u9eurrnjj/query-cache.bin +0 -0
  339. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-1jxcbdeehal7q/s-hmdgo8bxlf-1qr24o3-cmu3jai030no72y8u9eurrnjj/work-products.bin +0 -0
  340. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-1jxcbdeehal7q/s-hmdgo8bxlf-1qr24o3.lock +0 -0
  341. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-2ocx55p60ni6b/s-hmdgo8bxj8-0ir41qt-diy9mqvc2eoiblmhjs3stcgi3/dep-graph.bin +0 -0
  342. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-2ocx55p60ni6b/s-hmdgo8bxj8-0ir41qt-diy9mqvc2eoiblmhjs3stcgi3/query-cache.bin +0 -0
  343. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-2ocx55p60ni6b/s-hmdgo8bxj8-0ir41qt-diy9mqvc2eoiblmhjs3stcgi3/work-products.bin +0 -0
  344. package/test/fixtures/semantic/rust/target/debug/incremental/semantic_rust_bin-2ocx55p60ni6b/s-hmdgo8bxj8-0ir41qt.lock +0 -0
  345. package/test/fixtures/semantic/rust/target/flycheck0/stderr +1 -0
  346. package/test/fixtures/semantic/rust/target/flycheck0/stdout +5 -0
  347. package/test/fixtures/semantic/typescript/lib.ts +3 -0
  348. package/test/fixtures/semantic/typescript/main.ts +2 -0
  349. package/test/fixtures/tool-surface-stdio-server.mjs +14 -0
  350. package/test/helpers/autonomous-r34-fixture.mjs +122 -0
  351. package/test/lsp-stdio-client.test.mjs +72 -0
  352. package/test/multi-file-read.test.mjs +44 -0
  353. package/test/native-diff-topology-r36.test.mjs +105 -0
  354. package/test/observation-integration.test.mjs +3 -3
  355. package/test/package-boundary.test.mjs +6 -0
  356. package/test/process-longrun-r36.test.mjs +82 -0
  357. package/test/process-release-gate.test.mjs +9 -0
  358. package/test/production-docs.test.mjs +48 -0
  359. package/test/prompts-resources.test.mjs +41 -0
  360. package/test/provider-circuit.test.mjs +93 -0
  361. package/test/public-autonomous-ingress-budget.test.mjs +28 -0
  362. package/test/r33-closeout-regression.test.mjs +4 -3
  363. package/test/r33-finalization.test.mjs +26 -18
  364. package/test/r36-finalization.test.mjs +104 -0
  365. package/test/r36-release-identity.test.mjs +52 -0
  366. package/test/release-generation.test.mjs +23 -2
  367. package/test/release-version.test.mjs +27 -17
  368. package/test/remote-live-log-r36.test.mjs +37 -0
  369. package/test/remote-live-log-recovery-r36.test.mjs +41 -0
  370. package/test/remote-r24-catalog.test.mjs +18 -4
  371. package/test/remote-result-journal.test.mjs +58 -0
  372. package/test/remote-session-cli.test.mjs +135 -30
  373. package/test/runtime-self-update.test.mjs +121 -1
  374. package/test/semantic-backend-registry.test.mjs +29 -0
  375. package/test/semantic-code.test.mjs +66 -0
  376. package/test/semantic-lsp-backend.test.mjs +108 -0
  377. package/test/semantic-lsp-config.test.mjs +81 -0
  378. package/test/semantic-lsp-readiness.test.mjs +34 -0
  379. package/test/semantic-lsp-transient-empty.test.mjs +32 -0
  380. package/test/semantic-lsp-transient-null.test.mjs +31 -0
  381. package/test/semantic-multilang.test.mjs +72 -0
  382. package/test/semantic-r36-rename.test.mjs +82 -0
  383. package/test/semantic-runtime-routing.test.mjs +32 -0
  384. package/test/semantic-server-config-integration.test.mjs +66 -0
  385. package/test/tool-surface-ledger.test.mjs +59 -0
  386. package/test/tool-surface-snapshot.test.mjs +17 -0
  387. package/test/tracer-bullet.test.mjs +77 -0
  388. 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
- foreach ($name in @('Bridge','Cloud')) {
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 -eq 'Bridge') {
70
- if (-not $spec.ContainsKey('ScriptPath') -or [string]::IsNullOrWhiteSpace([string]$spec.ScriptPath)) { Fail 'Bridge ScriptPath missing' }
71
- if (-not $spec.ContainsKey('ScriptSha256') -or [string]$spec.ScriptSha256 -cnotmatch '^[0-9a-f]{64}$') { Fail 'Bridge ScriptSha256 invalid' }
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 "Bridge ScriptPath missing: $scriptPath" }
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 "bridge script hash mismatch: expected $($spec.ScriptSha256), found $scriptHash" }
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 -eq 'Bridge') {
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 -eq 'Bridge') {
310
- if (-not $Spec) { Fail 'Bridge ledger requires launch specification' }
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 -eq 'Bridge') {
341
- $bridgeScriptHash = Get-ExecutableHash ([string]$Spec.ScriptPath)
342
- if ($bridgeScriptHash -ne [string]$Spec.ScriptSha256) { Fail "bridge script hash mismatch before start: expected $($Spec.ScriptSha256), found $bridgeScriptHash" }
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') { Run-Command $Command; exit 0 }
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.8.10 / R33'
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": "C:\\Users\\DEADBYTE\\Downloads\\deadbyte-mcp-r33-final-candidate-v2\\controller\\runtime\\process-grant.json",
5
- "state_dir": "C:\\Users\\DEADBYTE\\Downloads\\deadbyte-mcp-r33-final-candidate-v2\\controller\\runtime\\process-state",
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": "C:\\Users\\DEADBYTE\\Downloads\\deadbyte-mcp-r33-final-candidate-v2\\bin\\deadbyte-process-host.exe",
8
- "sha256": "6e8ca7085495a04b9c56e3f7b17142a0e866b1571475ef6a6d90d87f544aab41"
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": "C:\\Users\\DEADBYTE\\Downloads\\deadbyte-mcp-r33-final-candidate-v2",
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.
@@ -1,4 +1,4 @@
1
- # DEADBYTE MCP V0.8.10 / R33 ARCHITECTURE
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 17 Tools]
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, tails only newly appended
46
- audit/runtime logs, and revokes all four grants plus parks the Bridge on graceful session exit.
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 R33 runtime exposes exactly 68 tools. Process authority is independently granted;
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.