deadbyte-mcp 0.15.29 → 0.15.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MANIFEST.SHA256 +60 -48
- package/PROVENANCE.json +19 -14
- package/README.txt +14 -14
- package/RELEASE.json +25 -13
- package/SBOM.cdx.json +3 -3
- package/STABILIZATION-PROGRESS.md +60 -0
- package/TEST-MATRIX.json +46 -101
- package/bin/appcontainer-stage.obj +0 -0
- package/bin/bootstrap-advapi32.obj +0 -0
- package/bin/bootstrap-exitcode.obj +0 -0
- package/bin/bootstrap-kernel32.obj +0 -0
- package/bin/child-control-probe.obj +0 -0
- package/bin/child-control-stage.obj +0 -0
- package/bin/contained-reverse-worker.obj +0 -0
- package/bin/contained-transform-worker.obj +0 -0
- package/bin/containment-probe.obj +0 -0
- package/bin/deadbyte-contain.obj +0 -0
- package/bin/deadbyte-exec.obj +0 -0
- package/bin/deadbyte-hardware-observer-r45.obj +0 -0
- package/bin/deadbyte-process-host.obj +0 -0
- package/bin/deadbyte-tunnel-host.obj +0 -0
- package/controller/deadbyte-desktop-policy.json +5 -5
- package/controller/deadbyte-host-policy.json +170 -0
- package/controller/deadbyte-process-policy.json +4 -4
- package/package.json +4 -3
- package/proof/CONTAINMENT-BUILD.txt +6 -6
- package/scripts/gate-windows-r53.ps1 +58 -0
- package/scripts/verify-r42-parent.mjs +1 -1
- package/scripts/verify-r43-parent.mjs +1 -1
- package/scripts/verify-r44-parent.mjs +1 -1
- package/scripts/verify-r45-parent.mjs +1 -1
- package/scripts/windows-gate-evidence-r53.mjs +102 -0
- package/src/authority-smoke.mjs +1 -0
- package/src/deadbyte-cli.mjs +4 -2
- package/src/doctor-r45.mjs +2 -1
- package/src/machine-fs-smoke-client.mjs +1 -0
- package/src/mcp-contained-smoke-client.mjs +1 -0
- package/src/mcp-host-smoke-client.mjs +1 -0
- package/src/mcp-smoke-client.mjs +1 -0
- package/src/process-smoke-client.mjs +1 -0
- package/src/release-slot.mjs +5 -2
- package/src/remote-session-guardian.mjs +12 -4
- package/src/runtime-coherence.mjs +13 -4
- package/src/runtime-update.mjs +20 -5
- package/src/state-root.mjs +8 -0
- package/src/trust.mjs +2 -1
- package/src/tunnel-stdio-compat-smoke.mjs +1 -0
- package/src/version.mjs +1 -1
- package/test/commander-biff-reference-r48.test.mjs +1 -1
- package/test/r44-finalizer.test.mjs +4 -3
- package/test/r49-windows-gate.test.mjs +15 -10
- package/test/r52-release-contract.test.mjs +9 -3
- package/test/r53-release-contract.test.mjs +66 -0
- package/test/release-slot.test.mjs +2 -1
- package/test/skill-mcp-r44.test.mjs +3 -0
- package/test/stabilization-guardian.test.mjs +25 -0
- package/test/stabilization-parent-context.test.mjs +18 -0
- package/test/stabilization-powershell.test.mjs +26 -0
- package/test/stabilization-semver.test.mjs +23 -0
- package/test/stabilization-smoke-root.test.mjs +23 -0
- package/test/stabilization-state-root.test.mjs +60 -0
- package/test/stabilization-update-child-root.test.mjs +20 -0
package/TEST-MATRIX.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "deadbyte.test-matrix.v1",
|
|
3
|
-
"version": "0.15.
|
|
4
|
-
"train": "
|
|
3
|
+
"version": "0.15.30",
|
|
4
|
+
"train": "R53",
|
|
5
5
|
"primary_platform": "win32-x64",
|
|
6
6
|
"reference": {
|
|
7
7
|
"package": "@wonderwhy-er/desktop-commander",
|
|
@@ -11,14 +11,9 @@
|
|
|
11
11
|
},
|
|
12
12
|
"required": [
|
|
13
13
|
{
|
|
14
|
-
"id": "
|
|
15
|
-
"command": "npm run
|
|
16
|
-
"expected": "PASS
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"id": "r51-remote-session",
|
|
20
|
-
"command": "node --test test/remote-session-cli.test.mjs",
|
|
21
|
-
"expected": "PASS foreground lifecycle, Desktop/Host fail-closed cleanup, guardian and live timeline"
|
|
14
|
+
"id": "r53-focused",
|
|
15
|
+
"command": "npm run r53:focused:test",
|
|
16
|
+
"expected": "PASS stabilization contracts, runtime coherence, state-root propagation, guardian cleanup, SemVer and PowerShell environment behavior"
|
|
22
17
|
},
|
|
23
18
|
{
|
|
24
19
|
"id": "package-boundary",
|
|
@@ -31,130 +26,80 @@
|
|
|
31
26
|
"expected": "PASS"
|
|
32
27
|
},
|
|
33
28
|
{
|
|
34
|
-
"id": "
|
|
35
|
-
"command": "
|
|
36
|
-
"expected": "PASS authority-state manifest truth"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"id": "compact-authority-truth",
|
|
40
|
-
"command": "node --test test/compact-max-catalog-r45.test.mjs",
|
|
41
|
-
"expected": "PASS real compact stdio authority-state manifest truth"
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"id": "native-windows-observation",
|
|
45
|
-
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts/build-hardware-r45.ps1",
|
|
46
|
-
"expected": "PASS native Windows observation build/query gate"
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"id": "r49-donor-proof",
|
|
50
|
-
"command": "node --test test/r49-remote-control-donors.test.mjs",
|
|
51
|
-
"expected": "PASS six pinned donor decisions"
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"id": "r49-desktop-wait",
|
|
55
|
-
"command": "node --test test/desktop-runtime-r40.test.mjs test/desktop-mcp-tools-r40.test.mjs test/autonomous-desktop-r40.test.mjs",
|
|
56
|
-
"expected": "PASS bounded semantic wait and signed evidence"
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
"id": "r49-catalog",
|
|
60
|
-
"command": "npm run r48:catalog:test",
|
|
61
|
-
"expected": "PASS 117-tool full catalog; compact remains 43"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"id": "commander-hardening",
|
|
65
|
-
"command": "npm run r47:hardening:test",
|
|
29
|
+
"id": "full-regression",
|
|
30
|
+
"command": "npm run r48:full:test",
|
|
66
31
|
"expected": "PASS"
|
|
67
32
|
},
|
|
68
33
|
{
|
|
69
|
-
"id": "
|
|
70
|
-
"command": "node --test test/
|
|
71
|
-
"expected": "PASS
|
|
34
|
+
"id": "runtime-update",
|
|
35
|
+
"command": "node --test test/runtime-self-update.test.mjs",
|
|
36
|
+
"expected": "PASS"
|
|
72
37
|
},
|
|
73
38
|
{
|
|
74
|
-
"id": "
|
|
75
|
-
"command": "npm run
|
|
76
|
-
"expected": "PASS"
|
|
39
|
+
"id": "windows-gate",
|
|
40
|
+
"command": "npm run gate:windows",
|
|
41
|
+
"expected": "PASS R53 exact 0.15.29 predecessor binding and final 0.15.30 manifest"
|
|
77
42
|
},
|
|
78
43
|
{
|
|
79
|
-
"id": "
|
|
80
|
-
"command": "
|
|
81
|
-
"expected": "PASS"
|
|
44
|
+
"id": "local-isolated-state-acceptance",
|
|
45
|
+
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File D:/Projects/deadbyte-mcp/testing/0.15.30/local-isolated-acceptance.ps1",
|
|
46
|
+
"expected": "PASS with production sentinel unchanged"
|
|
82
47
|
},
|
|
83
48
|
{
|
|
84
|
-
"id": "
|
|
85
|
-
"command": "
|
|
86
|
-
"expected": "
|
|
49
|
+
"id": "four-hour-soak",
|
|
50
|
+
"command": "owner override",
|
|
51
|
+
"expected": "NOT_COMPLETED_OPERATOR_BYPASS"
|
|
87
52
|
},
|
|
88
53
|
{
|
|
89
54
|
"id": "audit",
|
|
90
55
|
"command": "npm audit --omit=dev",
|
|
91
56
|
"expected": "0 vulnerabilities"
|
|
92
57
|
},
|
|
58
|
+
{
|
|
59
|
+
"id": "package-verify",
|
|
60
|
+
"command": "node scripts/npm-release-r48.mjs --verify-only",
|
|
61
|
+
"expected": "PASS manifest, package surface, isolated unpack version and doctor"
|
|
62
|
+
},
|
|
93
63
|
{
|
|
94
64
|
"id": "activation",
|
|
95
|
-
"command": "npx
|
|
96
|
-
"expected": "active runtime
|
|
65
|
+
"command": "npx --yes deadbyte-mcp@0.15.30 remote",
|
|
66
|
+
"expected": "active runtime synchronizes from exact sealed 0.15.29 to exact 0.15.30 package manifest"
|
|
97
67
|
},
|
|
98
68
|
{
|
|
99
69
|
"id": "machine-truth",
|
|
100
70
|
"command": "signed machine_ping",
|
|
101
|
-
"expected": "release_id and manifests bind activated 0.15.
|
|
71
|
+
"expected": "release_id and manifests bind activated 0.15.30 generation"
|
|
102
72
|
},
|
|
103
73
|
{
|
|
104
74
|
"id": "rollback-restore",
|
|
105
75
|
"command": "immutable slot rollback/restore",
|
|
106
|
-
"expected": "0.15.
|
|
76
|
+
"expected": "0.15.30 -> exact 0.15.29 -> same exact 0.15.30"
|
|
107
77
|
}
|
|
108
78
|
],
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"pass": 3,
|
|
113
|
-
"fail": 0
|
|
114
|
-
},
|
|
115
|
-
"commander_hardening": {
|
|
116
|
-
"tests": 139,
|
|
117
|
-
"pass": 139,
|
|
118
|
-
"fail": 0,
|
|
79
|
+
"observed_pre_release_evidence": {
|
|
80
|
+
"focused_before_version_finalize": {
|
|
81
|
+
"status": "PASS",
|
|
119
82
|
"skip": 0
|
|
120
83
|
},
|
|
121
|
-
"
|
|
122
|
-
|
|
123
|
-
"
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
]
|
|
134
|
-
},
|
|
135
|
-
"r52_behavioral": {
|
|
136
|
-
"tests": 1,
|
|
137
|
-
"pass": 1,
|
|
138
|
-
"fail": 0,
|
|
139
|
-
"components": [
|
|
140
|
-
"offline-predecessor-host-revocation"
|
|
141
|
-
]
|
|
84
|
+
"full_regression_before_version_finalize": {
|
|
85
|
+
"status": "PASS",
|
|
86
|
+
"batches": 8,
|
|
87
|
+
"test_files": 226,
|
|
88
|
+
"source_unchanged": true
|
|
89
|
+
},
|
|
90
|
+
"local_isolated_state_acceptance": {
|
|
91
|
+
"status": "PASS",
|
|
92
|
+
"production_sentinel_changed": 0,
|
|
93
|
+
"isolated_final_state": "OFFLINE",
|
|
94
|
+
"durable_task_verified": true,
|
|
95
|
+
"action_receipts_verified": 2
|
|
142
96
|
}
|
|
143
97
|
},
|
|
144
|
-
"
|
|
145
|
-
"
|
|
146
|
-
"
|
|
147
|
-
"fail": 0,
|
|
148
|
-
"elapsed_ms": 196997.218,
|
|
149
|
-
"coding_task_id": "a1a10fff1520b37ac674f1861cd9e53e64e350d5a0766639036aefe5e096e235",
|
|
150
|
-
"task_receipt_sha256": "7711039e4807f6c2af02bbda897d0032b067e0a6631f789fd3bf801258160d3f",
|
|
151
|
-
"action_receipt_sha256": "095c5eb4d959b9105a769649aa196a1d33f5097b899031dd16997e5ba1b352e6",
|
|
152
|
-
"not_valid_as_r50_proof": true
|
|
98
|
+
"operator_override": {
|
|
99
|
+
"four_hour_soak": "NOT_COMPLETED",
|
|
100
|
+
"stable_final_claim": false
|
|
153
101
|
},
|
|
154
102
|
"performance": {
|
|
155
|
-
"fresh_cross_reference_status": "PASS_PINNED_REFERENCE_RUNTIME",
|
|
156
|
-
"reason": "A test-only copy of the byte-pinned 0.2.51 reference was installed with scripts, audit, and dev dependencies disabled; production has no reference dependency.",
|
|
157
|
-
"historical_sample_only": false,
|
|
158
103
|
"r51": {
|
|
159
104
|
"coding_command_singleflight": true,
|
|
160
105
|
"completed_result_cache": {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/deadbyte-contain.obj
CHANGED
|
Binary file
|
package/bin/deadbyte-exec.obj
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "deadbyte.desktop-policy.v1",
|
|
3
3
|
"enabled": true,
|
|
4
|
-
"grant_file": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-
|
|
5
|
-
"evidence_dir": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-
|
|
4
|
+
"grant_file": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.30-stabilization\\controller\\runtime\\desktop-grant.json",
|
|
5
|
+
"evidence_dir": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.30-stabilization\\controller\\runtime\\desktop-evidence",
|
|
6
6
|
"observer": {
|
|
7
|
-
"executable": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-
|
|
7
|
+
"executable": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.30-stabilization\\bin\\deadbyte-desktop-observer-r40.exe",
|
|
8
8
|
"sha256": "32671ef2b7decd68c25fcabfe064086e4b3f83a8e9d3558b9d6de3a2510c6dab",
|
|
9
9
|
"backend": "gdi-bitblt-fallback"
|
|
10
10
|
},
|
|
11
11
|
"input": {
|
|
12
|
-
"executable": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-
|
|
12
|
+
"executable": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.30-stabilization\\bin\\deadbyte-desktop-input-r40.exe",
|
|
13
13
|
"sha256": "0b967fd0ef599cbb9882b96ea16db7261f086dbcccae631b56f1bc2445a8ab5b"
|
|
14
14
|
},
|
|
15
15
|
"grounder": {
|
|
16
|
-
"executable": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-
|
|
16
|
+
"executable": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.30-stabilization\\bin\\deadbyte-desktop-uia-r40.exe",
|
|
17
17
|
"sha256": "19ff558218fe8437dc04f50a8848756a8a83a84f73f464057562d77c7e19fb75"
|
|
18
18
|
},
|
|
19
19
|
"allowed_input_desktops": [
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "deadbyte.host-policy.v2",
|
|
3
|
+
"enabled": true,
|
|
4
|
+
"arm_file": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.30-stabilization\\controller\\runtime\\host-arm.json",
|
|
5
|
+
"max_read_bytes": 262144,
|
|
6
|
+
"max_write_bytes": 1048576,
|
|
7
|
+
"roots": {
|
|
8
|
+
"core": {
|
|
9
|
+
"path": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.30-stabilization",
|
|
10
|
+
"read": true,
|
|
11
|
+
"write": true,
|
|
12
|
+
"exec": true
|
|
13
|
+
},
|
|
14
|
+
"bridge": {
|
|
15
|
+
"path": "C:\\Users\\DEADBYTE\\Downloads\\deadbyte-chatgpt-bridge",
|
|
16
|
+
"read": true,
|
|
17
|
+
"write": true,
|
|
18
|
+
"exec": true
|
|
19
|
+
},
|
|
20
|
+
"downloads": {
|
|
21
|
+
"path": "C:\\Users\\DEADBYTE\\Downloads",
|
|
22
|
+
"read": true,
|
|
23
|
+
"write": true,
|
|
24
|
+
"exec": true
|
|
25
|
+
},
|
|
26
|
+
"projects": {
|
|
27
|
+
"path": "D:\\Projects",
|
|
28
|
+
"read": true,
|
|
29
|
+
"write": true,
|
|
30
|
+
"exec": true
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"commands": {
|
|
34
|
+
"powershell_script": {
|
|
35
|
+
"kind": "script",
|
|
36
|
+
"executable": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
|
|
37
|
+
"executable_sha256": "8bb6fa8c283b4d92120b1ef249a9b311b0f804d4cabbe9981159976c8be76a5e",
|
|
38
|
+
"root_ids": [
|
|
39
|
+
"core",
|
|
40
|
+
"bridge",
|
|
41
|
+
"downloads",
|
|
42
|
+
"projects"
|
|
43
|
+
],
|
|
44
|
+
"prefix_args": [
|
|
45
|
+
"-NoLogo",
|
|
46
|
+
"-NoProfile",
|
|
47
|
+
"-ExecutionPolicy",
|
|
48
|
+
"Bypass",
|
|
49
|
+
"-File"
|
|
50
|
+
],
|
|
51
|
+
"extensions": [
|
|
52
|
+
".ps1"
|
|
53
|
+
],
|
|
54
|
+
"timeout_ms": 120000,
|
|
55
|
+
"max_output_bytes": 1048576
|
|
56
|
+
},
|
|
57
|
+
"cmd_script": {
|
|
58
|
+
"kind": "script",
|
|
59
|
+
"executable": "C:\\WINDOWS\\system32\\cmd.exe",
|
|
60
|
+
"executable_sha256": "97ac98b1a92c286054cce55239cfccdfc23a5517bd07fe693072c9ca96c7dabb",
|
|
61
|
+
"root_ids": [
|
|
62
|
+
"core",
|
|
63
|
+
"bridge",
|
|
64
|
+
"downloads",
|
|
65
|
+
"projects"
|
|
66
|
+
],
|
|
67
|
+
"prefix_args": [
|
|
68
|
+
"/D",
|
|
69
|
+
"/S",
|
|
70
|
+
"/C"
|
|
71
|
+
],
|
|
72
|
+
"extensions": [
|
|
73
|
+
".cmd",
|
|
74
|
+
".bat"
|
|
75
|
+
],
|
|
76
|
+
"timeout_ms": 120000,
|
|
77
|
+
"max_output_bytes": 1048576
|
|
78
|
+
},
|
|
79
|
+
"node_script": {
|
|
80
|
+
"kind": "script",
|
|
81
|
+
"executable": "C:\\Program Files\\nodejs\\node.exe",
|
|
82
|
+
"executable_sha256": "9a4eb5f1c29c6a2e93852ead46b999e284a6a5ca8bab4d4e241d587d025a52de",
|
|
83
|
+
"root_ids": [
|
|
84
|
+
"core",
|
|
85
|
+
"bridge",
|
|
86
|
+
"downloads",
|
|
87
|
+
"projects"
|
|
88
|
+
],
|
|
89
|
+
"prefix_args": [
|
|
90
|
+
|
|
91
|
+
],
|
|
92
|
+
"extensions": [
|
|
93
|
+
".mjs",
|
|
94
|
+
".js"
|
|
95
|
+
],
|
|
96
|
+
"timeout_ms": 120000,
|
|
97
|
+
"max_output_bytes": 1048576
|
|
98
|
+
},
|
|
99
|
+
"powershell_inline": {
|
|
100
|
+
"kind": "inline",
|
|
101
|
+
"executable": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
|
|
102
|
+
"executable_sha256": "8bb6fa8c283b4d92120b1ef249a9b311b0f804d4cabbe9981159976c8be76a5e",
|
|
103
|
+
"root_ids": [
|
|
104
|
+
"core",
|
|
105
|
+
"bridge",
|
|
106
|
+
"downloads",
|
|
107
|
+
"projects"
|
|
108
|
+
],
|
|
109
|
+
"prefix_args": [
|
|
110
|
+
"-NoLogo",
|
|
111
|
+
"-NoProfile",
|
|
112
|
+
"-ExecutionPolicy",
|
|
113
|
+
"Bypass",
|
|
114
|
+
"-Command"
|
|
115
|
+
],
|
|
116
|
+
"timeout_ms": 120000,
|
|
117
|
+
"max_output_bytes": 1048576,
|
|
118
|
+
"max_command_chars": 32768
|
|
119
|
+
},
|
|
120
|
+
"cmd_inline": {
|
|
121
|
+
"kind": "inline",
|
|
122
|
+
"executable": "C:\\WINDOWS\\system32\\cmd.exe",
|
|
123
|
+
"executable_sha256": "97ac98b1a92c286054cce55239cfccdfc23a5517bd07fe693072c9ca96c7dabb",
|
|
124
|
+
"root_ids": [
|
|
125
|
+
"core",
|
|
126
|
+
"bridge",
|
|
127
|
+
"downloads",
|
|
128
|
+
"projects"
|
|
129
|
+
],
|
|
130
|
+
"prefix_args": [
|
|
131
|
+
"/D",
|
|
132
|
+
"/S",
|
|
133
|
+
"/C"
|
|
134
|
+
],
|
|
135
|
+
"timeout_ms": 120000,
|
|
136
|
+
"max_output_bytes": 1048576,
|
|
137
|
+
"max_command_chars": 32768
|
|
138
|
+
},
|
|
139
|
+
"node_inline": {
|
|
140
|
+
"kind": "inline",
|
|
141
|
+
"executable": "C:\\Program Files\\nodejs\\node.exe",
|
|
142
|
+
"executable_sha256": "9a4eb5f1c29c6a2e93852ead46b999e284a6a5ca8bab4d4e241d587d025a52de",
|
|
143
|
+
"root_ids": [
|
|
144
|
+
"core",
|
|
145
|
+
"bridge",
|
|
146
|
+
"downloads",
|
|
147
|
+
"projects"
|
|
148
|
+
],
|
|
149
|
+
"prefix_args": [
|
|
150
|
+
"-e"
|
|
151
|
+
],
|
|
152
|
+
"timeout_ms": 120000,
|
|
153
|
+
"max_output_bytes": 1048576,
|
|
154
|
+
"max_command_chars": 32768
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"native_exec": {
|
|
158
|
+
"enabled": true,
|
|
159
|
+
"root_ids": [
|
|
160
|
+
"core",
|
|
161
|
+
"bridge",
|
|
162
|
+
"downloads",
|
|
163
|
+
"projects"
|
|
164
|
+
],
|
|
165
|
+
"timeout_ms": 120000,
|
|
166
|
+
"max_output_bytes": 1048576,
|
|
167
|
+
"max_args": 64,
|
|
168
|
+
"max_arg_chars": 8192
|
|
169
|
+
}
|
|
170
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "deadbyte.process-policy.v1",
|
|
3
3
|
"enabled": true,
|
|
4
|
-
"grant_file": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-
|
|
5
|
-
"state_dir": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-
|
|
4
|
+
"grant_file": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.30-stabilization\\controller\\runtime\\process-grant.json",
|
|
5
|
+
"state_dir": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.30-stabilization\\controller\\runtime\\process-state",
|
|
6
6
|
"native_host": {
|
|
7
|
-
"path": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-
|
|
7
|
+
"path": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.30-stabilization\\bin\\deadbyte-process-host.exe",
|
|
8
8
|
"sha256": "daf9cfb371bee88cafbf5597eaa507fec504dbe0b0ddd40d0c3c2e02817f49e4"
|
|
9
9
|
},
|
|
10
10
|
"roots": {
|
|
11
11
|
"core": {
|
|
12
|
-
"path": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-
|
|
12
|
+
"path": "D:\\Projects\\deadbyte-mcp\\development\\deadbyte-mcp-0.15.30-stabilization",
|
|
13
13
|
"deny_paths": [
|
|
14
14
|
"node_modules",
|
|
15
15
|
"controller/runtime",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "deadbyte-mcp",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.30",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Authenticated MCP agentic runtime with signed skills, persistent model backends, identity-bound remote devices, durable job supervision, immutable release slots, and separately revocable machine authority.",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"contained:run": "node src/contained-cli.mjs workspaces/demo input.txt",
|
|
43
43
|
"contained:smoke": "node src/contained-smoke.mjs",
|
|
44
44
|
"mcp:contained:smoke": "node src/mcp-contained-smoke-client.mjs",
|
|
45
|
-
"gate:windows": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts/gate-windows-
|
|
45
|
+
"gate:windows": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts/gate-windows-r53.ps1",
|
|
46
46
|
"authority:smoke": "node src/authority-smoke.mjs",
|
|
47
47
|
"mcp:remote:smoke": "node src/remote-mcp-smoke-client.mjs",
|
|
48
48
|
"mcp:host:smoke": "node src/mcp-host-smoke-client.mjs",
|
|
@@ -74,7 +74,8 @@
|
|
|
74
74
|
"r48:catalog:test": "node --test --test-concurrency=1 test/full-max-catalog-r48.test.mjs",
|
|
75
75
|
"release:npm": "node scripts/npm-release-r48.mjs",
|
|
76
76
|
"r51:focused:test": "node --test --test-concurrency=1 test/r51-release-contract.test.mjs test/r51-runtime-coherence.test.mjs test/r51-live-log-polling.test.mjs test/coding-runtime.test.mjs test/remote-live-log-r37.test.mjs",
|
|
77
|
-
"r52:focused:test": "node --test --test-concurrency=1 test/r52-release-contract.test.mjs test/r52-offline-predecessor-recovery.test.mjs test/r52-host-revocation.test.mjs test/r51-runtime-coherence.test.mjs test/r51-live-log-polling.test.mjs test/coding-runtime.test.mjs test/remote-live-log-r37.test.mjs test/runtime-self-update.test.mjs"
|
|
77
|
+
"r52:focused:test": "node --test --test-concurrency=1 test/r52-release-contract.test.mjs test/r52-offline-predecessor-recovery.test.mjs test/r52-host-revocation.test.mjs test/r51-runtime-coherence.test.mjs test/r51-live-log-polling.test.mjs test/coding-runtime.test.mjs test/remote-live-log-r37.test.mjs test/runtime-self-update.test.mjs",
|
|
78
|
+
"r53:focused:test": "node --test --test-concurrency=1 test/r53-release-contract.test.mjs test/stabilization-update-child-root.test.mjs test/stabilization-state-root.test.mjs test/stabilization-guardian.test.mjs test/stabilization-semver.test.mjs test/stabilization-powershell.test.mjs test/release-slot.test.mjs test/runtime-self-update.test.mjs test/r51-runtime-coherence.test.mjs test/remote-session-cli.test.mjs test/r52-offline-predecessor-recovery.test.mjs test/r52-host-revocation.test.mjs"
|
|
78
79
|
},
|
|
79
80
|
"bundleDependencies": [
|
|
80
81
|
"@modelcontextprotocol/server",
|
|
@@ -39,7 +39,7 @@ deadbyte-process-host.cpp
|
|
|
39
39
|
exit_code=0
|
|
40
40
|
==== probe-dependencies ====
|
|
41
41
|
|
|
42
|
-
Dump of file D:\Projects\deadbyte-mcp\development\deadbyte-mcp-
|
|
42
|
+
Dump of file D:\Projects\deadbyte-mcp\development\deadbyte-mcp-0.15.30-stabilization\bin\containment-probe.exe
|
|
43
43
|
|
|
44
44
|
File Type: EXECUTABLE IMAGE
|
|
45
45
|
|
|
@@ -59,7 +59,7 @@ File Type: EXECUTABLE IMAGE
|
|
|
59
59
|
exit_code=0
|
|
60
60
|
==== contained-launcher-dependencies ====
|
|
61
61
|
|
|
62
|
-
Dump of file D:\Projects\deadbyte-mcp\development\deadbyte-mcp-
|
|
62
|
+
Dump of file D:\Projects\deadbyte-mcp\development\deadbyte-mcp-0.15.30-stabilization\bin\deadbyte-exec.exe
|
|
63
63
|
|
|
64
64
|
File Type: EXECUTABLE IMAGE
|
|
65
65
|
|
|
@@ -83,7 +83,7 @@ File Type: EXECUTABLE IMAGE
|
|
|
83
83
|
exit_code=0
|
|
84
84
|
==== contained-worker-dependencies ====
|
|
85
85
|
|
|
86
|
-
Dump of file D:\Projects\deadbyte-mcp\development\deadbyte-mcp-
|
|
86
|
+
Dump of file D:\Projects\deadbyte-mcp\development\deadbyte-mcp-0.15.30-stabilization\bin\contained-transform-worker.exe
|
|
87
87
|
|
|
88
88
|
File Type: EXECUTABLE IMAGE
|
|
89
89
|
|
|
@@ -104,7 +104,7 @@ File Type: EXECUTABLE IMAGE
|
|
|
104
104
|
exit_code=0
|
|
105
105
|
==== contained-reverse-worker-dependencies ====
|
|
106
106
|
|
|
107
|
-
Dump of file D:\Projects\deadbyte-mcp\development\deadbyte-mcp-
|
|
107
|
+
Dump of file D:\Projects\deadbyte-mcp\development\deadbyte-mcp-0.15.30-stabilization\bin\contained-reverse-worker.exe
|
|
108
108
|
|
|
109
109
|
File Type: EXECUTABLE IMAGE
|
|
110
110
|
|
|
@@ -125,7 +125,7 @@ File Type: EXECUTABLE IMAGE
|
|
|
125
125
|
exit_code=0
|
|
126
126
|
==== named-tunnel-host-dependencies ====
|
|
127
127
|
|
|
128
|
-
Dump of file D:\Projects\deadbyte-mcp\development\deadbyte-mcp-
|
|
128
|
+
Dump of file D:\Projects\deadbyte-mcp\development\deadbyte-mcp-0.15.30-stabilization\bin\deadbyte-tunnel-host.exe
|
|
129
129
|
|
|
130
130
|
File Type: EXECUTABLE IMAGE
|
|
131
131
|
|
|
@@ -144,7 +144,7 @@ File Type: EXECUTABLE IMAGE
|
|
|
144
144
|
exit_code=0
|
|
145
145
|
==== process-host-dependencies ====
|
|
146
146
|
|
|
147
|
-
Dump of file D:\Projects\deadbyte-mcp\development\deadbyte-mcp-
|
|
147
|
+
Dump of file D:\Projects\deadbyte-mcp\development\deadbyte-mcp-0.15.30-stabilization\bin\deadbyte-process-host.exe
|
|
148
148
|
|
|
149
149
|
File Type: EXECUTABLE IMAGE
|
|
150
150
|
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
$ErrorActionPreference = 'Stop'
|
|
2
|
+
Set-StrictMode -Version 3.0
|
|
3
|
+
|
|
4
|
+
function Invoke-GateStep {
|
|
5
|
+
param([Parameter(Mandatory)][string]$Name,[Parameter(Mandatory)][string[]]$NpmArgs)
|
|
6
|
+
Write-Host "==== $Name ===="
|
|
7
|
+
& npm.cmd @NpmArgs
|
|
8
|
+
if ($LASTEXITCODE -ne 0) { throw "DEADBYTE 0.15.30 / R53 gate failed at $Name with exit code $LASTEXITCODE" }
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function Invoke-NodeTest {
|
|
12
|
+
param([Parameter(Mandatory)][string]$Name,[Parameter(Mandatory)][string[]]$TestFiles)
|
|
13
|
+
Write-Host "==== $Name ===="
|
|
14
|
+
& node.exe --test --test-concurrency=1 @TestFiles
|
|
15
|
+
if ($LASTEXITCODE -ne 0) { throw "DEADBYTE 0.15.30 / R53 gate failed at $Name with exit code $LASTEXITCODE" }
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
Invoke-NodeTest 'r53-package-boundary' @('test/package-boundary.test.mjs')
|
|
19
|
+
Invoke-NodeTest 'r53-release-smoke-isolation' @('test/release-smoke-isolation.test.mjs')
|
|
20
|
+
Invoke-GateStep 'r53-focused-contracts' @('run','r53:focused:test')
|
|
21
|
+
Invoke-GateStep 'containment-build' @('run','containment:build')
|
|
22
|
+
Invoke-GateStep 'process-policy-refresh' @('run','process:policy:refresh')
|
|
23
|
+
Write-Host "==== desktop-policy-refresh ===="
|
|
24
|
+
& (Join-Path $PSScriptRoot 'init-desktop-policy-r40.ps1')
|
|
25
|
+
Invoke-GateStep 'hardware-build' @('run','hardware:build')
|
|
26
|
+
|
|
27
|
+
$hostPolicy = [System.IO.Path]::GetFullPath((Join-Path $PSScriptRoot '..\controller\deadbyte-host-policy.json'))
|
|
28
|
+
Remove-Item -LiteralPath $hostPolicy -Force -ErrorAction SilentlyContinue
|
|
29
|
+
if (Test-Path -LiteralPath $hostPolicy) { throw 'could not establish hermetic Host policy absence' }
|
|
30
|
+
|
|
31
|
+
Invoke-GateStep 'r53-release-focused' @('run','r48:release:test')
|
|
32
|
+
Invoke-NodeTest 'r49-donor-proof' @('test/r49-remote-control-donors.test.mjs')
|
|
33
|
+
Invoke-NodeTest 'r49-desktop-wait' @('test/desktop-runtime-r40.test.mjs','test/desktop-mcp-tools-r40.test.mjs','test/autonomous-desktop-r40.test.mjs')
|
|
34
|
+
Invoke-GateStep 'r49-catalog' @('run','r48:catalog:test')
|
|
35
|
+
Invoke-GateStep 'commander-hardening' @('run','r47:hardening:test')
|
|
36
|
+
Invoke-GateStep 'full-regression' @('run','r48:full:test')
|
|
37
|
+
Invoke-GateStep 'mcp-smoke' @('run','mcp:smoke')
|
|
38
|
+
Invoke-GateStep 'mcp-agent-smoke' @('run','mcp:agent:smoke')
|
|
39
|
+
Invoke-GateStep 'mcp-coding-smoke' @('run','mcp:coding:smoke')
|
|
40
|
+
Invoke-GateStep 'mcp-machine-fs-smoke' @('run','mcp:machine-fs:smoke')
|
|
41
|
+
Invoke-GateStep 'mcp-observation-smoke' @('run','mcp:observation:smoke')
|
|
42
|
+
Invoke-GateStep 'mcp-process-smoke' @('run','mcp:process:smoke')
|
|
43
|
+
Invoke-GateStep 'mcp-autonomous-smoke' @('run','mcp:autonomous:smoke')
|
|
44
|
+
Invoke-GateStep 'tunnel-stdio-compat-smoke' @('run','mcp:tunnel-compat:smoke')
|
|
45
|
+
Invoke-GateStep 'containment-smoke' @('run','containment:smoke')
|
|
46
|
+
Invoke-GateStep 'contained-smoke' @('run','contained:smoke')
|
|
47
|
+
Invoke-GateStep 'mcp-contained-smoke' @('run','mcp:contained:smoke')
|
|
48
|
+
Invoke-GateStep 'host-policy-refresh' @('run','host:policy:init')
|
|
49
|
+
Invoke-GateStep 'manifest-write' @('run','manifest:write')
|
|
50
|
+
Invoke-GateStep 'manifest-verify' @('run','manifest:verify')
|
|
51
|
+
Invoke-GateStep 'doctor' @('run','doctor')
|
|
52
|
+
Invoke-GateStep 'mcp-host-smoke' @('run','mcp:host:smoke')
|
|
53
|
+
Invoke-GateStep 'authority-smoke' @('run','authority:smoke')
|
|
54
|
+
Invoke-GateStep 'manifest-final-verify' @('run','manifest:verify')
|
|
55
|
+
|
|
56
|
+
& node.exe (Join-Path $PSScriptRoot 'windows-gate-evidence-r53.mjs')
|
|
57
|
+
if ($LASTEXITCODE -ne 0) { throw "R53 evidence writer failed with exit code $LASTEXITCODE" }
|
|
58
|
+
Write-Host '==== DEADBYTE 0.15.30 / R53 WINDOWS GATE: PASS ===='
|
|
@@ -82,7 +82,7 @@ export async function verifyR42Parent(file=path.join(root,'R42-PARENT.json')){
|
|
|
82
82
|
const closureBytes=await readFile(path.resolve(record.parent_final_closure_path));
|
|
83
83
|
insist(sha256(closureBytes)===record.parent_final_closure_sha256,'R41 parent final closure raw hash mismatch');
|
|
84
84
|
const closure=JSON.parse(closureBytes.toString('utf8').replace(/^\uFEFF/,''));
|
|
85
|
-
const pointer=verifySignedClosure(closure,record,await readFile(path.join(stateRoot,'trust','ed25519-public.pem')));
|
|
85
|
+
const pointer=verifySignedClosure(closure,record,await readFile(path.resolve(process.env.DEADBYTE_PARENT_VERIFY_KEY||path.join(stateRoot,'trust','ed25519-public.pem'))));
|
|
86
86
|
const generationFiles=await verifyTree(path.resolve(pointer.generation_root),'GENERATION.SHA256',record.parent_generation_manifest_sha256,{exact:true});
|
|
87
87
|
|
|
88
88
|
const tarball=await readFile(path.resolve(record.parent_public_tarball_path));
|
|
@@ -107,7 +107,7 @@ export async function verifyR43Parent(file=path.join(root,'R43-PARENT.json')){
|
|
|
107
107
|
const activationBytes=await readFile(path.resolve(record.parent_activation_receipt_path));
|
|
108
108
|
insist(sha256(activationBytes)===record.parent_activation_receipt_file_sha256,'R42 activation raw file hash mismatch');
|
|
109
109
|
const activation=JSON.parse(activationBytes.toString('utf8').replace(/^\uFEFF/,''));
|
|
110
|
-
const keyInfo=publicKeyInfo(await readFile(path.join(stateRoot,'trust','ed25519-public.pem')));
|
|
110
|
+
const keyInfo=publicKeyInfo(await readFile(path.resolve(process.env.DEADBYTE_PARENT_VERIFY_KEY||path.join(stateRoot,'trust','ed25519-public.pem'))));
|
|
111
111
|
verifyActivationEnvelope(activation,keyInfo,record);
|
|
112
112
|
|
|
113
113
|
return {
|
|
@@ -76,7 +76,7 @@ export async function verifyR44Parent(parentFile,{stateRoot=path.join(os.homedir
|
|
|
76
76
|
insist(envelope.body.version===parent.parent_version,'R44 parent closure version mismatch');
|
|
77
77
|
insist(envelope.body.release_label==='R43 AUTHORITY HARDENING PATCH','R44 parent closure label mismatch');
|
|
78
78
|
|
|
79
|
-
const publicKey=createPublicKey(await readFile(path.join(path.resolve(stateRoot),'trust','ed25519-public.pem')));
|
|
79
|
+
const publicKey=createPublicKey(await readFile(path.resolve(process.env.DEADBYTE_PARENT_VERIFY_KEY||path.join(path.resolve(stateRoot),'trust','ed25519-public.pem'))));
|
|
80
80
|
insist(publicKey.asymmetricKeyType==='ed25519','R44 parent trust key must be Ed25519');
|
|
81
81
|
const keyId=sha256(Buffer.from(publicKey.export({type:'spki',format:'der'})));
|
|
82
82
|
insist(keyId===parent.parent_final_closure_signer_key_id,'R44 parent trust key id mismatch');
|