deadbyte-mcp 0.14.0 → 0.15.1

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 (157) hide show
  1. package/AGENTS.md +11 -18
  2. package/CONTEXT.md +3 -3
  3. package/MANIFEST.SHA256 +156 -70
  4. package/PROVENANCE.json +10 -0
  5. package/R43-PARENT.json +20 -0
  6. package/R44-DONORS.json +99 -0
  7. package/R44-PARENT.json +18 -0
  8. package/R45-PARENT.json +18 -0
  9. package/README.txt +19 -14
  10. package/RELEASE.json +37 -0
  11. package/SBOM.cdx.json +46 -0
  12. package/TEST-MATRIX.json +31 -0
  13. package/bin/deadbyte-hardware-observer-r45.exe +0 -0
  14. package/bin/deadbyte-hardware-observer-r45.obj +0 -0
  15. package/controller/README.TXT +5 -6
  16. package/controller/deadbyte-controller.ps1 +2 -2
  17. package/docs/ARCHITECTURE.md +8 -1
  18. package/docs/R44-ARCHITECTURE.md +37 -0
  19. package/native/deadbyte-hardware-observer.cpp +308 -0
  20. package/package.json +18 -8
  21. package/scripts/autonomous-tests.ps1 +2 -2
  22. package/scripts/build-hardware-r45.ps1 +71 -0
  23. package/scripts/deferred-slot-operation-r43.mjs +126 -0
  24. package/scripts/deferred-slot-operation-r44.mjs +126 -0
  25. package/scripts/deferred-slot-operation-r45.mjs +126 -0
  26. package/scripts/derive-r45-parent.mjs +24 -0
  27. package/scripts/derive-r45-release.mjs +72 -0
  28. package/scripts/derive-r45-tests.mjs +20 -0
  29. package/scripts/final-closure-r43.mjs +115 -0
  30. package/scripts/final-closure-r44.mjs +121 -0
  31. package/scripts/final-closure-r45.mjs +121 -0
  32. package/scripts/final-closure-verify-r43.mjs +213 -0
  33. package/scripts/final-closure-verify-r44.mjs +220 -0
  34. package/scripts/final-closure-verify-r45.mjs +220 -0
  35. package/scripts/finalize-r43.mjs +217 -0
  36. package/scripts/finalize-r44.mjs +217 -0
  37. package/scripts/finalize-r45.mjs +219 -0
  38. package/scripts/full-regression-r43.mjs +20 -0
  39. package/scripts/full-regression-r44.mjs +20 -0
  40. package/scripts/full-regression-r45.mjs +20 -0
  41. package/scripts/full-regression-summary-r45.mjs +14 -0
  42. package/scripts/gate-windows-r43.ps1 +36 -0
  43. package/scripts/gate-windows-r44.ps1 +36 -0
  44. package/scripts/gate-windows-r45.ps1 +44 -0
  45. package/scripts/init-host-policy.ps1 +39 -1
  46. package/scripts/inspect-active-release-r45.mjs +20 -0
  47. package/scripts/release-manifest.mjs +3 -1
  48. package/scripts/release-parity-r43.mjs +218 -0
  49. package/scripts/release-parity-r44.mjs +242 -0
  50. package/scripts/release-parity-r45.mjs +253 -0
  51. package/scripts/release-parity-tests-r43.ps1 +8 -0
  52. package/scripts/release-parity-tests-r44.ps1 +8 -0
  53. package/scripts/release-parity-tests-r45.ps1 +8 -0
  54. package/scripts/verify-r43-parent.mjs +126 -0
  55. package/scripts/verify-r44-parent.mjs +142 -0
  56. package/scripts/verify-r45-parent.mjs +142 -0
  57. package/scripts/windows-gate-evidence-r43.mjs +55 -0
  58. package/scripts/windows-gate-evidence-r44.mjs +55 -0
  59. package/scripts/windows-gate-evidence-r45.mjs +60 -0
  60. package/src/agent-backend-r44.mjs +254 -0
  61. package/src/autonomous-output-contracts.mjs +1 -1
  62. package/src/autonomous-policy.mjs +41 -4
  63. package/src/autonomous-runtime.mjs +37 -19
  64. package/src/autonomous-supervisor-host.mjs +12 -2
  65. package/src/capability-ledger.mjs +3 -1
  66. package/src/codex-app-server-r44.mjs +154 -0
  67. package/src/coding-plane.mjs +66 -19
  68. package/src/compact-gateway-mcp-tools.mjs +4 -2
  69. package/src/deadbyte-cli.mjs +17 -9
  70. package/src/doctor-r45.mjs +65 -0
  71. package/src/durable-job-r44.mjs +145 -0
  72. package/src/external-job-provider-r44.mjs +126 -0
  73. package/src/host-plane.mjs +156 -87
  74. package/src/job-supervisor-host-r44.mjs +112 -0
  75. package/src/machine-fs-smoke-client.mjs +1 -1
  76. package/src/machine-fs.mjs +21 -10
  77. package/src/mcp-host-smoke-client.mjs +1 -1
  78. package/src/mcp-server.mjs +84 -26
  79. package/src/mcp-smoke-client.mjs +1 -1
  80. package/src/native-diff-v2.mjs +12 -7
  81. package/src/native-diff.mjs +32 -9
  82. package/src/observation-mcp-tools.mjs +5 -1
  83. package/src/observation-output-contracts.mjs +8 -0
  84. package/src/observation-runtime.mjs +33 -2
  85. package/src/observation-smoke-client.mjs +7 -3
  86. package/src/operator-surface.mjs +2 -2
  87. package/src/output-contracts.mjs +27 -11
  88. package/src/process-policy.mjs +19 -0
  89. package/src/process-runtime.mjs +5 -2
  90. package/src/process-smoke-client.mjs +2 -2
  91. package/src/provider-circuit.mjs +8 -2
  92. package/src/r44-compact-disarmed-probe.mjs +74 -0
  93. package/src/r44-full-surface-probe.mjs +34 -0
  94. package/src/r45-compact-disarmed-probe.mjs +74 -0
  95. package/src/r45-full-surface-probe.mjs +34 -0
  96. package/src/release-generation.mjs +1 -0
  97. package/src/remote-device-r44.mjs +205 -0
  98. package/src/remote-mcp-autonomous-smoke-client.mjs +4 -4
  99. package/src/remote-mcp-r44-parity-client.mjs +203 -0
  100. package/src/remote-mcp-r45-parity-client.mjs +206 -0
  101. package/src/remote-mcp-smoke-client.mjs +7 -4
  102. package/src/runtime-update.mjs +100 -39
  103. package/src/skill-mcp-tools-r44.mjs +37 -0
  104. package/src/skill-plane-r44.mjs +203 -0
  105. package/src/tunnel-stdio-compat-smoke.mjs +1 -1
  106. package/src/version.mjs +1 -1
  107. package/test/agent-backend-r44.test.mjs +115 -0
  108. package/test/agent-runtime.test.mjs +4 -3
  109. package/test/autonomous-loop.test.mjs +121 -11
  110. package/test/autonomous-runtime.test.mjs +3 -2
  111. package/test/capability-ledger-r36.test.mjs +3 -3
  112. package/test/cli-entrypoint.test.mjs +4 -4
  113. package/test/codex-app-server-r44.test.mjs +115 -0
  114. package/test/codex-autonomous-r44.test.mjs +87 -0
  115. package/test/coding-plane.test.mjs +3 -2
  116. package/test/coding-runtime.test.mjs +36 -1
  117. package/test/compact-catalog-r36.test.mjs +3 -3
  118. package/test/compact-max-catalog-r40.test.mjs +4 -2
  119. package/test/compact-max-catalog-r44.test.mjs +97 -0
  120. package/test/compact-max-catalog-r45.test.mjs +99 -0
  121. package/test/contained.test.mjs +23 -11
  122. package/test/controller.test.mjs +5 -1
  123. package/test/core.test.mjs +1 -1
  124. package/test/durable-job-r44.test.mjs +75 -0
  125. package/test/external-job-provider-r44.test.mjs +46 -0
  126. package/test/full-max-catalog-r40.test.mjs +5 -3
  127. package/test/full-max-catalog-r44.test.mjs +91 -0
  128. package/test/full-max-catalog-r45.test.mjs +91 -0
  129. package/test/hardware-observation-r45.test.mjs +44 -0
  130. package/test/host-inline-r45.test.mjs +67 -0
  131. package/test/host-plane.test.mjs +15 -1
  132. package/test/machine-mcp-integration.test.mjs +1 -0
  133. package/test/native-diff.test.mjs +28 -0
  134. package/test/observation-mcp-tools.test.mjs +4 -3
  135. package/test/output-schema.test.mjs +3 -2
  136. package/test/package-boundary.test.mjs +1 -1
  137. package/test/process-policy.test.mjs +22 -1
  138. package/test/production-docs.test.mjs +3 -3
  139. package/test/prompts-resources.test.mjs +1 -1
  140. package/test/r33-closeout-regression.test.mjs +20 -36
  141. package/test/r33-finalization.test.mjs +7 -7
  142. package/test/r43-finalization.test.mjs +31 -0
  143. package/test/r43-finalizer.test.mjs +34 -0
  144. package/test/r43-parent.test.mjs +29 -0
  145. package/test/r44-finalization.test.mjs +58 -0
  146. package/test/r44-finalizer.test.mjs +48 -0
  147. package/test/r44-parent.test.mjs +25 -0
  148. package/test/r45-autonomous-quick-test.test.mjs +10 -0
  149. package/test/r45-finalization.test.mjs +84 -0
  150. package/test/release-generation.test.mjs +1 -0
  151. package/test/release-version.test.mjs +65 -20
  152. package/test/remote-device-r44.test.mjs +104 -0
  153. package/test/runtime-host-bootstrap-r45.test.mjs +46 -0
  154. package/test/runtime-self-update.test.mjs +42 -0
  155. package/test/skill-mcp-r44.test.mjs +38 -0
  156. package/test/skill-plane-r44.test.mjs +93 -0
  157. package/test/standing-grants.test.mjs +5 -1
@@ -0,0 +1,99 @@
1
+ {
2
+ "schema": "deadbyte.r44-donors.v1",
3
+ "observed_at_utc": "2026-09-21T00:00:00+07:00",
4
+ "policy": "reference-and-selective-port-only",
5
+ "donors": [
6
+ {
7
+ "id": "desktop-commander-mcp",
8
+ "url": "https://github.com/wonderwhy-er/DesktopCommanderMCP",
9
+ "license": "MIT",
10
+ "source_available": true,
11
+ "use": "implementation-reference",
12
+ "adopt": [
13
+ "interactive process/session UX",
14
+ "bounded output pagination",
15
+ "filesystem/search ergonomics",
16
+ "local audit history",
17
+ "remote-device lessons"
18
+ ],
19
+ "reject": [
20
+ "raw arbitrary authority widening",
21
+ "PID-as-authority",
22
+ "in-memory-only persistence assumptions",
23
+ "untyped background lifetime"
24
+ ]
25
+ },
26
+ {
27
+ "id": "remote-desktop-commander",
28
+ "url": "https://github.com/desktop-commander/remote-desktop-commander",
29
+ "license": "repository-docs/manifests-public; hosted-service-proprietary",
30
+ "source_available": false,
31
+ "use": "protocol-and-product-contract-reference",
32
+ "adopt": [
33
+ "OAuth2 PKCE client authorization",
34
+ "OAuth device authorization pairing",
35
+ "multi-machine naming/routing",
36
+ "device revoke semantics",
37
+ "Streamable HTTP remote MCP shape"
38
+ ],
39
+ "reject": [
40
+ "hosted relay dependency",
41
+ "online status without end-to-end reachability proof",
42
+ "remote authority mirroring local user permissions without DEADBYTE policy"
43
+ ]
44
+ },
45
+ {
46
+ "id": "desktop-commander-skills",
47
+ "url": "https://github.com/desktop-commander/skills",
48
+ "license": "repository-specific",
49
+ "source_available": true,
50
+ "use": "format-and-workflow-reference",
51
+ "adopt": [
52
+ "SKILL.md progressive disclosure",
53
+ "small metadata-first catalog",
54
+ "references/scripts separation"
55
+ ],
56
+ "extend": [
57
+ "content-addressed manifest",
58
+ "declared capability requirements",
59
+ "declared authority planes",
60
+ "resource hashes",
61
+ "provenance",
62
+ "cryptographic verification"
63
+ ],
64
+ "reject": [
65
+ "skill text as authority",
66
+ "skill-triggered self-arming"
67
+ ]
68
+ },
69
+ {
70
+ "id": "codex-app-server-provider",
71
+ "requested_url": "https://github.com/wonderwhy-er/ai-sdk-provider-codex-app-server",
72
+ "corroborating_public_url": "https://github.com/pablof7z/ai-sdk-provider-codex-app-server",
73
+ "license": "MIT on corroborating implementation",
74
+ "use": "agent-backend-contract-reference",
75
+ "adopt": [
76
+ "persistent JSON-RPC process",
77
+ "persistent/stateless thread modes",
78
+ "mid-execution message injection",
79
+ "interrupt",
80
+ "server-initiated request handling",
81
+ "model discovery"
82
+ ],
83
+ "reject": [
84
+ "auto-approval as authority",
85
+ "danger-full-access default",
86
+ "provider-owned permission semantics overriding DEADBYTE authority"
87
+ ]
88
+ }
89
+ ],
90
+ "adversarial_acceptance": [
91
+ "rotated credentials persist atomically before old credentials become unusable",
92
+ "registered is not reachable: online requires verified transport readiness and request acknowledgement",
93
+ "remote requests are idempotently identified and cannot disappear silently without a terminal transport result",
94
+ "shared state files commit by atomic rename and readers never accept truncated JSON",
95
+ "persistent jobs declare ownership and survive only under an explicit external supervisor contract",
96
+ "skills cannot widen or arm authority and every loaded byte is hash-bound",
97
+ "agent backend threads survive controller recreation through durable thread identity without granting new authority"
98
+ ]
99
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "schema": "deadbyte.r44-parent.v1",
3
+ "parent_release_id": "v0.14.1-0a5a833892593283",
4
+ "parent_version": "0.14.1",
5
+ "parent_manifest_sha256": "0a5a8338925932830986421dda60ec5643f62f600404de4992fda2a5e79d09a9",
6
+ "parent_manifest_file_count": 1834,
7
+ "parent_release_root": "C:\\Users\\DEADBYTE\\.deadbyte-mcp\\releases\\v0.14.1-0a5a833892593283",
8
+ "parent_generation_manifest_sha256": "fcfcb5a47d55039b7bb5d42faa0739b57b13d8a420d4418ae09d96d2862967cb",
9
+ "parent_generation_file_count": 7,
10
+ "parent_generation_root": "C:\\Users\\DEADBYTE\\.deadbyte-mcp\\generations\\v0.14.1-0a5a833892593283-ga2198d593efd75bd",
11
+ "parent_launcher_sha256": "e054796810c3d7be99ff3036e7427c5b75cfd823ea82808edcd28e928252e37e",
12
+ "parent_final_closure_path": "C:\\Users\\DEADBYTE\\.deadbyte-mcp\\evidence\\release\\r43-final-0a5a833892593283.json",
13
+ "parent_final_closure_file_sha256": "f24100212b55d2016ea9c4ff47df5f026c8edc0b9b8643933ed8bf26fde3803f",
14
+ "parent_final_closure_sha256": "2f29e94dd726638c23b2e520a608dcf2a6919e43348855be3940599d557f920b",
15
+ "parent_final_closure_signer_key_id": "c0727a7911e29a0f1edd3cd910e47f89f43edb484743988c89cd82bfd5e37936",
16
+ "parent_proof": "immutable-slot+generation+signed-final-closure",
17
+ "development_root": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-r42-agentic-dev"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "schema": "deadbyte.r45-parent.v1",
3
+ "parent_release_id": "v0.15.0-c15fa41719be61b3",
4
+ "parent_version": "0.15.0",
5
+ "parent_manifest_sha256": "c15fa41719be61b3186e49b2367a5f4c057365cfb465102dbefb7d7355f45483",
6
+ "parent_manifest_file_count": 1871,
7
+ "parent_generation_manifest_sha256": "6d7429c050b7fe893492e102f00282019116e0c9e54e4f25a5791defa1661d30",
8
+ "parent_generation_file_count": 7,
9
+ "parent_final_closure_path": "C:\\Users\\DEADBYTE\\.deadbyte-mcp\\evidence\\release\\r44-final-c15fa41719be61b3.json",
10
+ "parent_final_closure_file_sha256": "8aa9c31ab18dfde67275d7cd59295ba08099839d35d6c97ee277fb184c05cae0",
11
+ "parent_final_closure_sha256": "533b7e0ff9ded04086dd90ed34e3b87bc427acc3c55c25bb9f4ec66cb448e667",
12
+ "parent_final_closure_signer_key_id": "c0727a7911e29a0f1edd3cd910e47f89f43edb484743988c89cd82bfd5e37936",
13
+ "parent_release_root": "C:\\Users\\DEADBYTE\\.deadbyte-mcp\\releases\\v0.15.0-c15fa41719be61b3",
14
+ "parent_generation_root": "C:\\Users\\DEADBYTE\\.deadbyte-mcp\\generations\\v0.15.0-c15fa41719be61b3-g85724aec91800ce8",
15
+ "parent_launcher_sha256": "e054796810c3d7be99ff3036e7427c5b75cfd823ea82808edcd28e928252e37e",
16
+ "development_root": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-r42-agentic-dev",
17
+ "parent_proof": "immutable-slot+generation+signed-final-closure"
18
+ }
package/README.txt CHANGED
@@ -1,4 +1,4 @@
1
- DEADBYTE MCP V0.14.0 / R42 AGENTIC GOVERNANCE BASELINE
1
+ DEADBYTE MCP V0.15.1 / R45 MACHINE FREEDOM FINAL BASELINE
2
2
  =========================
3
3
 
4
4
  AUTHENTICATED MACHINE TRUTH + DURABLE AGENT + CODING + AUTONOMOUS PRODUCTION ENGINE
@@ -7,12 +7,12 @@ NPX PRIMARY OPERATOR UX
7
7
  ------------------------
8
8
  Use the npm CLI entry point instead of the legacy CMD convenience wrapper:
9
9
 
10
- npx -y deadbyte-mcp@0.14.0 mcp
11
- npx deadbyte-mcp@latest remote
12
- npx deadbyte-mcp@latest remote status
13
- npx deadbyte-mcp@latest remote restart
14
- npx deadbyte-mcp@latest audit status
15
- npx deadbyte-mcp@latest audit verify
10
+ npx -y deadbyte-mcp@0.15.1 mcp
11
+ npx -y deadbyte-mcp@0.15.1 remote
12
+ npx -y deadbyte-mcp@0.15.1 remote status
13
+ npx -y deadbyte-mcp@0.15.1 remote restart
14
+ npx -y deadbyte-mcp@0.15.1 audit status
15
+ npx -y deadbyte-mcp@0.15.1 audit verify
16
16
 
17
17
  The `mcp` command is the quiet stdio server entry for local MCP clients; stdout is reserved for MCP.
18
18
  The remote CLI invokes the stable active-release PowerShell launcher directly with shell=false.
@@ -213,7 +213,7 @@ CONTROLLER
213
213
  ----------
214
214
  Primary operator entry point:
215
215
 
216
- npx deadbyte-mcp@latest remote
216
+ npx -y deadbyte-mcp@0.15.1 remote
217
217
 
218
218
  The legacy CMD entry remains compatibility-only for R33 rollback safety.
219
219
 
@@ -274,7 +274,7 @@ MCP CLIENT CONFIGURATION
274
274
  ------------------------
275
275
  The local stdio entry point is quiet and suitable for MCP hosts:
276
276
 
277
- npx -y deadbyte-mcp@0.11.3 mcp
277
+ npx -y deadbyte-mcp@0.15.1 mcp
278
278
 
279
279
  CLAUDE DESKTOP
280
280
  Use the standard local-server entry in claude_desktop_config.json:
@@ -283,7 +283,7 @@ Use the standard local-server entry in claude_desktop_config.json:
283
283
  "mcpServers": {
284
284
  "deadbyte": {
285
285
  "command": "npx",
286
- "args": ["-y", "deadbyte-mcp@0.11.3", "mcp"]
286
+ "args": ["-y", "deadbyte-mcp@0.15.1", "mcp"]
287
287
  }
288
288
  }
289
289
  }
@@ -296,7 +296,7 @@ Create .cursor/mcp.json:
296
296
  "deadbyte": {
297
297
  "type": "stdio",
298
298
  "command": "npx",
299
- "args": ["-y", "deadbyte-mcp@0.11.3", "mcp"]
299
+ "args": ["-y", "deadbyte-mcp@0.15.1", "mcp"]
300
300
  }
301
301
  }
302
302
  }
@@ -309,7 +309,7 @@ Create .vscode/mcp.json:
309
309
  "deadbyte": {
310
310
  "type": "stdio",
311
311
  "command": "npx",
312
- "args": ["-y", "deadbyte-mcp@0.11.3", "mcp"]
312
+ "args": ["-y", "deadbyte-mcp@0.15.1", "mcp"]
313
313
  }
314
314
  }
315
315
  }
@@ -319,9 +319,9 @@ Add this to ~/.codex/config.toml:
319
319
 
320
320
  [mcp_servers.deadbyte]
321
321
  command = "npx"
322
- args = ["-y", "deadbyte-mcp@0.11.3", "mcp"]
322
+ args = ["-y", "deadbyte-mcp@0.15.1", "mcp"]
323
323
 
324
- The remote device path remains `npx deadbyte-mcp@latest remote`. Remote public MCP uses the
324
+ The remote device path remains `npx -y deadbyte-mcp@0.15.1 remote`. Remote public MCP uses the
325
325
  verified HTTPS named-tunnel URL selected by the active generation; do not commit a private device
326
326
  URL or tunnel token into a repository.
327
327
 
@@ -399,3 +399,8 @@ hosted convenience on one side; self-owned release/evidence authority on the oth
399
399
  NO RAW SHELL COMMAND STRING. NO CALLER-SELECTED EXECUTABLE. CODING AND AUTONOMOUS
400
400
  EXECUTION REQUIRE EXPLICIT LOCAL STANDING GRANTS. REPORTS ARE CLAIMS; VERIFIED
401
401
  OBSERVATIONS AND SIGNED EVIDENCE ARE AUTHORITY.
402
+
403
+
404
+ R44 REMOTE AGENT / SKILL / DURABLE JOB
405
+ ---------------------------------------
406
+ R44 keeps the R43 authority model and adds one read-only public skill_catalog, bringing the compact/full surfaces to exact 43/81. Skills are Ed25519/content-addressed and cannot arm authority. The optional codex_app_server planner is executable-hash pinned, uses approvalPolicy=never and read-only sandbox defaults, persists thread identity, and fails closed on interrupted requests. Remote devices require Ed25519 identity, epoch, verified reachability, local capability authorization, durable request IDs and terminal acknowledgement. Persistent jobs require the external supervisor and exact process identity.
package/RELEASE.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "schema": "deadbyte.release.v1",
3
+ "name": "deadbyte-mcp",
4
+ "version": "0.15.1",
5
+ "train": "R45",
6
+ "label": "MACHINE FREEDOM FINAL BASELINE",
7
+ "protocol_revision": "2026-07-28",
8
+ "parent": {
9
+ "release_id": "v0.15.0-c15fa41719be61b3",
10
+ "manifest_sha256": "c15fa41719be61b3186e49b2367a5f4c057365cfb465102dbefb7d7355f45483",
11
+ "generation_manifest_sha256": "6d7429c050b7fe893492e102f00282019116e0c9e54e4f25a5791defa1661d30",
12
+ "final_closure_sha256": "533b7e0ff9ded04086dd90ed34e3b87bc427acc3c55c25bb9f4ec66cb448e667"
13
+ },
14
+ "platform": {
15
+ "primary": "win32",
16
+ "architectures": [
17
+ "x64"
18
+ ]
19
+ },
20
+ "capabilities": {
21
+ "host_execution_modes": [
22
+ "script",
23
+ "inline",
24
+ "native"
25
+ ],
26
+ "hardware_queries": [
27
+ "cpu",
28
+ "gpu",
29
+ "memory",
30
+ "storage",
31
+ "network",
32
+ "pci"
33
+ ],
34
+ "compact_tool_count": 43,
35
+ "full_tool_count": 82
36
+ }
37
+ }
package/SBOM.cdx.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "bomFormat": "CycloneDX",
3
+ "specVersion": "1.6",
4
+ "serialNumber": "urn:uuid:deadbyte-mcp-r45-0-15-1",
5
+ "version": 1,
6
+ "metadata": {
7
+ "component": {
8
+ "type": "application",
9
+ "name": "deadbyte-mcp",
10
+ "version": "0.15.1"
11
+ }
12
+ },
13
+ "components": [
14
+ {
15
+ "type": "library",
16
+ "name": "@modelcontextprotocol/client",
17
+ "version": "2.0.0"
18
+ },
19
+ {
20
+ "type": "library",
21
+ "name": "@modelcontextprotocol/server",
22
+ "version": "2.0.0"
23
+ },
24
+ {
25
+ "type": "library",
26
+ "name": "typescript",
27
+ "version": "5.9.3"
28
+ },
29
+ {
30
+ "type": "library",
31
+ "name": "zod",
32
+ "version": "4.4.3"
33
+ },
34
+ {
35
+ "type": "file",
36
+ "name": "deadbyte-hardware-observer-r45.exe",
37
+ "version": "0.15.1",
38
+ "hashes": [
39
+ {
40
+ "alg": "SHA-256",
41
+ "content": "46bcd3768bb95f8c63fc3118e031efc2818a92929611cabf6c3b29c5162a6591"
42
+ }
43
+ ]
44
+ }
45
+ ]
46
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "schema": "deadbyte.test-matrix.v1",
3
+ "version": "0.15.1",
4
+ "primary_platform": "win32-x64",
5
+ "required": [
6
+ {
7
+ "id": "parent-chain",
8
+ "command": "npm run r45:parent:verify",
9
+ "expected": "PASS"
10
+ },
11
+ {
12
+ "id": "machine-freedom",
13
+ "command": "node --test test/host-inline-r45.test.mjs test/hardware-observation-r45.test.mjs",
14
+ "expected": "PASS"
15
+ },
16
+ {
17
+ "id": "full-regression",
18
+ "command": "npm run r45:full:test",
19
+ "expected": "PASS"
20
+ },
21
+ {
22
+ "id": "windows-gate",
23
+ "command": "npm run gate:windows",
24
+ "expected": "PASS"
25
+ }
26
+ ],
27
+ "non_win32": {
28
+ "portable_tests": "supported where platform-independent",
29
+ "windows_native_tests": "SKIP/unsupported"
30
+ }
31
+ }
@@ -1,18 +1,18 @@
1
- DEADBYTE MCP V0.14.0 / R42 CONTROLLER
1
+ DEADBYTE MCP V0.15.1 / R45 CONTROLLER
2
2
  ====================================
3
3
 
4
4
  ENTRY POINT
5
5
  -----------
6
6
  Primary operator entry point:
7
7
 
8
- npx deadbyte-mcp@latest remote
8
+ npx -y deadbyte-mcp@0.15.1 remote
9
9
 
10
10
  Bare `remote` is a foreground device session. It starts the verified runtime, arms process,
11
11
  coding, and autonomous authority, verifies those three planes are ARMED, and requires Desktop and Host
12
12
  to stay DISARMED. R40 Desktop observation/UIA grounding remains available read-only; GUI mutation needs
13
13
  the separate explicit Desktop standing grant and Autonomous authority cannot substitute for it.
14
- The production Bridge uses the compact capability profile (exact 42 tools / 6 gateways) while local
15
- stdio MCP keeps the exact full 80-tool profile. The compact console shows request-before-result
14
+ The production Bridge uses the compact capability profile (exact 43 tools / 6 gateways) while local
15
+ stdio MCP keeps the exact full 81-tool profile. The compact console shows request-before-result
16
16
  Live Activity without raw SHA text, request IDs, payload JSON, or duplicate Bridge stdout by
17
17
  default; use `remote --verbose` for the detailed audit/runtime stream. Ctrl+C/SIGTERM or foreground
18
18
  input closure revokes Desktop/process/coding/autonomous authority, applies fail-safe Host disarm, and parks
@@ -101,8 +101,7 @@ policy digests and profile hashes to the explicit mutable development root; the
101
101
  autonomoustest run the R37 compact public capability-closure MRTR production gate
102
102
 
103
103
  disarmcoding also revokes autonomous authority. No MCP tool creates or widens either
104
- grant. With an openai_compatible planner the MCP server starts a background supervisor;
105
- client_sampling uses the connected MCP client's model with durable resume state.
104
+ grant. Provider-backed planners (openai_compatible, openai_responses, or hash-pinned codex_app_server) use the background supervisor; client_sampling uses the connected MCP client's model with durable resume state.
106
105
 
107
106
  R27 IMMUTABLE SLOT UPDATE
108
107
  -------------------------
@@ -787,7 +787,7 @@ function Get-HostPolicyMetadata($Cfg) {
787
787
  if ([string]::IsNullOrWhiteSpace([string]$Cfg.HostPolicyFile)) { Fail 'privileged host plane is not configured' }
788
788
  $policyPath = [string]$Cfg.HostPolicyFile
789
789
  try { $policy = Get-Content -LiteralPath $policyPath -Raw -Encoding UTF8 | ConvertFrom-Json } catch { Fail "invalid host policy JSON: $policyPath" }
790
- if ($policy.schema -ne 'deadbyte.host-policy.v1' -or $policy.enabled -ne $true) { Fail 'host policy schema/enabled mismatch' }
790
+ if (@('deadbyte.host-policy.v1','deadbyte.host-policy.v2') -notcontains [string]$policy.schema -or $policy.enabled -ne $true) { Fail 'host policy schema/enabled mismatch' }
791
791
  if ([string]::IsNullOrWhiteSpace([string]$policy.arm_file)) { Fail 'host policy arm_file missing' }
792
792
  $armFile = [System.IO.Path]::GetFullPath([string]$policy.arm_file)
793
793
  $runtimeReal = [System.IO.Path]::GetFullPath($RuntimeDir).TrimEnd('\') + '\'
@@ -1336,7 +1336,7 @@ while ($true) {
1336
1336
  Clear-Host
1337
1337
  $cfg = Get-Config
1338
1338
  Assert-ControllerRootBound $cfg
1339
- Write-Host 'DEADBYTE MCP ON-DEMAND CONTROLLER V0.14.0 / R42'
1339
+ Write-Host 'DEADBYTE MCP ON-DEMAND CONTROLLER V0.15.1 / R45'
1340
1340
  Write-Host '======================================'
1341
1341
  Show-State $cfg | Out-Null
1342
1342
  Write-Host ''
@@ -1,4 +1,4 @@
1
- # DEADBYTE MCP V0.14.0 / R42 ARCHITECTURE
1
+ # DEADBYTE MCP V0.15.1 / R45 ARCHITECTURE
2
2
 
3
3
  ```mermaid
4
4
  flowchart TD
@@ -180,3 +180,10 @@ The controller defaults `MachineRuntimeEnabled` on, forwards it only to the Brid
180
180
  non-mutating `machinetest` public HTTPS gate. That gate cross-checks status/list, derives machine_id
181
181
  from public SPKI, issues a random nonce, and verifies the Ed25519 signature without target-local key
182
182
  access. See `V085-R29-MACHINE-IDENTITY.md`.
183
+
184
+
185
+ ## R44 remote-agent and skill boundary
186
+
187
+ R44 adds one read-only public `skill_catalog`, making the current full/compact catalogs exactly 81/43 while sealed R43 remains 80/42. Skill manifests are Ed25519-authenticated, content-addressed closed-world resource sets; skill content is never authority.
188
+
189
+ The Agent Backend commits pending requests before send and classifies unresolved restart work as interrupted. The Codex app-server adapter binds current thread/turn identities, defaults approvals to never and sandbox to read-only, and persists logical thread identity. Remote Device routing requires Ed25519 SPKI + epoch, verified reachability, local capability authorization, stable request identity and terminal state. Only the external Durable Job supervisor may own persistent jobs; reattachment requires exact handle, PID, creation identity and profile.
@@ -0,0 +1,37 @@
1
+ # DEADBYTE MCP R44 Architecture
2
+
3
+ R44 / V0.15.0 is the remote-agent-and-skill successor to sealed R43 `v0.14.1-0a5a833892593283`. R43 is immutable parent authority.
4
+
5
+ ## Decision
6
+
7
+ R44 keeps DEADBYTE authority, evidence, release slots, typed tools, hash preconditions, signed journals, rollback and all-disarmed closure as the foundation. External projects are donors and failure corpora, never authority.
8
+
9
+ ## New planes
10
+
11
+ ### Skill Plane
12
+
13
+ Metadata-first progressive disclosure. A catalog entry exposes only name, version, description, capability requirements and authority declarations. Loading a skill verifies a content-addressed manifest, every declared resource hash, provenance, and Ed25519 attestation before returning instructions. Skill text cannot arm or renew Process, Coding, Autonomous, Desktop or Host.
14
+
15
+ ### Agent Backend Plane
16
+
17
+ A persistent JSON-RPC process contract for Codex app-server style providers. Session identity is durable and explicit. Threads support resume, bounded injection and interrupt. Server-initiated approval requests are translated into DEADBYTE policy/consent checks; provider auto-approval never widens authority.
18
+
19
+ ### Remote Device Plane
20
+
21
+ Device identity is a public-key identity plus epoch, not a display name. Pairing and AI-client authorization are separate. OAuth2/PKCE and device authorization may establish authentication, but a remote call is executable only when the local device reports a verified ready transport and the requested DEADBYTE capability is locally authorized. Delivery uses stable request IDs and terminal acknowledgement states.
22
+
23
+ ### Durable Job Supervisor
24
+
25
+ Every job declares one lifetime: controller-owned, session-owned, or persistent. Persistent means an out-of-process supervisor owns execution, durable status/log identity exists, and restart recovery proves the same job identity. A timeout is never silently rebranded as persistence.
26
+
27
+ ## R44 hard rules
28
+
29
+ - R43 release slot and final evidence are read-only.
30
+ - No external donor may add raw shell/PID/stdin/environment authority to the public surface.
31
+ - No skill, remote relay, provider, model, or client can arm a DEADBYTE authority plane.
32
+ - Shared JSON state is atomic temp+fsync+rename; corrupted/truncated state fails closed.
33
+ - Online/reachable are distinct states; only reachable may accept routed work.
34
+ - Remote calls have stable IDs, replay classification, acknowledgement and terminal result/error.
35
+ - Credential rotation is persisted atomically before the superseded credential is discarded.
36
+ - All new public tools have strict input and output schemas.
37
+ - R44 Final requires exact R43 parent proof, full regression, restart/recovery adversarial tests, remote/skill/backend gates, reversible activation, exact R43 rollback, same-slot R44 restore, and signed all-disarmed closure.