deadbyte-mcp 0.15.42 → 0.15.44

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 (132) hide show
  1. package/MANIFEST.SHA256 +131 -68
  2. package/PROVENANCE.json +37 -13
  3. package/README.txt +18 -18
  4. package/RELEASE.json +40 -14
  5. package/SBOM.cdx.json +14 -2
  6. package/TEST-MATRIX.json +52 -10
  7. package/bin/appcontainer-stage.obj +0 -0
  8. package/bin/bootstrap-advapi32.obj +0 -0
  9. package/bin/bootstrap-exitcode.obj +0 -0
  10. package/bin/bootstrap-kernel32.obj +0 -0
  11. package/bin/child-control-probe.obj +0 -0
  12. package/bin/child-control-stage.obj +0 -0
  13. package/bin/contained-reverse-worker.obj +0 -0
  14. package/bin/contained-transform-worker.obj +0 -0
  15. package/bin/containment-probe.obj +0 -0
  16. package/bin/deadbyte-contain.obj +0 -0
  17. package/bin/deadbyte-desktop-input-r40.obj +0 -0
  18. package/bin/deadbyte-desktop-observer-r40.obj +0 -0
  19. package/bin/deadbyte-desktop-uia-r40.obj +0 -0
  20. package/bin/deadbyte-exec.obj +0 -0
  21. package/bin/deadbyte-hardware-observer-r45.obj +0 -0
  22. package/bin/deadbyte-native-inspect-r67.exe +0 -0
  23. package/bin/deadbyte-native-inspect-r67.obj +0 -0
  24. package/bin/deadbyte-process-host.obj +0 -0
  25. package/bin/deadbyte-tunnel-host.obj +0 -0
  26. package/bridge/package.json +1 -1
  27. package/controller/deadbyte-desktop-policy.json +5 -5
  28. package/controller/deadbyte-process-policy.json +4 -4
  29. package/docs/R67-ALPHA-REFERENCE-DIFFERENTIAL.md +42 -0
  30. package/docs/R67-ALPHA-STATIC-COMPARISON.json +205 -0
  31. package/docs/R67-CANDIDATE-PARENT.json +10 -0
  32. package/docs/R67-EVIDENCE-RECONCILE-CLOSEOUT-20261011.md +64 -0
  33. package/docs/R67-FULL-REGRESSION-UNKNOWN.json +27 -0
  34. package/docs/R67-NATIVE-INSPECT-BINARY.json +11 -0
  35. package/docs/R67-NPM-EXDEV-PRESERVATION-20261011.md +39 -0
  36. package/docs/R67-OBSERVATION-TRUTH.md +82 -0
  37. package/docs/R67-REFERENCE-GAP-MATRIX.json +57 -0
  38. package/docs/R67-REGRESSION-CLOSURE-20261011.md +24 -0
  39. package/native/deadbyte-native-inspect-r67.cpp +252 -0
  40. package/package.json +7 -3
  41. package/proof/CONTAINMENT-BUILD.txt +6 -6
  42. package/scripts/build-native-inspector-r67.ps1 +28 -0
  43. package/scripts/gate-windows-r66-prepublish.ps1 +65 -0
  44. package/scripts/gate-windows-r67.ps1 +56 -0
  45. package/scripts/npm-preserve-artifact-r67.mjs +99 -0
  46. package/scripts/npm-release-r48.mjs +10 -2
  47. package/scripts/npm-release-readiness-r67.mjs +26 -0
  48. package/scripts/r67-acquire-alpha-reference.mjs +95 -0
  49. package/scripts/r67-audit-nonpass-source.mjs +39 -0
  50. package/scripts/r67-compare-desktop-alpha.mjs +48 -0
  51. package/scripts/r67-diagnose-failed-shard.mjs +23 -0
  52. package/scripts/r67-durable-batch.mjs +42 -0
  53. package/scripts/r67-focused-gate.mjs +58 -0
  54. package/scripts/r67-full-regression.mjs +28 -0
  55. package/scripts/r67-independent-observation-verify.mjs +36 -0
  56. package/scripts/r67-independent-runtime-observation-verify.mjs +63 -0
  57. package/scripts/r67-nonpass-adjudicate.mjs +20 -0
  58. package/scripts/r67-publish-boundary-audit.mjs +32 -0
  59. package/scripts/r67-regression-reconcile.mjs +10 -0
  60. package/scripts/r67-regression-shard-run.mjs +70 -0
  61. package/scripts/r67-run-shard-batch.mjs +18 -0
  62. package/scripts/r67-stage-candidate.mjs +30 -0
  63. package/scripts/r67-verify-parent-ping.mjs +22 -0
  64. package/scripts/release-manifest.mjs +1 -0
  65. package/src/activation-continuity-engine-r65.mjs +2 -1
  66. package/src/autonomous-runtime.mjs +1 -1
  67. package/src/deadbyte-cli.mjs +33 -1
  68. package/src/doctor-runtime-r58.mjs +3 -1
  69. package/src/machine-fs-smoke-client.mjs +13 -5
  70. package/src/machine-identity.mjs +59 -2
  71. package/src/machine-mcp-tools.mjs +8 -0
  72. package/src/mcp-server.mjs +11 -2
  73. package/src/native-inspector-r67.mjs +66 -0
  74. package/src/r67-diagnostic-export.mjs +118 -0
  75. package/src/r67-diagnostics-verify.mjs +82 -0
  76. package/src/r67-evidence-reconcile.mjs +128 -0
  77. package/src/r67-native-observation-authority.mjs +45 -0
  78. package/src/r67-observation-receipt.mjs +43 -0
  79. package/src/r67-regression-shards.mjs +176 -0
  80. package/src/remote-live-log.mjs +14 -10
  81. package/src/tool-audit.mjs +1 -1
  82. package/src/version.mjs +1 -1
  83. package/test/agent-runtime.test.mjs +1 -1
  84. package/test/autonomous-loop.test.mjs +11 -6
  85. package/test/autonomous-runtime.test.mjs +1 -1
  86. package/test/coding-plane.test.mjs +1 -1
  87. package/test/full-max-catalog-r46.test.mjs +1 -1
  88. package/test/output-schema.test.mjs +1 -1
  89. package/test/r51-live-log-polling.test.mjs +12 -0
  90. package/test/r53-release-contract.test.mjs +1 -1
  91. package/test/r54-release-contract.test.mjs +1 -1
  92. package/test/r55-release-contract.test.mjs +1 -1
  93. package/test/r56-release-contract.test.mjs +1 -1
  94. package/test/r57-release-contract.test.mjs +1 -1
  95. package/test/r58-bundled-bridge.test.mjs +1 -1
  96. package/test/r58-doctor-runtime.test.mjs +18 -0
  97. package/test/r58-release-contract.test.mjs +2 -2
  98. package/test/r58-windows-gate.test.mjs +1 -1
  99. package/test/r59-tool-surface-compat.test.mjs +1 -1
  100. package/test/r60-release-contract.test.mjs +3 -3
  101. package/test/r61-release-contract.test.mjs +1 -1
  102. package/test/r62-release-contract.test.mjs +1 -1
  103. package/test/r63-release-contract.test.mjs +1 -1
  104. package/test/r64-release-contract.test.mjs +1 -1
  105. package/test/r65-epoch-native-activation-integration.test.mjs +4 -4
  106. package/test/r65-release-contract.test.mjs +2 -1
  107. package/test/r66-release-contract.test.mjs +57 -0
  108. package/test/r67-cli-integration.test.mjs +41 -0
  109. package/test/r67-diagnostics-cli.test.mjs +60 -0
  110. package/test/r67-diagnostics-verify.test.mjs +49 -0
  111. package/test/r67-diagnostics-zip-oracle.test.mjs +38 -0
  112. package/test/r67-diagnostics.test.mjs +60 -0
  113. package/test/r67-evidence-reconcile.test.mjs +186 -0
  114. package/test/r67-isolated-slot-rollback-restore.test.mjs +62 -0
  115. package/test/r67-live-log-secret-canary.test.mjs +44 -0
  116. package/test/r67-machine-fs-smoke-epoch.test.mjs +22 -0
  117. package/test/r67-native-inspector.test.mjs +131 -0
  118. package/test/r67-native-observation-authority.test.mjs +49 -0
  119. package/test/r67-npm-cross-volume.test.mjs +74 -0
  120. package/test/r67-npm-publish-gate.test.mjs +38 -0
  121. package/test/r67-regression-shards.test.mjs +184 -0
  122. package/test/r67-release-contract.test.mjs +44 -0
  123. package/test/r67-runtime-observation-binding.test.mjs +86 -0
  124. package/test/r67-server-observation-wiring.test.mjs +12 -0
  125. package/test/r67-signed-receipt.test.mjs +66 -0
  126. package/test/r67-skip-rationale.test.mjs +31 -0
  127. package/test/r67-tool-annotations.test.mjs +21 -0
  128. package/test/r67-windows-gate-argv.test.mjs +13 -0
  129. package/test/release-version.test.mjs +1 -1
  130. package/test/remote-live-log-r36.test.mjs +10 -0
  131. package/test/remote-live-log-r37.test.mjs +29 -0
  132. package/test/semantic-multilang.test.mjs +1 -1
@@ -0,0 +1,205 @@
1
+ {
2
+ "schema": "deadbyte.r67-competitor-static-compare.v1",
3
+ "scope": "static npm archives only; do not execute or install competitor",
4
+ "stable_version": "0.2.52",
5
+ "alpha_version": "0.3.1-alpha.2",
6
+ "alpha_tarball_sha256": "faaf3f34f114589c0630ce4eaa7114ecc628ce2030822dfe67feac0e17fedc4b",
7
+ "stable_compared_files": 121,
8
+ "alpha_selected_compared_files": 135,
9
+ "added": 14,
10
+ "changed": 59,
11
+ "unchanged": 62,
12
+ "removed_from_selected_scope": 0,
13
+ "relevant_changes": [
14
+ {
15
+ "path": "handlers/process-handlers.js",
16
+ "status": "UNCHANGED",
17
+ "stable_sha256": "9f9f53d3bf322c4dc813cb9fdf0357993fd209620a344a5025507460c99356c1",
18
+ "alpha_sha256": "9f9f53d3bf322c4dc813cb9fdf0357993fd209620a344a5025507460c99356c1",
19
+ "delta_bytes": 0
20
+ },
21
+ {
22
+ "path": "handlers/terminal-handlers.js",
23
+ "status": "UNCHANGED",
24
+ "stable_sha256": "e0e67f4ed78e421bd42dc438fb48f5994347f14437a5c2516fb9ed197405236d",
25
+ "alpha_sha256": "e0e67f4ed78e421bd42dc438fb48f5994347f14437a5c2516fb9ed197405236d",
26
+ "delta_bytes": 0
27
+ },
28
+ {
29
+ "path": "remote-device/desktop-commander-integration.js",
30
+ "status": "CHANGED",
31
+ "stable_sha256": "0b198eb1ff897e1bf9156f546f32bfd3987e72157348ff492fee03d1b887436a",
32
+ "alpha_sha256": "fe0a5965fe077866deae661e38c3dd4a5aa11c0e0892fb57228a948a0cd1f650",
33
+ "delta_bytes": -293
34
+ },
35
+ {
36
+ "path": "remote-device/device-authenticator.js",
37
+ "status": "UNCHANGED",
38
+ "stable_sha256": "b7884d9398135264babe96d3fbaa22bf1300b16e03259cd739ec1d44da84f170",
39
+ "alpha_sha256": "b7884d9398135264babe96d3fbaa22bf1300b16e03259cd739ec1d44da84f170",
40
+ "delta_bytes": 0
41
+ },
42
+ {
43
+ "path": "remote-device/device.js",
44
+ "status": "CHANGED",
45
+ "stable_sha256": "629b99b96d14baaa237f743cab6861562c722d2aa1bf925f952ece42cb6389ae",
46
+ "alpha_sha256": "edc2991e00fc604c118982b4b837ec9df8f99f8e58e87393690665a5bdce1372",
47
+ "delta_bytes": 5198
48
+ },
49
+ {
50
+ "path": "remote-device/diagnostics/device-log.js",
51
+ "status": "ADDED",
52
+ "stable_sha256": null,
53
+ "alpha_sha256": "891e994c5dd3c70ba331d5c1819b39d1c0e91162f9315c3526aaf6a5bc373f51",
54
+ "delta_bytes": null
55
+ },
56
+ {
57
+ "path": "remote-device/diagnostics/redact.js",
58
+ "status": "ADDED",
59
+ "stable_sha256": null,
60
+ "alpha_sha256": "a84f9654aac58d885fa6cfd60fa063abeaeb96e406cff4fdc4fec206d0baa7c5",
61
+ "delta_bytes": null
62
+ },
63
+ {
64
+ "path": "remote-device/diagnostics/report.js",
65
+ "status": "ADDED",
66
+ "stable_sha256": null,
67
+ "alpha_sha256": "6a777e6422742e56d09e242eab23a6120370367430a38aadd26f23fc1302cecf",
68
+ "delta_bytes": null
69
+ },
70
+ {
71
+ "path": "remote-device/diagnostics/upload.js",
72
+ "status": "ADDED",
73
+ "stable_sha256": null,
74
+ "alpha_sha256": "0054d7f6f28e67b2927f22781ab9717770a9112e51cdd24f6549215881b11771",
75
+ "delta_bytes": null
76
+ },
77
+ {
78
+ "path": "remote-device/remote-channel.js",
79
+ "status": "CHANGED",
80
+ "stable_sha256": "4c48a276b53183bb0753baa681d856016a367a1def295af605123036ce827ce0",
81
+ "alpha_sha256": "29d17eee3a76bdd8d1a95ecd2d8f7e522449289d2c8393486d032acaba64b6fe",
82
+ "delta_bytes": 2793
83
+ },
84
+ {
85
+ "path": "remote-device/scripts/blocking-offline-update.js",
86
+ "status": "CHANGED",
87
+ "stable_sha256": "fcec23e7bcfc15cf22e104d968f4f206d0959b09c31df05e9ef039f7115fed0c",
88
+ "alpha_sha256": "95055078e2979f7b031c92638f06ab4524eaf73097870730b620e419f6731817",
89
+ "delta_bytes": 2482
90
+ },
91
+ {
92
+ "path": "remote-device/transport-telemetry.js",
93
+ "status": "ADDED",
94
+ "stable_sha256": null,
95
+ "alpha_sha256": "2c96cbaae3b6671bb2c26f0bf45f6684aa548d3553daafabcfdbc9a93d3b61c5",
96
+ "delta_bytes": null
97
+ },
98
+ {
99
+ "path": "terminal-manager.js",
100
+ "status": "CHANGED",
101
+ "stable_sha256": "d4d0773b79501858be4fd45fcd03066fd98acf8cb969e65f168c89c52ee564c3",
102
+ "alpha_sha256": "92a97f083a5b650a86dc3ecfd029dd3a371ca7a0636d9d1f93233a2b70a68e41",
103
+ "delta_bytes": 6564
104
+ },
105
+ {
106
+ "path": "tools/improved-process-tools.js",
107
+ "status": "CHANGED",
108
+ "stable_sha256": "702d972ec92424298315a2bc551bbc9b12c337949f62a84410879576d50235fb",
109
+ "alpha_sha256": "044d378895df493df09f73c87fed42360a71a004cf252f050202d55e157ef803",
110
+ "delta_bytes": 6408
111
+ },
112
+ {
113
+ "path": "tools/pdf/extract-images.js",
114
+ "status": "CHANGED",
115
+ "stable_sha256": "b7830fa8758211bf89ecb9df501293e1856e1672b28dbfec01bc1a84e5adf793",
116
+ "alpha_sha256": "1030fd05f2542ef263b19b89eac6ee3f212896b05bf63c07a1c73d230f19c2da",
117
+ "delta_bytes": 275
118
+ },
119
+ {
120
+ "path": "tools/pdf/index.js",
121
+ "status": "CHANGED",
122
+ "stable_sha256": "d58afad5e9bb31c86859bc017e7c6c998d2ea83cfefefad8288044e2eb0985dc",
123
+ "alpha_sha256": "9d7de10bb791a158fae0c61ee48d3d27bd3a623b6d7150335d6b97f71ee287ef",
124
+ "delta_bytes": 130
125
+ },
126
+ {
127
+ "path": "tools/pdf/lib/pdf2md.js",
128
+ "status": "CHANGED",
129
+ "stable_sha256": "fbcff6b076b04240916b37d3969893ee3784c1ee673b32b052f96a3a9ca63ccf",
130
+ "alpha_sha256": "33aaa8ec3ddf44cdfc95634339fa91ebeb6685042a294421659c3b91dc797892",
131
+ "delta_bytes": 429
132
+ },
133
+ {
134
+ "path": "tools/pdf/manipulations.js",
135
+ "status": "CHANGED",
136
+ "stable_sha256": "79f60eeb790ad4f60d6774aa65ddf99d99cd2e1099f1ed6b5a1ba763838eec38",
137
+ "alpha_sha256": "28d473e1752fbd67dcb6299df59902d7dc24b74d383b1564fb63d74764ffaa9c",
138
+ "delta_bytes": 786
139
+ },
140
+ {
141
+ "path": "tools/pdf/markdown.js",
142
+ "status": "CHANGED",
143
+ "stable_sha256": "223a7cf36d662c04a29b9472e8b523f04fe80fdba23e3d836bf0b879c6d686a9",
144
+ "alpha_sha256": "61685462f9abb2517e4691fbc7baebea23260e776d3e216d941480551450e982",
145
+ "delta_bytes": 23985
146
+ },
147
+ {
148
+ "path": "tools/pdf/utils.js",
149
+ "status": "CHANGED",
150
+ "stable_sha256": "e22a4c088d4526b948187a3d49c0fd6a4048715c8e97a33e11330cbb5637ddb0",
151
+ "alpha_sha256": "68c382642ce8fcae86e7b24994058ee5ea86fe2bcf91ccfac7d4409c88dcadc2",
152
+ "delta_bytes": 165
153
+ },
154
+ {
155
+ "path": "tools/process.js",
156
+ "status": "CHANGED",
157
+ "stable_sha256": "e3965e913e1a0c0840a666861529e85c0b80d5e97147cada4737ddec5a6fb384",
158
+ "alpha_sha256": "d9c85fb1d15751f356c616c886cb2004717669227c4186b85e7442a025d4e9eb",
159
+ "delta_bytes": 271
160
+ },
161
+ {
162
+ "path": "tools/schemas.js",
163
+ "status": "CHANGED",
164
+ "stable_sha256": "f342345e34e48769dabaefe1b932f09d41e2e207b422f7794a15ee50ffa8f140",
165
+ "alpha_sha256": "6a290497b29f9dc5f43d66008ea54fcf0c302edea5612af519ef52ab3816d29e",
166
+ "delta_bytes": 776
167
+ },
168
+ {
169
+ "path": "utils/exit-process.js",
170
+ "status": "ADDED",
171
+ "stable_sha256": null,
172
+ "alpha_sha256": "b75d45fe351edc385e6f6ccceb84d79aef92c18b0db3e0ae657faca76f84776f",
173
+ "delta_bytes": null
174
+ },
175
+ {
176
+ "path": "utils/files/pdf.js",
177
+ "status": "CHANGED",
178
+ "stable_sha256": "8678f41e7513267d2d7ee659db7f4aae9624c41cc9e500d710d451ba0f920e71",
179
+ "alpha_sha256": "97b8250e35e5e7c5a89170cabd0d73686620c43fe12e4eb35cfc0b3acdc67b83",
180
+ "delta_bytes": -487
181
+ },
182
+ {
183
+ "path": "utils/mcp-ui-ab-test.js",
184
+ "status": "UNCHANGED",
185
+ "stable_sha256": "978c72e71812e555f6e90cf107d936be5777f60f2e2658109af92513a2a06a42",
186
+ "alpha_sha256": "978c72e71812e555f6e90cf107d936be5777f60f2e2658109af92513a2a06a42",
187
+ "delta_bytes": 0
188
+ },
189
+ {
190
+ "path": "utils/process-detection.js",
191
+ "status": "CHANGED",
192
+ "stable_sha256": "50b11aa5d3258692c2844befc197aa1845770fe6857e4fc51471108a9934201f",
193
+ "alpha_sha256": "b4273acd6c4b601602915bc1b3f2b817891c14eb51a3bbfa990cb8da1b3e5073",
194
+ "delta_bytes": 7354
195
+ },
196
+ {
197
+ "path": "utils/process-tree.js",
198
+ "status": "ADDED",
199
+ "stable_sha256": null,
200
+ "alpha_sha256": "ede6be5982d553ed986367942c8faa74496947f03a03ea739245dbc2d9f46f77",
201
+ "delta_bytes": null
202
+ }
203
+ ],
204
+ "caveat": "Alpha was selectively extracted; do not treat missing alpha inventory as deleted without checking full archive."
205
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "schema": "deadbyte.r67-candidate-parent.v1",
3
+ "parent_release_id": "v0.15.43-4c4a64a4c8e9f5a6",
4
+ "parent_manifest_sha256": "4c4a64a4c8e9f5a6e9eecce85fd0007ebcac99121b29c07f1a1fc81d1643cd33",
5
+ "source_directory": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.43-r66",
6
+ "candidate_directory": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.44-r67",
7
+ "copied_files": 2279,
8
+ "copied_bytes": 59002921,
9
+ "mutation": false
10
+ }
@@ -0,0 +1,64 @@
1
+ # R67 Verification Hardening — 2026-10-11
2
+
3
+ **STATUS: CANDIDATE ONLY / NOT SEALED / NO ACTIVATION / NO PUBLISH.**
4
+
5
+ ## Authority and source boundary
6
+
7
+ - Candidate: `D:\Projects\deadbyte-mcp\development\deadbyte-mcp-0.15.44-r67`.
8
+ - Production observed after edits: `v0.15.43-4c4a64a4c8e9f5a6`.
9
+ - Immutable production release manifest SHA-256: `4c4a64a4c8e9f5a6e9eecce85fd0007ebcac99121b29c07f1a1fc81d1643cd33`.
10
+ - Generation manifest SHA-256: `ef3b041e2a87c2e143d4733a98a52d9db80cd16ad7007e112fcb5202e70c77c3`.
11
+ - No release activation, npm publication, manual arm, host/desktop operation, or competitor execution occurred this round.
12
+ - Original frozen full regression `r67isolate-20261011b` remains **a historical, v1-schema 32-shard evidence set** on source tree `95b408f5...16379ce`. Its recorded 1,354 pass and 42 non-pass/unclassified cases MUST NOT be recycled into the modified source tree or treated as the R67 release gate.
13
+
14
+ ## Problem reproduced and fixed
15
+
16
+ ### E2E regression verifier vs local-only source assertions
17
+
18
+ The existing `r67-regression-shards.test.mjs` had source-text checks and direct unit assertions, but there was no independent test running the durable 32-shard reader against a real file hierarchy containing actual `intent.json` and `result.json` records. The CLI and its source logic were duplicated, increasing the chance of future v2 schema drift.
19
+
20
+ **Change:** `src/r67-evidence-reconcile.mjs` now supplies the shared independent evaluator used by `scripts/r67-regression-reconcile.mjs`, and `test/r67-evidence-reconcile.test.mjs` creates 32 disposable shard directories and drives the same evaluator as the real CLI. Each v2 record must satisfy exact operation and shard identity, original intent-to-result consistency, receipt-body SHA-256, source tree and test list hash, file membership, configured deadline and TAP count invariants.
21
+
22
+ ### Correct STALE_SOURCE rather than fabricated FAILED_INTEGRITY
23
+
24
+ Freshly observed RED: Running the new evaluator against historical `r67isolate-20261011b` initially classified 31 of 32 v1 receipts `FAILED_INTEGRITY` because it compared historical intent files directly to the **current** plan before checking their self-consistency. This was a false integrity accusation, not observed tampering.
25
+
26
+ Fix: check historical intent's own `files_sha256` against its original `files` bytes and compare original result/intent identity before deciding whether the historical plan is now stale.
27
+
28
+ Fresh independent CLI command with a **new argument identity** afterward:
29
+ `r67-regression-reconcile.mjs r67isolate-20261011b fresh-v2-verify-001`
30
+ returned `STALE_SOURCE`, **32 stale / zero integrity faults / zero current receipts**, exit code 2 as expected. Signed coding command receipt SHA-256:
31
+ `6a92ec6b19210e793f312c5b19b3ef4d4e0e63cc055117fb16b2ae2fc0025bfb`.
32
+
33
+ The former v1 records remain unaltered.
34
+
35
+ ### Fail-closed contradictory outcomes
36
+
37
+ Freshly observed RED: a synthetic v2 receipt bearing `PASS` and `timed_out=true` could pass verification if an attacker recomputed the file's ordinary SHA-256. The evaluator now rejects `PASS` when the receipt indicates timeout, nonzero exit or non-null failure reason, with the required terminal summaries and counts enforced by the shard verifier.
38
+
39
+ The verifier also rejects incomplete plans, changed source trees, tampered digests and unknown exits, and returns `BLOCKED_NONPASS_CLASSIFICATION` when v2 results contain skipped/todo/cancelled cases with no case-level proof.
40
+
41
+ **NOTE:** Recomputed plain SHA-256 values alone cannot establish authenticity against an attacker able to rewrite a whole receipt. A trusted runtime signer and exact signed receipt chain are still **REQUIRED BEFORE RELEASE**.
42
+
43
+ ## Tests and verification
44
+
45
+ - Original test of new module was RED with missing implementation.
46
+ - New v1-historical-plan race regression was RED; fixed GREEN.
47
+ - New contradictory PASS+timeout regression was RED; fixed GREEN.
48
+ - `test/r67-evidence-reconcile.test.mjs`: 7 PASS, 0 FAIL.
49
+ - `test/r67-regression-shards.test.mjs`: 10 PASS, 0 FAIL.
50
+ - Updated `scripts/r67-focused-gate.mjs` includes the independent 32-shard fixture and parses complete Node TAP totals, refusing skipped, todo, cancelled and malformed summary instead of merely scraping numeric counts.
51
+ - Full fresh **focused** gate: **62 PASS / 0 FAIL / 0 skipped / 0 cancelled / 0 todo**. Signed coding command receipt ID: `2472ca3c620580c551dd64eb`; SHA-256: `c7e9c30218ae061ab0213f85e037e33c2456a8ff4d65f682dc06cef17c3c53d6`.
52
+ - Independent `coding_receipt_verify`: `ok:true`, `signature_valid:true` for the focused command.
53
+ - Native inspector binary pin in focused gate: `c814771dddac8bfb184250b868ddb6ab9f5e0e43613c04c3ed8abe09324ec4db`.
54
+
55
+ ## Engineering decision / acceptance
56
+
57
+ 1. Maintain separate R67 candidate and sealed production; do not activate or publish `0.15.44` until explicitly authorized later.
58
+ 2. A full-suite PASS must have 32 current **v2** evidence receipts, no stale/missing/unknown shards, terminal TAP totals and classifiable non-pass cases, plus a trusted signed command/observation evidence graph. Historical v1 receipts can be validated for local integrity but never upgraded into current release proof.
59
+ 3. The 42 previously unclassified cases need a new per-case outcome/reason ledger on the next frozen run; hashes of old stdout alone cannot reconstruct them. Do not relabel them as PASS.
60
+ 4. The previously measured shard 17 (55.34s/58s) contained `r58-controller-live-local.test.mjs`; the candidate's current planner already isolates that measured controller suite into a dedicated 120s shard and the remote lifecycle into a 165s shard. **Do not expand deadlines again without fresh observed variance.**
61
+ 5. The Native Inspector currently signs observations only when a trusted signer is **explicitly injected by the caller**. It does not yet prove runtime-owned key custody, machine-generation binding, authority policy, or revocation during execution. These are P0 release blockers.
62
+ 6. Remaining release gates: native Win32 process-exit/access-denied fault injection, signer/runtime binding and adversarial verifier, full current-source regression and test-case skip classification, stdio/HTTP compatibility, package manifest/doctor, isolated rollback/restore plus authority continuity and independent closure.
63
+
64
+ **Verdict:** R67 candidate improved. Focused test gate PASS. Production readiness NOT PROVEN. Nothing deployed/published.
@@ -0,0 +1,27 @@
1
+ {
2
+ "schema": "deadbyte.r67-full-regression-outcome-unknown.v1",
3
+ "candidate": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.44-r67",
4
+ "attempt": {
5
+ "script": "scripts/r67-full-regression.mjs",
6
+ "script_sha256": "8ebff7294927241902002f851550a92d0af04a172dfed3300174ccabeca76034",
7
+ "request_args": [
8
+ "r67-full-source-20261011-01"
9
+ ],
10
+ "remote_claim_id": "0626a82fcc72cf57169ac53e19a4512ae8de549d704b65597536fd33db65177b",
11
+ "tool_error": "remote claim outcome unknown after dispatch; no replay",
12
+ "observed_exit_code": null,
13
+ "observed_test_counts": null
14
+ },
15
+ "reconciliation": {
16
+ "machine_release_id": "v0.15.43-4c4a64a4c8e9f5a6",
17
+ "coding_armed": true,
18
+ "owned_process_sessions": 0,
19
+ "machine_observation_process_rows_scanned": 272,
20
+ "remaining_process_match_for_full_regression": false,
21
+ "completed_receipt_available": false,
22
+ "verdict": "OUTCOME_UNKNOWN",
23
+ "must_not_promote_release_from_this_attempt": true
24
+ },
25
+ "remediation": "Run a fresh, uniquely identified bounded regression with durable append-only result written atomically before delivery; reconcile existing operation before any retry.",
26
+ "production_unchanged": true
27
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "schema": "deadbyte.r67-native-inspector-binary.v1",
3
+ "status": "candidate",
4
+ "exe": "bin/deadbyte-native-inspect-r67.exe",
5
+ "sha256": "c814771dddac8bfb184250b868ddb6ab9f5e0e43613c04c3ed8abe09324ec4db",
6
+ "source": "native/deadbyte-native-inspect-r67.cpp",
7
+ "source_sha256": "b10d0d1886b091849402501bfde5bd5a7f6ba547902c6594b502891e5e1ec38a",
8
+ "allow_network_egress": false,
9
+ "max_output_bytes": 2097152,
10
+ "exit_fail_closed": true
11
+ }
@@ -0,0 +1,39 @@
1
+ # R67 npm cross-volume artifact preservation — 11 October 2026
2
+
3
+ ## Incident
4
+
5
+ Operator invoked `node scripts/npm-release-r48.mjs --publish-only` on Windows. It reached step 5/7 after a successful npm pack (2333 files), manifest surface validation (2332 manifest entries) and isolated doctor. The next operation attempted `rename` from the D: candidate directory to the C: publication evidence directory, producing `EXDEV`. The log does not show npm publish being dispatched in that invocation.
6
+
7
+ Post-failure read-only audit of the machine found:
8
+ - D: source tarball **EXISTS**, 13,309,422 bytes, SHA-256 `b589be8cddfa725c120728b422ba5ee813d9cfcea6eca606e5d0bbc5fa964910`
9
+ - C: preserved artifact **ABSENT**
10
+ - C: publication `claim.json` **ABSENT**
11
+ - Production observed `v0.15.43-4c4a64a4c8e9f5a6`
12
+ - Registry status is **NOT inferred** from absence of a local claim. No npm registry query or publish was executed in the remediation.
13
+
14
+ ## Surgical correction
15
+
16
+ `scripts/npm-preserve-artifact-r67.mjs` implements staging on the **destination volume** followed by fsync, SHA-512 integrity validation, no-clobber hard-link publication, final byte verification and only then source unlink. Existing destination bytes must match exactly for recovery, and a conflict never overwrites. This makes D: to C: preservation possible without unsafe cross-volume rename. Publication dispatch still belongs solely to `npm-publication-r65.mjs` and its immutable `claim.json` fence.
17
+
18
+ `scripts/npm-release-r48.mjs` now invokes that helper with npm pack's integrity and shasum instead of `rename(tarball,preservedTarball)`.
19
+
20
+ `scripts/npm-release-readiness-r67.mjs` blocks public R67 publication when `RELEASE.json` is still unsealed or any mandated gate is pending, prior to npm pack or publish dispatch. This is an **additional metadata fence**, not a substitute for independent test evidence, trusted attestation or final release verification. Operator consent and full gate verification remain required for public release.
21
+
22
+ ## Test contract
23
+
24
+ - Cross-volume preservation fixture on Windows D: and C:; original source removed only after destination digest verification
25
+ - Wrong npm-integrity leaves original source untouched and destination absent
26
+ - Pre-existing different destination cannot be overwritten
27
+ - Post-commit/pre-cleanup recovery accepts only exact same bytes
28
+ - Symlink source is rejected
29
+ - Unsealed R67 metadata is rejected before publishing
30
+ - Every mandatory gate must be PASS
31
+ - Source wiring asserts the publishing code checks readiness before the network/pack step
32
+
33
+ ## Cautions / blockers
34
+
35
+ The old 13,309,422-byte tarball is historical evidence. Its SHA-256 alone does not prove it matches the current source tree after edits. Do not delete, overwrite, repack into, or publish it until separately reconciled. The new `assertVacantPackDestination` guard aborts both `--verify-only` and publication before `npm pack` when that historical tarball still exists. This guard protects against a known pre-existing file, but is not a multi-process locking mechanism. Move/archive the old tarball through an approved file operation, preserving its hash and chain of custody, before attempting a fresh non-publishing package verification.
36
+
37
+ Changing source invalidates earlier candidate `MANIFEST.SHA256` and regression snapshot receipts until regenerated and independently re-verified. Do not claim `0.15.44` is released or deployed: R67 full Windows regression, trusted native signer, fault injection, isolated activation/rollback/restore and final closure remain gates.
38
+
39
+ **STATUS: CANDIDATE HARDENING / NO DEPLOY / NO npm publish.**
@@ -0,0 +1,82 @@
1
+ # R67 Native Observation & Runtime Truth — observed candidate state
2
+
3
+ Status: **DRAFT / UNSEALED / NOT DEPLOYED**. Candidate path: `D:\Projects\deadbyte-mcp\development\deadbyte-mcp-0.15.44-r67`. Metadata still says `0.15.43`; do not publish as `0.15.44` without a new immutable release cycle.
4
+
5
+ ## Exact predecessor
6
+
7
+ - Production: `v0.15.43-4c4a64a4c8e9f5a6`, release manifest `4c4a64a4c8e9f5a6e9eecce85fd0007ebcac99121b29c07f1a1fc81d1643cd33`.
8
+ - Parent copy: 2,279 manifest-verified files; immutable production slot was not modified.
9
+ - Independent live Ed25519 signature verification: PASS, signed message SHA `12a4c9b2114d0719e0ec7dd504ba6ea0de4445473e704263310d0c9f784945b0`; verifier command receipt `a18a800aa73b269bcdc9e61a43b95be85c51b545d3ebfa2bf5d29c44085f665e`.
10
+ - Baseline record: `D:\Projects\deadbyte-mcp\testing\0.15.44-r67\R67-PRODUCTION-BASELINE.json`.
11
+
12
+ ## Actual implementation and API boundaries
13
+
14
+ Native executable `bin/deadbyte-native-inspect-r67.exe` is compiled using MSVC x64 /W4 /WX /Brepro. Source SHA-256 `b10d0d1886b091849402501bfde5bd5a7f6ba547902c6594b502891e5e1ec38a`; EXE SHA-256 `c814771dddac8bfb184250b868ddb6ab9f5e0e43613c04c3ed8abe09324ec4db`. Canonical binary pin is `docs/R67-NATIVE-INSPECT-BINARY.json`.
15
+
16
+ CLI commands implemented:
17
+
18
+ - `node src/deadbyte-cli.mjs inspect process [limit]` — bounded Toolhelp snapshot, actual handle observations, explicit access errors. Records `snapshot_binding=UNVERIFIED` when a snapshot PID and later handle share a name: it does **not** claim that name equality proves identity. Name mismatch is `stale_or_reused`.
19
+ - `node src/deadbyte-cli.mjs inspect identity PID` — opens handle and returns exact process creation FILETIME (decimal string), image path and exited state.
20
+ - `node src/deadbyte-cli.mjs inspect memory self [limit]` — `VirtualQueryEx` metadata only, no private-memory reads.
21
+ - `node src/deadbyte-cli.mjs inspect memory PID creation_filetime [limit]` — identity token required for external PID; verifies the token against the handle **before** observing regions. Mismatch fails `PROCESS_IDENTITY_MISMATCH`; process exit is reported, never silently treated as a different PID.
22
+ - `node src/deadbyte-cli.mjs inspect pe FILE` — PE32/PE32+ MZ/COFF sections, RVA vs file-offset separation, raw file SHA-256 bounded to 64 MiB.
23
+
24
+ No additional public MCP tools and no new arbitrary command/PID authority were created. CLI remains local, owner-operated and Windows permission constrained.
25
+
26
+ ## Receipts and trust status
27
+
28
+ `src/r67-observation-receipt.mjs` accepts only an **explicit injected private+public Ed25519 signing pair**. `src/native-inspector-r67.mjs` signs real observations only when a trusted signer is injected; default CLI invocations are unsigned. `scripts/r67-independent-observation-verify.mjs` independently verifies signature, receipt SHA-256, result digest, exact argv request SHA and a pinned executable SHA. Forged keys, changed outputs, changed receipts or mismatched argv/executable fail. Tests use ephemeral test keys only, never a production private key.
29
+
30
+ **Open blocker:** production observation runtime has not yet wired this signer, admission policy or append-only receipt persistence. This is a verified cryptographic *contract*, not proof of deployed runtime signed receipts.
31
+
32
+ ## Test evidence
33
+
34
+ - Latest focused R67 and inherited subsystem tests: **44 PASS / 0 FAIL / 0 SKIP**, signed coding command receipt SHA-256 `33dac5e47fdf3181c50c554d548637653733373a53de64adc9ce645ad1252339`. This is a focused gate, not the Windows full release gate.
35
+ - Deterministic process-exit test spawns a Windows child, obtains its true creation FILETIME, terminates it, and verifies that a later memory map cannot return success using stale identity.
36
+ - Full regression attempt `r67-full-source-20261011-01`: **OUTCOME_UNKNOWN** after dispatch, remote claim `0626a82fcc72cf57169ac53e19a4512ae8de549d704b65597536fd33db65177b`. Read-only reconciliation found 0 owned process sessions and no remaining matching full-test process across 272 observed processes, but no durable completion receipt/exit status was recovered. **This is neither PASS nor FAIL.** See `docs/R67-FULL-REGRESSION-UNKNOWN.json`.
37
+
38
+ ## Reference provenance and forward roadmap
39
+
40
+ Source references inspected under `D:\Projects\deadbyte-mcp\references`, recorded with exact SHA-256 in `docs/R67-REFERENCE-GAP-MATRIX.json`. Local Desktop Commander reference has `0.2.52` metadata; not evidence of production readiness of the `0.3.1-alpha` series. Third-party source is comparison material, never authority or executable donor.
41
+
42
+ Subsequent scoped work: local-only redacted diagnostics package, explicit upload consent (network egress DENY by default), MCP `ToolAnnotations` hints and stdio/HTTP compatibility checks. Hints never enlarge native policy authority.
43
+
44
+ ## Release blockers
45
+
46
+ 1. Trusted production signer integration and independent persisted receipt verification, including runtime revocation.
47
+ 2. Memory inspection fault injection during `VirtualQueryEx`, PID reuse stress, cross-bitness and executable identity drift.
48
+ 3. Durable full-regression receipt and a definite exit status, then the actual Windows gate.
49
+ 4. Prepare correct `0.15.44` metadata, seal the immutable manifest, doctor/package checks, activation, exact predecessor rollback, exact successor restoration and signed final closure.
50
+
51
+ Until those are proven: `R67_CANDIDATE=PARTIAL`; `PRODUCTION=v0.15.43`; `PUBLIC_0.15.44=NOT_PUBLISHED`.
52
+
53
+
54
+ ## Candidate continuation: 2026-10-11, NO DEPLOYMENT
55
+
56
+ ### Offline diagnostics
57
+
58
+ Implemented owner-triggered local CLI command: node src/deadbyte-cli.mjs diagnostics export --output LOCAL.zip.
59
+ There is no upload mode, implicit controller activation, or outbound-network code path. The source logs are fixed controller start/restart stdout/stderr files; 8-file limit, 64 KiB/file, regular non-symlink, and a 256-event report cap. Each log line is reduced to approved timestamp, level, event and Win32 error fields. Free-form lines are discarded rather than transported, so the report deliberately loses detail. An offline ZIP is created with exclusive-create semantics, and an independent Windows .NET ZipArchive reader proved the archive can be opened and decoded. ZIP file hashes alone are NOT signatures, and application-level no-upload does not prove OS-wide egress containment.
60
+
61
+ New tests: r67-diagnostics.test.mjs, r67-diagnostics-cli.test.mjs, r67-diagnostics-zip-oracle.test.mjs.
62
+
63
+ ### MCP compatibility
64
+
65
+ Four existing machine tools have annotations: machine_list and machine_status are read-only and idempotent; machine_ping is read-only and non-idempotent; machine_revoke is destructive and non-idempotent. These are declarative risk hints only. The underlying assertRevokeAuthority runtime enforcement remains intact and a denial-path regression passed. Registration coverage is NOT yet full stdio/HTTP conformance or ChatGPT end-to-end client coverage.
66
+
67
+ ### Deterministic, durable full-suite shards
68
+
69
+ There are now 32 deterministic regression shards, with operation ID, SHA-256 bound test-tree and membership, durable intent before effects, atomic result recording, and a no-replay directory lock. A reconciliation utility reads results independently and blocks changed source trees, incomplete coverage, and corrupted receipts. The prior 220-second synchronous full-suite request is not treated as successful.
70
+
71
+ Historical operation r67shard-20261011a:
72
+ - Shards 0-4, 6-11, and 31 generated durable PASS receipts.
73
+ - Shard 5 generated OUTCOME_UNKNOWN after a 58-second child timeout. No automatic replay was performed. It includes long remote-session-cli and controller-epoch tests; exact cause remains unproven.
74
+ - After subsequent test additions, all 13 recorded shards are STALE_SOURCE against the new test-tree fingerprint. Independent reconciliation must never combine them with the changed candidate.
75
+ - A real NULL-count timeout case exposed a verifier bug (incorrectly classifying UNKNOWN as FAILED). RED was observed; repaired code now reports OUTCOME_UNKNOWN, regression GREEN.
76
+
77
+ Current focused candidate gate: 44 PASS, 0 FAIL, 0 SKIP. Signed coding command receipt SHA-256:
78
+ 33dac5e47fdf3181c50c554d548637653733373a53de64adc9ce645ad1252339.
79
+
80
+ Remaining blockers: full-suite immutable-source coverage and exact worker reconciliation, signed runtime observation receipts and trusted signer integration, Windows native fault injections, protocol conformance, Windows release gate, recovery proof, final seal, independent closure.
81
+
82
+ Conclusion: R67 remains DRAFT / UNSEALED / NOT DEPLOYED. Production v0.15.43 is untouched.
@@ -0,0 +1,57 @@
1
+ {
2
+ "schema": "deadbyte.r67-reference-gap-matrix.v1",
3
+ "status": "source_inspected_no_donor_code_executed",
4
+ "predecessor_version": "0.15.43",
5
+ "candidate_version": "0.15.44-draft",
6
+ "source_directory": "D:\\Projects\\deadbyte-mcp\\references",
7
+ "sources": [
8
+ {
9
+ "path": "desktop-commander/package.json",
10
+ "sha256": "5dbe02548ec8665f790b98854b26e9f61a8f74d8074273dc6011aa395d82ee71",
11
+ "version": "0.2.52",
12
+ "observed": "local reference package metadata only; does not prove alpha"
13
+ },
14
+ {
15
+ "path": "desktop-commander/README.md",
16
+ "sha256": "f812befad126c0ab9011b6bfc3efd8ba2e620e07f3162e4c50866441faaf54f4",
17
+ "observed": "local tool-call log retention and warnings; native privacy requirements differ"
18
+ },
19
+ {
20
+ "path": "remcp/chatgpt-app-submission.json",
21
+ "sha256": "e5a72adcff6b3574077f323c62f7816ef90029f629eae25ffeaad4b9247c0400",
22
+ "observed": "client-facing readOnlyHint, destructiveHint, idempotentHint, openWorldHint examples; annotations are not execution grants"
23
+ },
24
+ {
25
+ "path": "secure-host-mcp/README.md",
26
+ "sha256": "973d6b7368f35b09b4a5dad6ea0a4f226e32e2b8000351933a27377394090d9b",
27
+ "observed": "principal-scoped sessions and interrupted-redacted process summaries; evaluated as reference, not imported runtime"
28
+ }
29
+ ],
30
+ "decisions": [
31
+ {
32
+ "capability": "Native process memory truth",
33
+ "implementation": "R67 candidate native identity/PID creation pin, VirtualQueryEx metadata, no private reads",
34
+ "gate": "identity match and negative mismatched token green; adversarial process-exit fault injection still pending"
35
+ },
36
+ {
37
+ "capability": "Signed observation receipt",
38
+ "implementation": "R67 candidate trusted signer injection with independent Ed25519 verifier; direct CLI default remains unsigned",
39
+ "gate": "crypto/tamper focused tests green; authoritative runtime signer and on-disk append-only receipts pending"
40
+ },
41
+ {
42
+ "capability": "Remote diagnostics",
43
+ "implementation": "defer to scoped CLI with bounded redaction and signed local-first export; network upload prohibited by default",
44
+ "gate": "secret canary redaction; ZIP traversal; external egress observation; explicit upload approval"
45
+ },
46
+ {
47
+ "capability": "ChatGPT/MCP tool annotations",
48
+ "implementation": "thin bridge-only hints; never authority; keep 43 compact public tools where feasible",
49
+ "gate": "actual MCP tools/list stdio+HTTP parity, negative destructive classification and schema conformance"
50
+ }
51
+ ],
52
+ "no_donor_authority": true,
53
+ "no_new_external_service": true,
54
+ "no_new_kernel_driver": true,
55
+ "production_mutated": false,
56
+ "release_gates_complete": false
57
+ }
@@ -0,0 +1,24 @@
1
+ # R67 Regression Reconciliation — 2026-10-11
2
+
3
+ Status: CANDIDATE ONLY; not deploy/publish/release.
4
+
5
+ ## Observed defect and correction
6
+
7
+ Current R67 shard runner `scripts/r67-regression-shard-run.mjs` emits `deadbyte.r67-shard-result.v2`; historical independent reader `scripts/r67-regression-reconcile.mjs` incorrectly required `v1`. That turned legitimate new results into `FAILED_INTEGRITY`. A RED test reproduced the contract mismatch.
8
+
9
+ The reconciler now validates hashes and operation identity first, accepts authenticated legacy `v1` only as `STALE_SOURCE`, and admits `v2` receipts to the current-source hash/plan verification. Tampered IDs or receipt digests remain `FAILED_INTEGRITY` and are not downgraded.
10
+
11
+ After fix, old historical operation `r67shard-20261011a` changed from `FAILED_INTEGRITY` to **`STALE_SOURCE`**, with 13 stale indices (0–11,31), zero integrity faults and zero receipts usable for current suite. The old shard 5 `OUTCOME_UNKNOWN` after 58s is not recast as successful. No replay under the historical operation ID.
12
+
13
+ ## Verification
14
+
15
+ - `test/r67-regression-shards.test.mjs`: 10 PASS / 0 FAIL; includes two RED-to-GREEN schema contract tests.
16
+ - `scripts/r67-focused-gate.mjs`: 55 PASS / 0 FAIL / 0 SKIP, candidate-only.
17
+ - Signed command receipt: `cf4f4872c226af007f70550c65383ca2d61b188f9ff153899c5e8f592890c17f`; independent DEADBYTE receipt verification returned `signature_valid=true`.
18
+ - Production verified unchanged: `v0.15.43-4c4a64a4c8e9f5a6`, release manifest `4c4a64a4c8e9f5a6e9eecce85fd0007ebcac99121b29c07f1a1fc81d1643cd33`.
19
+
20
+ ## Next remaining gates
21
+
22
+ Do not count old records as full regression. Must freeze a new candidate snapshot, run all 32 shards with unique operation IDs and durable receipts, reconcile exact source identity, isolate live Windows fault-injection for the native observer and prove signed per-observation evidence, then run full Windows gate, rollback/recovery gate and independent final closure. The previous measurement already isolated slow `remote-session-cli.test.mjs` (~110s) and controller lifecycle (~53s) onto standalone shards with increased timeouts; the earlier mixed 58s timeout cannot justify claiming an inherent hang.
23
+
24
+ No production mutation, npm publication or deployment in this round.