deadbyte-mcp 0.15.4 → 0.15.5
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 +21 -21
- package/PROVENANCE.json +1 -1
- package/README.txt +14 -14
- package/RELEASE.json +1 -1
- package/controller/README.TXT +2 -2
- package/controller/deadbyte-controller.ps1 +1 -1
- package/docs/ARCHITECTURE.md +1 -1
- package/package.json +1 -1
- package/scripts/deferred-slot-operation-r46.mjs +1 -1
- package/scripts/final-closure-r46.mjs +6 -6
- package/scripts/final-closure-verify-r46.mjs +7 -7
- package/scripts/gate-windows-r46.ps1 +4 -4
- package/scripts/release-parity-r46.mjs +4 -4
- package/scripts/windows-gate-evidence-r46.mjs +7 -7
- package/src/version.mjs +1 -1
- package/test/cli-entrypoint.test.mjs +3 -3
- package/test/core.test.mjs +1 -1
- package/test/full-max-catalog-r44.test.mjs +3 -1
- package/test/full-max-catalog-r45.test.mjs +3 -1
- package/test/production-docs.test.mjs +3 -3
- package/test/release-version.test.mjs +12 -12
- package/test/runtime-self-update.test.mjs +1 -1
package/MANIFEST.SHA256
CHANGED
|
@@ -45,20 +45,20 @@ f0ce7acb1e41325cef8b6789f95bd78b6a6107423773eace57a12b49faa55095 bin/WORKER-REG
|
|
|
45
45
|
e74d45bd9facf03c9a2a0ff52600252924deb804a87e4b5503f48662a2b45a3b conpty-input-observer.obj
|
|
46
46
|
8653d36e373f7c604b4f5e78b446e6a9c3974bfc39a9e346c3fd5abe1f910b3c CONTEXT.md
|
|
47
47
|
3ffd977e819e0d68bd62dad2dadd7481b25c508ebd8042bec2b706cea8ce16f9 controller/deadbyte-controller.config.psd1.example
|
|
48
|
-
|
|
48
|
+
6d15718efbbf86b34a68abe2a8ca510de94fe7e5b946b46da1ba43004b223b0e controller/deadbyte-controller.ps1
|
|
49
49
|
63cf4ec4380f5a178696f6548c223cb1a5a4dd340d0135c718995242ec97bdcf controller/deadbyte-desktop-policy.json
|
|
50
50
|
5e8ef223b0dbc52173aaf044a075837eef8964ff0e7e16f83a595e0d17695625 controller/deadbyte-host-policy.json.example
|
|
51
51
|
6f0cc469f51444dd18211fa3346c826abeea4d2ec7a8945f0200dc5c622031ef controller/DEADBYTE-MCP.cmd
|
|
52
52
|
0ed1dfaa324eccadd4f6a07385df73feac8bdfef83a4b3ab3f31139885649841 controller/deadbyte-process-policy.json
|
|
53
53
|
d274b099a298c1033fea8f1e8849751693bbc0448778d619400acb82d4f53a3b controller/deadbyte-semantic-lsp-config.json
|
|
54
|
-
|
|
54
|
+
3023d2985f5b6e5cc7c0d08cb8b342b362c93dce7ebd4224635362194be40cf2 controller/README.TXT
|
|
55
55
|
101e613518c73c6aa31c725fe1b5f9a24c995dc9876b7b28e1f3e97ac9f8d362 DEADBYTE-MCP-R27-FINAL/R27-ADMIN-CLOSURE.json
|
|
56
56
|
e9baf9abf4410ff8bd0f68e6b957dbbf9790fc88d9126311c5c135e943424952 DEADBYTE-MCP-R27-FINAL/R27-CLEANUP-FINAL-RECEIPT.json
|
|
57
57
|
39cb483c0897af5027bf1790a35a4c3b9a8cd5f6e3a2e0440787615f69cd14b2 DEADBYTE-MCP-R27-FINAL/R27-FINAL-CLOSURE.json
|
|
58
58
|
9aaf6d07e7511a1f0046ee8cc731d4b9660bbbf47dcea785a9c6b6cec95640bc DEADBYTE-MCP-R27-FINAL/R27-SLOT-UPDATE-RECEIPT.json
|
|
59
59
|
70dfccba12797ce5fea60668c97026cf71e7942cb4d886cac5853e05b362b6c1 DEADBYTE-MCP.cmd
|
|
60
60
|
7994082e4340b5f43272e8cb111ce54043af64dc3a04d5279e251f3dae16f654 docs/ADR-0001-PRODUCTION-BASELINE-SEAMS.md
|
|
61
|
-
|
|
61
|
+
c945b519454c6cb4c89a2b432a3f7ad29a5e7d4bc1db638972104f0093639b18 docs/ARCHITECTURE.md
|
|
62
62
|
3f455f407933d8e044682f3415bdb51e68d7c4b508411dda7d8ed65b6e1d7e79 docs/AUTHORITY.md
|
|
63
63
|
3be291331862ac5bd892345e84d6ce8d9b6d835855235d7c5f28d5cd4b04afdb docs/CHILD-CONTROL.md
|
|
64
64
|
a9cbd1e2def00aae93569835f2ee17aa5cfd181e5770d7c1185c9c62deb0769e docs/CONSTRUCTION-LADDER.md
|
|
@@ -1328,7 +1328,7 @@ db605a698f917c4006462596e6526fe6a9c6eff9b8409e8472fe545d4b70027c node_modules/z
|
|
|
1328
1328
|
f67a25ded944912bd4621b68df17c7c70a52aae117278c076c0aabbc32a3abba node_modules/zod/v4/mini/schemas.d.ts
|
|
1329
1329
|
51b3a7869df2d3a1bd98acb9d5b6a61bbccc7653d7a3d8fca7f0e0db7e84e284 node_modules/zod/v4/mini/schemas.js
|
|
1330
1330
|
3e3125b5a537a24c3632c1c5c09640ce7bcb3935901b127ad8ae3c37a27f133f node_modules/zod/v4/package.json
|
|
1331
|
-
|
|
1331
|
+
b5e2798ff6a37ab05fe61965c3cfb5a0c171c3062f83adf3fc1c378ca9cf08da package.json
|
|
1332
1332
|
8177e3a354721a73df889f386a97e7744a2e017d150aecf4bf309f5177d18690 proof/CONTAINMENT-BUILD.txt
|
|
1333
1333
|
a8efa13e44ff50902aee64cfca542d19605a1ae23db95280ad2d44b324f3eae7 proof/MCP-SMOKE-STATUS.txt
|
|
1334
1334
|
7c115069cc4a343ca21b0ebdee74bd8f544b02d4aa906ffa13308725825d891a proof/NODE-SYNTAX.txt
|
|
@@ -1388,7 +1388,7 @@ d433aaea5cccd1e184775ac4d915f34e0b39c6c99916dddd009731ad5fd6443f proof/V073-WIN
|
|
|
1388
1388
|
bd0773a9e02e8ab11475c9cc5a7db29a8313233b7eab7f837922737e75ec5938 proof/VERIFY.txt
|
|
1389
1389
|
2c821808d4596965c577f40191daee224d3aea81989778c4af97f53a83b487db proof/WINDOWS-CONTAINED-STATUS.txt
|
|
1390
1390
|
f8bc839c7b4fcb0ea7b7e7ad9448847c3beae6f95f2eb4d407d1b284aaa4ff68 proof/WINDOWS-CONTAINMENT-STATUS.txt
|
|
1391
|
-
|
|
1391
|
+
2e08ebcd817f2472f0bca26025091eabe66629591f87df7993c403d55fbcf855 PROVENANCE.json
|
|
1392
1392
|
27ca0f3c9ee3a1b6374a9c8dd98008decdd0c7659c7a569c70ad7b9734c74655 R34-BASELINE.json
|
|
1393
1393
|
0b7ec5ee347ddfa6cca59740fc7a8fe3fc5d51406265bb12189e82fa106319d2 R41-PARENT.json
|
|
1394
1394
|
bd2a789b0aab5663f0d208af2ca8e4ec98179bc8c7b57e70a962d4e06a3dcfc4 R42-PARENT.json
|
|
@@ -1396,8 +1396,8 @@ bd2a789b0aab5663f0d208af2ca8e4ec98179bc8c7b57e70a962d4e06a3dcfc4 R42-PARENT.jso
|
|
|
1396
1396
|
f932ef78b7a72b1bb0d7aedb5fe42fbb9951c2492eb528b72442f46ddff81a6c R44-DONORS.json
|
|
1397
1397
|
731b4c559fc0d25dea701e4474f02400b27e8e3f4cac9f230d5214497d4490a9 R44-PARENT.json
|
|
1398
1398
|
d33ec5d167dd44800ba4e68372b08db43deb8d01df2ef71dd435ff004ac66c8b R45-PARENT.json
|
|
1399
|
-
|
|
1400
|
-
|
|
1399
|
+
0ae37e1c40dff1a47f08ca5a0e9dcdddb3c8c3a8e478d69429e99a2f951f55ab README.txt
|
|
1400
|
+
4c490e8bcc0c2ea977a8f839cde247680bead95f6bbfb90d9a98b4f0e4eb8921 RELEASE.json
|
|
1401
1401
|
507a42441c8fbb0b1bef63a13fad9e1680262cd6d34cc176b7ed0c5423ddbcc7 SBOM.cdx.json
|
|
1402
1402
|
bd138fe5a64088e8e1a7a5bf6104c5b17317bdc8cf3ad8191ea00ed82ace7d9b scripts/agent-eval-r42.mjs
|
|
1403
1403
|
1d4e9dee6f0669bd825334a6a72e13ee85ee29ab430dcef21d893ffd744774b5 scripts/autonomous-benchmark.mjs
|
|
@@ -1424,7 +1424,7 @@ edb22517bcad07694f661a7ff237f519a01588eac18555e8c3126ee9923b13d7 scripts/deferr
|
|
|
1424
1424
|
9d1cfb8c962248cbab64e5a96b437c1cf68f0e071e898d5b2cc84a87f305bd33 scripts/deferred-slot-operation-r43.mjs
|
|
1425
1425
|
a64b6779eff80d68d90d238dee7f2feda5ada3c5c59bcaeae2ab7812bd28404e scripts/deferred-slot-operation-r44.mjs
|
|
1426
1426
|
751632aeb2e56b093f9589897bbe7e874db61e9238a13bd1506bde2df0b706e9 scripts/deferred-slot-operation-r45.mjs
|
|
1427
|
-
|
|
1427
|
+
d4710039ceff7380f3b6a0040ad118a81eabdda2706c459f9b81f8e08978fba4 scripts/deferred-slot-operation-r46.mjs
|
|
1428
1428
|
34116370895aeff9a424475558f4aca3b05460146455d9bb0bafcacd1a270910 scripts/deferred-slot-operation.mjs
|
|
1429
1429
|
2cc7a37231f8836a48c3bf4024887f38c10bfc89296ac483e4b98b3f18281933 scripts/derive-r45-parent.mjs
|
|
1430
1430
|
67221c5619019a9d19611432d4361c99c365f14e89483e4c8f78451839960176 scripts/derive-r45-release.mjs
|
|
@@ -1440,7 +1440,7 @@ d99aea728b782ee685ee63e8555814bf02393a22e05db3a0a9ca25a6c3b19e90 scripts/final-
|
|
|
1440
1440
|
fbcc5d0df6159f1ecbca892afff5e85e9619ca8885c71d6153dfe374d6034ade scripts/final-closure-r43.mjs
|
|
1441
1441
|
0111dbd5565bc50c8d0101e16222f81906e37960ad730c78b98f401f61d46cb5 scripts/final-closure-r44.mjs
|
|
1442
1442
|
b855ed9e68839574ee5cf6501c3ac47aa0881012baf7d79083c629816a86ada3 scripts/final-closure-r45.mjs
|
|
1443
|
-
|
|
1443
|
+
e44d4224b129e3adb0271923d2c3600bc6e9e88639d9bac0505295673d9efe70 scripts/final-closure-r46.mjs
|
|
1444
1444
|
4b895f85e2bf7009def5ecb0a96dad38832c6fac3b2a0633a6b71d9ac9a868be scripts/final-closure-verify-r36.mjs
|
|
1445
1445
|
c6cbbfe7ea3e4c257c419535425a9f75e4d58f2d5cb18f2f408b871f1c7c20a8 scripts/final-closure-verify-r37-0110.mjs
|
|
1446
1446
|
228268406b0fd7bcb585fe87ce720bec7548ce172ee22f7f1be02638c2d7af18 scripts/final-closure-verify-r38.mjs
|
|
@@ -1451,7 +1451,7 @@ d39ce4e31509b9a3417f24b401e930b989e312d029ab7e7f21ce194d056c3299 scripts/final-
|
|
|
1451
1451
|
c52ff04f5ee283c19e982d8d4d1986699ac89740db77ed660b75040f8810bd8e scripts/final-closure-verify-r43.mjs
|
|
1452
1452
|
5c054cb6fac6d5c9c8615837fa505f37e1593b3a826ff8875cf99b027eb6cd27 scripts/final-closure-verify-r44.mjs
|
|
1453
1453
|
815f5d149def47fa165161a296e4971c8f8fb19159fcc080e47ab4e32968695b scripts/final-closure-verify-r45.mjs
|
|
1454
|
-
|
|
1454
|
+
02b499958340df44986d321d6770d2ef1521a5f1d22690b2ab2c557ffac3ff76 scripts/final-closure-verify-r46.mjs
|
|
1455
1455
|
c1a16ed8b9e3bde9622d288e7274d7677eec7fa1783cbb090fb8df96db3d6e2a scripts/final-closure-verify.mjs
|
|
1456
1456
|
14b7fee5246589819ee0a5e89a0e386b932d89275660305d98324efc6a3f0902 scripts/final-closure.mjs
|
|
1457
1457
|
d329183a7bb564879563e6341d232d3b6c99ffc45f27ed0b0f0705004f5475ad scripts/finalize-r43.mjs
|
|
@@ -1472,7 +1472,7 @@ dd0021a5b9ceac6ff252c7620092bb12b080a5014aa852512b87725bdb4e8eae scripts/gate-w
|
|
|
1472
1472
|
a0ad824eed1d8be051d5f731579f9bf4115b311f202b75ea0d03aa257b13a671 scripts/gate-windows-r43.ps1
|
|
1473
1473
|
7489fd39491c8ee496bfae08819b2502dbbefd6c47b19a0146d08d203170c07b scripts/gate-windows-r44.ps1
|
|
1474
1474
|
500b330c6d14afb1162d28efb9b99e75cec9f702a67b6b936449943c908177a9 scripts/gate-windows-r45.ps1
|
|
1475
|
-
|
|
1475
|
+
00a3fc5aa75763c40ff0e09173091168903eb7fcae0ce164e51876569a4e2ff1 scripts/gate-windows-r46.ps1
|
|
1476
1476
|
9a085b34b9e54023eb0efadcea1e74a1bef44b984105d064768d66910999173e scripts/gate-windows.ps1
|
|
1477
1477
|
9e625bdc701298c05eb2a63c208d023a487a1baf306c05940eb29c19fb1d6544 scripts/init-desktop-policy-r40.ps1
|
|
1478
1478
|
1f076a5d55616027d7a272c860118fb437f67a629cf4aa4258f1d4acd56043c7 scripts/init-host-policy.ps1
|
|
@@ -1492,7 +1492,7 @@ c34215918c45fe796d3213563a78838080f6f2331465a83a32d3731e05063a59 scripts/releas
|
|
|
1492
1492
|
3720267e56e915cc641018017a3c809c701a8cb64c00f766b0cf6abc42d344fe scripts/release-parity-r43.mjs
|
|
1493
1493
|
e8bc5780a7bc852682ac8c529243a21b8f61cc99acdbdbf1acbf0d3eebce68be scripts/release-parity-r44.mjs
|
|
1494
1494
|
5e82fe490a884ebd2c7450841bfe8e73a4ee0af8c7a0ff8ffc985cef1780fcd1 scripts/release-parity-r45.mjs
|
|
1495
|
-
|
|
1495
|
+
5ccc400f161b352db95fda024bfd3720d7d9b91bacc884f2dc1e9107540f8067 scripts/release-parity-r46.mjs
|
|
1496
1496
|
6b5ea3ae9b3468bc82df8f371f7e2120c5f4265916cf312beae045f481b8abbb scripts/release-parity-tests-r38.ps1
|
|
1497
1497
|
7b47e96d78437d65d492e3982efb6d440bb0220681a3b1f133c743c26bc3464a scripts/release-parity-tests-r39.ps1
|
|
1498
1498
|
d3558bba2a973ed015d6de1ab4cdb70c3beb95d4c0c3e49244af035bb28db028 scripts/release-parity-tests-r40.ps1
|
|
@@ -1525,7 +1525,7 @@ eb855e8d49a9a07cbfd2772edaa2b5e5565be1d882a5f86b57ff30e38f99d664 scripts/window
|
|
|
1525
1525
|
d05fd67d62005aebf3cd2daf1e67f0550d124a2068baf9aa0550afb7de26f440 scripts/windows-gate-evidence-r43.mjs
|
|
1526
1526
|
7bf69fa83b1107171369a76844786eb3930a633f5ef6ad77285fbe276c1e79ae scripts/windows-gate-evidence-r44.mjs
|
|
1527
1527
|
65a259259bb33755ee4873c57ae1588665e5af3a40dd4cc83b5bccdfed228ea1 scripts/windows-gate-evidence-r45.mjs
|
|
1528
|
-
|
|
1528
|
+
536f36b6d4cd86b9f874f6b8c0599d752d9efa69a2691f8971ee4b0d317c9739 scripts/windows-gate-evidence-r46.mjs
|
|
1529
1529
|
2255b8eb78ca61267df54448560a671357f04893b6bb1df27b8b9fc8a944d255 scripts/windows-gate-evidence.mjs
|
|
1530
1530
|
105a5c6dcd54e4fabb416df9eaac093654f3ea39c4233a56e0bc6d53371b2128 scripts/workload-contract-regression-r47.mjs
|
|
1531
1531
|
c32cb9054a1b9641ae071c00622c0054272bdb0b519ea22c4ff926a1600a2b46 scripts/workload-stream-regression.mjs
|
|
@@ -1687,7 +1687,7 @@ bac271c6f5218752ac5ff4decf5249e3893ddb35c63c092ce17238c27fc4d35b src/trust-init
|
|
|
1687
1687
|
16df134040e3ff1e73df722b568d3e8ac0a6923b097696cead7580da75aa8d2a src/tunnel-stdio-compat.mjs
|
|
1688
1688
|
642cb67d1854850e336ee73fbd71b329056bdcbdab35cea19c1a995a155ff5d9 src/verifier-cli.mjs
|
|
1689
1689
|
8f818a4852ce3be3a380cd4736c3073a7a3e0e45cd7c7ca90588a6b843d3d022 src/verifier.mjs
|
|
1690
|
-
|
|
1690
|
+
f125aeb288ccf11f6f94970bfe2a54b167dfc2f48d52665b5b5b81280f56202f src/version.mjs
|
|
1691
1691
|
7e09c57a97289360aabfaf3d531208e54872efbfb3182f3c18203d2cb88c46b5 src/worker-registry.mjs
|
|
1692
1692
|
76361d5ae9a710273cf64a7525082197b692236bf23689875e5fd1ef4aa96d2b src/worker-scheduler.mjs
|
|
1693
1693
|
4da1b32f5198bb089bc68b7eb6de21ea296678b5020018a73742bf0df57d62fa src/workload-substrate.mjs
|
|
@@ -1728,7 +1728,7 @@ bad448d7bfd0c66b8d0dc0fa601fc22d69ccc3f447140ed0f77b68957984daea test/capabilit
|
|
|
1728
1728
|
c343906ca0878e13c576cd9f615802b1139c693bf6769a780dfb052637cf0d83 test/capability-benchmark.test.mjs
|
|
1729
1729
|
b9a8faa4b86683ac5aea891fe6bc95f8e425fb31635176aa4603f9d582b52a79 test/capability-claims-r36.test.mjs
|
|
1730
1730
|
a466a490759d438a8ac68919f79ddcb52253bdbecb5e4448a4fbf62af118184e test/capability-ledger-r36.test.mjs
|
|
1731
|
-
|
|
1731
|
+
b6f826b1faf13184fd89af4c068a5b93fce3c520cc2f9f6e09ad400edfedcc1c test/cli-entrypoint.test.mjs
|
|
1732
1732
|
bec565ffa8550d56a5bb21927177c37d9d05f8353e3bc2541fc156886fe23688 test/codex-app-server-r44.test.mjs
|
|
1733
1733
|
c43105a78ee4c93417d720ee660cfebc75b17f142a6484568e3cbaa583457f8c test/codex-autonomous-r44.test.mjs
|
|
1734
1734
|
350e151dbd8cc2723b141c5cf5f90bdf11289577c9b9347330e3ad815d948e98 test/coding-catalog-consistency.test.mjs
|
|
@@ -1756,7 +1756,7 @@ a972bd20fa927427e6d8e4181699a27e792e916b02dcf8a1ac3e2b44afd238c1 test/controlle
|
|
|
1756
1756
|
ceba7d1a09ccdcb20f33fe4e6de7667ffe0f0170d1bc9fefadfdba4d7f228090 test/controller-r29.test.mjs
|
|
1757
1757
|
4d0dc810d9af13907f31c834a13acfb7e01ffbbe65575b69649fe52741e42175 test/controller-r30.test.mjs
|
|
1758
1758
|
cceba415584a641291ad08814a666c08c902c6614579611a082334cbad2b5b34 test/controller.test.mjs
|
|
1759
|
-
|
|
1759
|
+
110cbc499c0686723988a95d9b384d28176fad0daaf6506997853db35641df43 test/core.test.mjs
|
|
1760
1760
|
7ba4b06a1c4141ba87b5b371157fb59940d15a1016b4c599a13753d63ad0d3d3 test/DEADBYTE-MCP-WRITE-PROBE.txt
|
|
1761
1761
|
c526724a6d10648fdd5152af917ba2fe51836dc5877daaac554bbd9e52fcd47e test/deferred-slot-operation-behavior.test.mjs
|
|
1762
1762
|
69a515b1a36f0620cae4057ea8dc5302751058e290aedaf2f0b637eb3288aba8 test/deferred-slot-operation.test.mjs
|
|
@@ -1835,8 +1835,8 @@ f254664d685fe47f3ca00d4384a13c5b9ebcc4402798d3774a6893a7a1573f51 test/fixtures/
|
|
|
1835
1835
|
7e33e246a3eca9ea5d87dcbb3b38fd5f543101cfff73acbd2df832ae01226dd7 test/fixtures/semantic/typescript/main.ts
|
|
1836
1836
|
f95c920ee2b24d5ec940a9bae277771562ce275556bd89f0071f183b13c154b8 test/fixtures/tool-surface-stdio-server.mjs
|
|
1837
1837
|
5f60c0a04ad93736db6f49eb7a49b50351a67e516c1cadd43fcaa9a5419989ee test/full-max-catalog-r40.test.mjs
|
|
1838
|
-
|
|
1839
|
-
|
|
1838
|
+
2a01b42859b181d24a39c61811dfc16434a6c3f64ad47316afdc21bd76615063 test/full-max-catalog-r44.test.mjs
|
|
1839
|
+
161cbd9839cad5623348c989bb2b8564df233e01c903de246112d8e6dc0ae9f4 test/full-max-catalog-r45.test.mjs
|
|
1840
1840
|
54f5096003ea13a6232a1e4756c7496a3d6425c145d9bef4f96696cdc22df024 test/full-max-catalog-r46.test.mjs
|
|
1841
1841
|
3cecf2bb61027d210f6bdf65a140ce1d5bedf2d4135e02f94edfeb2ef89ae6ae test/fuzzy-search-r46.test.mjs
|
|
1842
1842
|
506e5437ed41da3955d006294d81230c25825ff898b266fa2758ffd885ee3d07 test/hardware-observation-r45.test.mjs
|
|
@@ -1874,7 +1874,7 @@ b84622d07d2ecfe27b55e45f7e89949f29a2d14184d8c6f6f82ed7f1e5fa59be test/process-n
|
|
|
1874
1874
|
510f51a6288a1030387cf372951499aea6dba2a35362ad89510bf7480e2f8004 test/process-release-gate.test.mjs
|
|
1875
1875
|
548da6269630e40afb38b5906326eb14faff71c2b7f266503989fb5f63d41344 test/process-runtime.test.mjs
|
|
1876
1876
|
e53d37bf4746495ecc30eaff9bf5bc92456d390edc6f54193d5067eae8f95588 test/process-supervision.test.mjs
|
|
1877
|
-
|
|
1877
|
+
8b1c58809472a0ea65bf7fb90da0d4f21ce0bca948c3b1d04c6f6110be184a2e test/production-docs.test.mjs
|
|
1878
1878
|
8d7a03c03c9070cc81401f0c2bf22eab28f4a4970a4701dd7a1095845ae500d1 test/prompts-resources.test.mjs
|
|
1879
1879
|
fcb70992870cd2f84674d578b0aaee554f958969c629a9d522d1efd230fe8288 test/provider-circuit.test.mjs
|
|
1880
1880
|
ac00bda1c0b978c15ba3b4b5aa77076f6076c8043dc391ccf395dcc8c4f5a770 test/provider-responses-r42.test.mjs
|
|
@@ -1905,7 +1905,7 @@ d8f544bbcdfff61f7abb7705ad7e5e1f17998f5fde3c114fb33915fc66d1408f test/r41-final
|
|
|
1905
1905
|
bb58887a2c393cd5aac3fa3bb3a04de2704bd2a30dd2083ea638543485fa7e60 test/release-manifest-windows.test.mjs
|
|
1906
1906
|
7cc69e786bfd9e4a7e70888c4c1b5f756a264bc1a991139c468b63af23f24c38 test/release-slot.test.mjs
|
|
1907
1907
|
0109c76b480cc600f6ed42be4519df3fa6835012bb9e4ba4ae6be6635468c4a8 test/release-smoke-isolation.test.mjs
|
|
1908
|
-
|
|
1908
|
+
4ceba97216400cf3a1b01fa3353aba8459346e232a565c71024f14485ec141f1 test/release-version.test.mjs
|
|
1909
1909
|
c270a4e2d1384071e7c406f4ec8c8c1da56228844bf64362cffa03558be3cc49 test/remote-console-r40.test.mjs
|
|
1910
1910
|
ba122b4a7a6953b9fc8187a531a3e8b0f5f8519da602c551b32df8c88c85e879 test/remote-device-r44.test.mjs
|
|
1911
1911
|
3d26a0550a22c69990567d998c28e4ba0978c71429741c10c7c47f261653fbe2 test/remote-live-log-r36.test.mjs
|
|
@@ -1915,7 +1915,7 @@ e7417da0df95b624d7a65fc21d6cde943cbe657644e1b9da8b32136c55a5228f test/remote-r2
|
|
|
1915
1915
|
08e0a98e665783a1a4489534e3021d398d81df00c6974e6b957723445e92bad4 test/remote-result-journal.test.mjs
|
|
1916
1916
|
dee984e454879b6b970a61470694761391212038b6ba258e1a8a9f1059910bb8 test/remote-session-cli.test.mjs
|
|
1917
1917
|
ef8aa55479acc923d3fee89a463096d003826cfffc356fffa4ab0ef371345070 test/runtime-host-bootstrap-r45.test.mjs
|
|
1918
|
-
|
|
1918
|
+
6cd3ea90399a4b7c4055d3ad5a159f14cb28454922966c80e1aeb783e519d81a test/runtime-self-update.test.mjs
|
|
1919
1919
|
b131611ec56e83d5db05d40b9be9b029396a177bca1ddacac9bf13086d370897 test/semantic-backend-registry.test.mjs
|
|
1920
1920
|
a939ffa93544602d713749bc315fb970bd1a0d59b0d1570f2b8d4c26b4ec6e35 test/semantic-code.test.mjs
|
|
1921
1921
|
62956183d7ab05e8635c850dc28f5472d3ab3974b53e0e69b6b1f6cae9005254 test/semantic-lsp-backend.test.mjs
|
package/PROVENANCE.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "deadbyte.provenance.v1",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.5",
|
|
4
4
|
"builder": "deadbyte-r46-fileless-powershell",
|
|
5
5
|
"source_model": "development-root -> MANIFEST.SHA256 -> immutable release slot -> generation bundle -> signed final closure",
|
|
6
6
|
"signing": "ed25519",
|
package/README.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
DEADBYTE MCP V0.15.
|
|
1
|
+
DEADBYTE MCP V0.15.5 / R46 FILELESS POWERSHELL PRODUCT 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.15.
|
|
11
|
-
npx -y deadbyte-mcp@0.15.
|
|
12
|
-
npx -y deadbyte-mcp@0.15.
|
|
13
|
-
npx -y deadbyte-mcp@0.15.
|
|
14
|
-
npx -y deadbyte-mcp@0.15.
|
|
15
|
-
npx -y deadbyte-mcp@0.15.
|
|
10
|
+
npx -y deadbyte-mcp@0.15.5 mcp
|
|
11
|
+
npx -y deadbyte-mcp@0.15.5 remote
|
|
12
|
+
npx -y deadbyte-mcp@0.15.5 remote status
|
|
13
|
+
npx -y deadbyte-mcp@0.15.5 remote restart
|
|
14
|
+
npx -y deadbyte-mcp@0.15.5 audit status
|
|
15
|
+
npx -y deadbyte-mcp@0.15.5 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.
|
|
@@ -226,7 +226,7 @@ CONTROLLER
|
|
|
226
226
|
----------
|
|
227
227
|
Primary operator entry point:
|
|
228
228
|
|
|
229
|
-
npx -y deadbyte-mcp@0.15.
|
|
229
|
+
npx -y deadbyte-mcp@0.15.5 remote
|
|
230
230
|
|
|
231
231
|
The legacy CMD entry remains compatibility-only for R33 rollback safety.
|
|
232
232
|
|
|
@@ -287,7 +287,7 @@ MCP CLIENT CONFIGURATION
|
|
|
287
287
|
------------------------
|
|
288
288
|
The local stdio entry point is quiet and suitable for MCP hosts:
|
|
289
289
|
|
|
290
|
-
npx -y deadbyte-mcp@0.15.
|
|
290
|
+
npx -y deadbyte-mcp@0.15.5 mcp
|
|
291
291
|
|
|
292
292
|
CLAUDE DESKTOP
|
|
293
293
|
Use the standard local-server entry in claude_desktop_config.json:
|
|
@@ -296,7 +296,7 @@ Use the standard local-server entry in claude_desktop_config.json:
|
|
|
296
296
|
"mcpServers": {
|
|
297
297
|
"deadbyte": {
|
|
298
298
|
"command": "npx",
|
|
299
|
-
"args": ["-y", "deadbyte-mcp@0.15.
|
|
299
|
+
"args": ["-y", "deadbyte-mcp@0.15.5", "mcp"]
|
|
300
300
|
}
|
|
301
301
|
}
|
|
302
302
|
}
|
|
@@ -309,7 +309,7 @@ Create .cursor/mcp.json:
|
|
|
309
309
|
"deadbyte": {
|
|
310
310
|
"type": "stdio",
|
|
311
311
|
"command": "npx",
|
|
312
|
-
"args": ["-y", "deadbyte-mcp@0.15.
|
|
312
|
+
"args": ["-y", "deadbyte-mcp@0.15.5", "mcp"]
|
|
313
313
|
}
|
|
314
314
|
}
|
|
315
315
|
}
|
|
@@ -322,7 +322,7 @@ Create .vscode/mcp.json:
|
|
|
322
322
|
"deadbyte": {
|
|
323
323
|
"type": "stdio",
|
|
324
324
|
"command": "npx",
|
|
325
|
-
"args": ["-y", "deadbyte-mcp@0.15.
|
|
325
|
+
"args": ["-y", "deadbyte-mcp@0.15.5", "mcp"]
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
328
|
}
|
|
@@ -332,9 +332,9 @@ Add this to ~/.codex/config.toml:
|
|
|
332
332
|
|
|
333
333
|
[mcp_servers.deadbyte]
|
|
334
334
|
command = "npx"
|
|
335
|
-
args = ["-y", "deadbyte-mcp@0.15.
|
|
335
|
+
args = ["-y", "deadbyte-mcp@0.15.5", "mcp"]
|
|
336
336
|
|
|
337
|
-
The remote device path remains `npx -y deadbyte-mcp@0.15.
|
|
337
|
+
The remote device path remains `npx -y deadbyte-mcp@0.15.5 remote`. Remote public MCP uses the
|
|
338
338
|
verified HTTPS named-tunnel URL selected by the active generation; do not commit a private device
|
|
339
339
|
URL or tunnel token into a repository.
|
|
340
340
|
|
package/RELEASE.json
CHANGED
package/controller/README.TXT
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
DEADBYTE MCP V0.15.
|
|
1
|
+
DEADBYTE MCP V0.15.5 / R46 CONTROLLER
|
|
2
2
|
====================================
|
|
3
3
|
|
|
4
4
|
ENTRY POINT
|
|
5
5
|
-----------
|
|
6
6
|
Primary operator entry point:
|
|
7
7
|
|
|
8
|
-
npx -y deadbyte-mcp@0.15.
|
|
8
|
+
npx -y deadbyte-mcp@0.15.5 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
|
|
@@ -1384,7 +1384,7 @@ while ($true) {
|
|
|
1384
1384
|
Clear-Host
|
|
1385
1385
|
$cfg = Get-Config
|
|
1386
1386
|
Assert-ControllerRootBound $cfg
|
|
1387
|
-
Write-Host 'DEADBYTE MCP ON-DEMAND CONTROLLER V0.15.
|
|
1387
|
+
Write-Host 'DEADBYTE MCP ON-DEMAND CONTROLLER V0.15.5 / R46'
|
|
1388
1388
|
Write-Host '======================================'
|
|
1389
1389
|
Show-State $cfg | Out-Null
|
|
1390
1390
|
Write-Host ''
|
package/docs/ARCHITECTURE.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "deadbyte-mcp",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.5",
|
|
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.",
|
|
@@ -22,7 +22,7 @@ const atomicJson=async(file,value)=>{
|
|
|
22
22
|
};
|
|
23
23
|
function activationArgs(manifestSha){
|
|
24
24
|
if(!HEX64.test(manifestSha??'')) throw new Error('activate requires one lowercase manifest SHA-256');
|
|
25
|
-
return ['--stage',packageRoot,'--development-root',packageRoot,'--expected-version','0.15.
|
|
25
|
+
return ['--stage',packageRoot,'--development-root',packageRoot,'--expected-version','0.15.5',
|
|
26
26
|
'--expected-manifest',manifestSha,'--process-policy',path.join(packageRoot,'controller','deadbyte-process-policy.json'),
|
|
27
27
|
'--process-policy-sha256',null,'--desktop-policy',path.join(packageRoot,'controller','deadbyte-desktop-policy.json'),
|
|
28
28
|
'--desktop-policy-sha256',null,'--semantic-lsp-config',path.join(packageRoot,'controller','deadbyte-semantic-lsp-config.json'),
|
|
@@ -20,16 +20,16 @@ export async function writeFinalClosure({root=packageRoot,runtimeStateRoot=state
|
|
|
20
20
|
const manifestBytes=await readFile(path.join(candidate,'MANIFEST.SHA256'));
|
|
21
21
|
const manifestSha256=sha256(manifestBytes);
|
|
22
22
|
const pointer=JSON.parse(await readFile(path.join(state,'active-release.json'),'utf8'));
|
|
23
|
-
insist(pointer.version==='0.15.
|
|
24
|
-
insist(pointer.release_id===`v0.15.
|
|
23
|
+
insist(pointer.version==='0.15.5'&&pointer.manifest_sha256===manifestSha256,'R46 final closure active candidate mismatch');
|
|
24
|
+
insist(pointer.release_id===`v0.15.5-${manifestSha256.slice(0,16)}`,'R46 final closure release id mismatch');
|
|
25
25
|
|
|
26
26
|
const gatePath=path.join(state,'evidence','release',`r46-windows-gate-${manifestSha256.slice(0,16)}.json`);
|
|
27
27
|
const parityPath=path.join(state,'evidence','release',`r46-parity-${manifestSha256.slice(0,16)}.json`);
|
|
28
28
|
const gate=JSON.parse(await readFile(gatePath,'utf8'));
|
|
29
29
|
const parity=JSON.parse(await readFile(parityPath,'utf8'));
|
|
30
|
-
insist(gate.schema==='deadbyte.r46-windows-gate.v1'&&gate.status==='passed'&&gate.version==='0.15.
|
|
30
|
+
insist(gate.schema==='deadbyte.r46-windows-gate.v1'&&gate.status==='passed'&&gate.version==='0.15.5','R46 gate evidence invalid');
|
|
31
31
|
insist(gate.manifest_sha256===manifestSha256,'R46 gate evidence candidate mismatch');
|
|
32
|
-
insist(parity.schema==='deadbyte.r46-parity.v1'&&parity.status==='passed'&&parity.version==='0.15.
|
|
32
|
+
insist(parity.schema==='deadbyte.r46-parity.v1'&&parity.status==='passed'&&parity.version==='0.15.5','R46 parity evidence invalid');
|
|
33
33
|
insist(parity.candidate?.manifest_sha256===manifestSha256&&parity.candidate?.generation_manifest_sha256===pointer.generation_manifest_sha256,'R46 parity active generation mismatch');
|
|
34
34
|
insist(parity.process_policy?.target_repin_verified===true,'R46 target-machine process repin proof missing');
|
|
35
35
|
insist(parity.fileless_powershell?.exit_code===0&&parity.fileless_powershell?.pscommandpath_empty===true&&parity.fileless_powershell?.invocation_path_empty===true&&parity.fileless_powershell?.new_temp_ps1_count===0,'R46 fileless PowerShell proof missing');
|
|
@@ -40,7 +40,7 @@ export async function writeFinalClosure({root=packageRoot,runtimeStateRoot=state
|
|
|
40
40
|
insist(completed instanceof Date&&!Number.isNaN(completed.getTime()),'R46 final closure clock invalid');
|
|
41
41
|
const body={
|
|
42
42
|
schema:'deadbyte.r46-final-closure.v1',
|
|
43
|
-
version:'0.15.
|
|
43
|
+
version:'0.15.5',
|
|
44
44
|
train:'R46',
|
|
45
45
|
release_label:'FILELESS POWERSHELL PRODUCT BASELINE',
|
|
46
46
|
completed_at_utc:completed.toISOString(),
|
|
@@ -89,7 +89,7 @@ export async function writeFinalClosure({root=packageRoot,runtimeStateRoot=state
|
|
|
89
89
|
if(error?.code!=='EEXIST')throw error;
|
|
90
90
|
const existingBytes=await readFile(file);
|
|
91
91
|
const existing=JSON.parse(existingBytes.toString('utf8').replace(/^\uFEFF/,''));
|
|
92
|
-
insist(existing.body?.version==='0.15.
|
|
92
|
+
insist(existing.body?.version==='0.15.5'&&existing.body?.active_pointer?.manifest_sha256===manifestSha256,'existing R46 closure identity mismatch');
|
|
93
93
|
return {status:'existing',path:file,sha256:sha256(existingBytes),closure_sha256:existing.closure_sha256,release_id:pointer.release_id};
|
|
94
94
|
}
|
|
95
95
|
}
|
|
@@ -18,7 +18,7 @@ export async function verifyFinalClosureObject(envelope,{root=packageRoot,runtim
|
|
|
18
18
|
const candidate=path.resolve(root),state=path.resolve(runtimeStateRoot);
|
|
19
19
|
insist(envelope&&typeof envelope==='object'&&!Array.isArray(envelope),'R46 closure envelope invalid');
|
|
20
20
|
insist(envelope.body?.schema==='deadbyte.r46-final-closure.v1','R46 closure schema mismatch');
|
|
21
|
-
insist(envelope.body?.version==='0.15.
|
|
21
|
+
insist(envelope.body?.version==='0.15.5'&&envelope.body?.train==='R46','R46 closure version/train mismatch');
|
|
22
22
|
insist(envelope.body?.release_label==='FILELESS POWERSHELL PRODUCT BASELINE','R46 closure label mismatch');
|
|
23
23
|
|
|
24
24
|
const bodyBytes=Buffer.from(canonicalJson(envelope.body),'utf8');
|
|
@@ -39,8 +39,8 @@ export async function verifyFinalClosureObject(envelope,{root=packageRoot,runtim
|
|
|
39
39
|
const manifestBytes=await readFile(path.join(candidate,'MANIFEST.SHA256'));
|
|
40
40
|
const manifestSha256=sha256(manifestBytes);
|
|
41
41
|
const pointer=JSON.parse(await readFile(path.join(state,'active-release.json'),'utf8'));
|
|
42
|
-
insist(pointer.version==='0.15.
|
|
43
|
-
insist(pointer.release_id===`v0.15.
|
|
42
|
+
insist(pointer.version==='0.15.5'&&pointer.manifest_sha256===manifestSha256,'R46 active pointer/candidate mismatch');
|
|
43
|
+
insist(pointer.release_id===`v0.15.5-${manifestSha256.slice(0,16)}`,'R46 active release id mismatch');
|
|
44
44
|
insist(envelope.body.active_pointer?.release_id===pointer.release_id&&
|
|
45
45
|
envelope.body.active_pointer?.manifest_sha256===pointer.manifest_sha256&&
|
|
46
46
|
envelope.body.active_pointer?.generation_manifest_sha256===pointer.generation_manifest_sha256,
|
|
@@ -55,12 +55,12 @@ export async function verifyFinalClosureObject(envelope,{root=packageRoot,runtim
|
|
|
55
55
|
}
|
|
56
56
|
const gate=JSON.parse(await readFile(path.resolve(gateRef.path),'utf8'));
|
|
57
57
|
const parity=JSON.parse(await readFile(path.resolve(parityRef.path),'utf8'));
|
|
58
|
-
insist(gate.schema==='deadbyte.r46-windows-gate.v1'&&gate.status==='passed'&&gate.version==='0.15.
|
|
58
|
+
insist(gate.schema==='deadbyte.r46-windows-gate.v1'&&gate.status==='passed'&&gate.version==='0.15.5','R46 gate evidence invalid');
|
|
59
59
|
insist(gate.manifest_sha256===manifestSha256,'R46 gate candidate mismatch');
|
|
60
60
|
insist(gate.parent?.release_id==='v0.15.1-d55f00b5144dc31a'&&gate.parent?.manifest_sha256==='d55f00b5144dc31a7fe39e4dc60d640a94780da6aaeca0918e87636b816d7854','R46 sealed parent identity invalid');
|
|
61
|
-
insist(gate.runtime_predecessor?.release_id==='v0.15.
|
|
61
|
+
insist(gate.runtime_predecessor?.release_id==='v0.15.5-a03a4b2cf28d31d6'&&gate.runtime_predecessor?.manifest_sha256==='a03a4b2cf28d31d633cfbb0a073d375c0f19d1b972299faacef28eec05543995','R46 reopened runtime predecessor identity invalid');
|
|
62
62
|
insist(envelope.body.runtime_predecessor?.release_id===gate.runtime_predecessor.release_id&&envelope.body.runtime_predecessor?.manifest_sha256===gate.runtime_predecessor.manifest_sha256,'R46 closure runtime predecessor mismatch');
|
|
63
|
-
insist(parity.schema==='deadbyte.r46-parity.v1'&&parity.status==='passed'&&parity.version==='0.15.
|
|
63
|
+
insist(parity.schema==='deadbyte.r46-parity.v1'&&parity.status==='passed'&&parity.version==='0.15.5','R46 parity evidence invalid');
|
|
64
64
|
insist(parity.candidate?.release_id===pointer.release_id&&
|
|
65
65
|
parity.candidate?.manifest_sha256===pointer.manifest_sha256&&
|
|
66
66
|
parity.candidate?.generation_manifest_sha256===pointer.generation_manifest_sha256,
|
|
@@ -94,7 +94,7 @@ export async function verifyFinalClosureObject(envelope,{root=packageRoot,runtim
|
|
|
94
94
|
'R46 closure retained-output ring proof invalid');
|
|
95
95
|
|
|
96
96
|
return {
|
|
97
|
-
ok:true,status:'passed',version:'0.15.
|
|
97
|
+
ok:true,status:'passed',version:'0.15.5',train:'R46',
|
|
98
98
|
release_id:pointer.release_id,
|
|
99
99
|
manifest_sha256:pointer.manifest_sha256,
|
|
100
100
|
generation_manifest_sha256:pointer.generation_manifest_sha256,
|
|
@@ -10,7 +10,7 @@ function Invoke-GateStep {
|
|
|
10
10
|
$LASTEXITCODE = 0
|
|
11
11
|
& npm.cmd @NpmArgs
|
|
12
12
|
if ($LASTEXITCODE -ne 0) {
|
|
13
|
-
throw "DEADBYTE V0.15.
|
|
13
|
+
throw "DEADBYTE V0.15.5 / R46 gate failed at $Name with exit code $LASTEXITCODE"
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -23,7 +23,7 @@ Write-Host '==== host-policy-hermetic-clean ===='
|
|
|
23
23
|
$HostPolicyPath = [System.IO.Path]::GetFullPath((Join-Path $PSScriptRoot '..\controller\deadbyte-host-policy.json'))
|
|
24
24
|
Remove-Item -LiteralPath $HostPolicyPath -Force -ErrorAction SilentlyContinue
|
|
25
25
|
if (Test-Path -LiteralPath $HostPolicyPath) {
|
|
26
|
-
throw "DEADBYTE V0.15.
|
|
26
|
+
throw "DEADBYTE V0.15.5 / R46 gate could not remove machine-local Host policy before hermetic regression"
|
|
27
27
|
}
|
|
28
28
|
Write-Host 'HOST_POLICY_HERMETIC_ABSENT'
|
|
29
29
|
|
|
@@ -53,6 +53,6 @@ Write-Host '==== windows-gate-evidence ===='
|
|
|
53
53
|
$LASTEXITCODE = 0
|
|
54
54
|
& node.exe (Join-Path $PSScriptRoot 'windows-gate-evidence-r46.mjs')
|
|
55
55
|
if ($LASTEXITCODE -ne 0) {
|
|
56
|
-
throw "DEADBYTE V0.15.
|
|
56
|
+
throw "DEADBYTE V0.15.5 / R46 gate failed at windows-gate-evidence with exit code $LASTEXITCODE"
|
|
57
57
|
}
|
|
58
|
-
Write-Host '==== DEADBYTE V0.15.
|
|
58
|
+
Write-Host '==== DEADBYTE V0.15.5 / R46 FILELESS POWERSHELL WINDOWS BATCH GATE: PASS ===='
|
|
@@ -37,11 +37,11 @@ export async function runReleaseParity({
|
|
|
37
37
|
const manifestBytes=await readFile(path.join(candidate,'MANIFEST.SHA256'));
|
|
38
38
|
const manifestSha256=sha256(manifestBytes);
|
|
39
39
|
const pkg=JSON.parse(await readFile(path.join(candidate,'package.json'),'utf8'));
|
|
40
|
-
insist(pkg.version==='0.15.
|
|
40
|
+
insist(pkg.version==='0.15.5','R46 parity requires package version 0.15.5');
|
|
41
41
|
|
|
42
42
|
const pointer=JSON.parse(await readFile(path.join(state,'active-release.json'),'utf8'));
|
|
43
|
-
insist(pointer.version==='0.15.
|
|
44
|
-
insist(pointer.release_id===`v0.15.
|
|
43
|
+
insist(pointer.version==='0.15.5'&&pointer.manifest_sha256===manifestSha256,'R46 active pointer candidate mismatch');
|
|
44
|
+
insist(pointer.release_id===`v0.15.5-${manifestSha256.slice(0,16)}`,'R46 active release id mismatch');
|
|
45
45
|
const releaseManifest=await readFile(path.join(pointer.release_root,'MANIFEST.SHA256'));
|
|
46
46
|
insist(sha256(releaseManifest)===manifestSha256,'R46 immutable release manifest mismatch');
|
|
47
47
|
|
|
@@ -116,7 +116,7 @@ export async function runReleaseParity({
|
|
|
116
116
|
const evidence={
|
|
117
117
|
schema:'deadbyte.r46-parity.v1',
|
|
118
118
|
status:'passed',
|
|
119
|
-
version:'0.15.
|
|
119
|
+
version:'0.15.5',
|
|
120
120
|
completed_at_utc:completed.toISOString(),
|
|
121
121
|
candidate:{
|
|
122
122
|
release_id:pointer.release_id,
|
|
@@ -8,7 +8,7 @@ import { doctor } from '../src/doctor-r45.mjs';
|
|
|
8
8
|
const here=path.dirname(fileURLToPath(import.meta.url));
|
|
9
9
|
const root=path.resolve(here,'..');
|
|
10
10
|
const sha256=bytes=>createHash('sha256').update(bytes).digest('hex');
|
|
11
|
-
const marker='DEADBYTE V0.15.
|
|
11
|
+
const marker='DEADBYTE V0.15.5 / R46 FILELESS POWERSHELL WINDOWS BATCH GATE: PASS';
|
|
12
12
|
const PARENT_RELEASE_ID='v0.15.1-d55f00b5144dc31a';
|
|
13
13
|
const PARENT_MANIFEST='d55f00b5144dc31a7fe39e4dc60d640a94780da6aaeca0918e87636b816d7854';
|
|
14
14
|
const PARENT_GENERATION='00cde7bf540cc2804d679a39040d5b07193c5f8a0d49cac3b882402f8f4e6ad8';
|
|
@@ -26,18 +26,18 @@ export async function writeWindowsGateEvidence({
|
|
|
26
26
|
const manifestBytes=await readFile(path.join(candidate,'MANIFEST.SHA256'));
|
|
27
27
|
const manifestSha256=sha256(manifestBytes);
|
|
28
28
|
const pkg=JSON.parse(await readFile(path.join(candidate,'package.json'),'utf8'));
|
|
29
|
-
insist(pkg.version==='0.15.
|
|
29
|
+
insist(pkg.version==='0.15.5',`R46 Windows gate evidence requires V0.15.5, found ${pkg.version}`);
|
|
30
30
|
const release=JSON.parse(await readFile(path.join(candidate,'RELEASE.json'),'utf8'));
|
|
31
|
-
insist(release.version==='0.15.
|
|
31
|
+
insist(release.version==='0.15.5'&&release.train==='R46','R46 release metadata mismatch');
|
|
32
32
|
const active=JSON.parse(await readFile(path.join(path.resolve(stateRoot),'active-release.json'),'utf8'));
|
|
33
33
|
const originalParent=active.release_id===PARENT_RELEASE_ID&&active.manifest_sha256===PARENT_MANIFEST&&active.generation_manifest_sha256===PARENT_GENERATION;
|
|
34
34
|
const reopenedPredecessor=active.release_id===REOPENED_RUNTIME_RELEASE_ID&&active.manifest_sha256===REOPENED_RUNTIME_MANIFEST&&active.generation_manifest_sha256===REOPENED_RUNTIME_GENERATION;
|
|
35
|
-
const currentR46Predecessor=active.version==='0.15.
|
|
35
|
+
const currentR46Predecessor=active.version==='0.15.5'&&active.manifest_sha256!==manifestSha256&&/^[0-9a-f]{64}$/.test(active.generation_manifest_sha256??'');
|
|
36
36
|
insist(originalParent||reopenedPredecessor||currentR46Predecessor,'R46 runtime predecessor identity mismatch');
|
|
37
37
|
const parent={release_id:PARENT_RELEASE_ID,version:'0.15.1',manifest_sha256:PARENT_MANIFEST,generation_manifest_sha256:PARENT_GENERATION};
|
|
38
38
|
|
|
39
39
|
const doctorResult=await doctor();
|
|
40
|
-
insist(doctorResult?.status==='ok'&&doctorResult?.package_version==='0.15.
|
|
40
|
+
insist(doctorResult?.status==='ok'&&doctorResult?.package_version==='0.15.5'&&doctorResult?.manifest?.verified===true,'R46 doctor evidence invalid');
|
|
41
41
|
insist(doctorResult?.policy?.host_v2_ready===true,'R46 doctor did not verify Host policy v2');
|
|
42
42
|
|
|
43
43
|
const completed=clock();
|
|
@@ -46,7 +46,7 @@ export async function writeWindowsGateEvidence({
|
|
|
46
46
|
schema:'deadbyte.r46-windows-gate.v1',
|
|
47
47
|
status:'passed',
|
|
48
48
|
exit_code:0,
|
|
49
|
-
version:'0.15.
|
|
49
|
+
version:'0.15.5',
|
|
50
50
|
train:'R46',
|
|
51
51
|
marker,
|
|
52
52
|
completed_at_utc:completed.toISOString(),
|
|
@@ -100,7 +100,7 @@ export async function writeWindowsGateEvidence({
|
|
|
100
100
|
const existingBytes=await readFile(file);
|
|
101
101
|
const existing=JSON.parse(existingBytes.toString('utf8').replace(/^\uFEFF/,''));
|
|
102
102
|
insist(existing.schema===evidence.schema&&existing.status==='passed'&&existing.exit_code===0,'existing R46 Windows gate evidence invalid');
|
|
103
|
-
insist(existing.version==='0.15.
|
|
103
|
+
insist(existing.version==='0.15.5'&&existing.marker===marker&&existing.manifest_sha256===manifestSha256,'existing R46 Windows gate identity mismatch');
|
|
104
104
|
insist(existing.parent?.release_id===parent.release_id&&existing.parent?.manifest_sha256===parent.manifest_sha256,'existing R46 parent evidence mismatch');
|
|
105
105
|
insist(existing.runtime_predecessor?.release_id===active.release_id&&existing.runtime_predecessor?.manifest_sha256===active.manifest_sha256,'existing R46 runtime predecessor evidence mismatch');
|
|
106
106
|
return {status:'existing',path:file,sha256:sha256(existingBytes),manifest_sha256:manifestSha256,parent:existing.parent};
|
package/src/version.mjs
CHANGED
|
@@ -21,7 +21,7 @@ test('npx CLI reports the canonical package version through --version, -v and ve
|
|
|
21
21
|
for(const arg of ['--version','-v','version']){
|
|
22
22
|
const result=spawnSync(process.execPath,[cliPath,arg],{cwd:root,encoding:'utf8',windowsHide:true});
|
|
23
23
|
assert.equal(result.status,0,result.stderr);
|
|
24
|
-
assert.equal(result.stdout.trim(),'0.15.
|
|
24
|
+
assert.equal(result.stdout.trim(),'0.15.5');
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
|
|
@@ -50,6 +50,6 @@ test('npx CLI exposes local supervisor lifecycle without any supervisor arm comm
|
|
|
50
50
|
|
|
51
51
|
test('README makes npx the primary operator UX',async()=>{
|
|
52
52
|
const readme=await readFile(path.join(root,'README.txt'),'utf8');
|
|
53
|
-
assert.match(readme,/npx -y deadbyte-mcp@0\.15\.
|
|
54
|
-
assert.match(readme,/npx -y deadbyte-mcp@0\.15\.
|
|
53
|
+
assert.match(readme,/npx -y deadbyte-mcp@0\.15\.5 remote/);
|
|
54
|
+
assert.match(readme,/npx -y deadbyte-mcp@0\.15\.5 audit verify/);
|
|
55
55
|
});
|
package/test/core.test.mjs
CHANGED
|
@@ -105,7 +105,7 @@ test('proof execution creates deterministic output and signed verifiable receipt
|
|
|
105
105
|
assert.equal(result.receipt.request.schema, 'deadbyte.request.v1');
|
|
106
106
|
assert.match(result.receipt.request.nonce, /^[0-9a-f]{64}$/);
|
|
107
107
|
assert.match(result.receipt.request.sha256, /^[0-9a-f]{64}$/);
|
|
108
|
-
assert.equal(result.receipt.runtime.package_version, '0.15.
|
|
108
|
+
assert.equal(result.receipt.runtime.package_version, '0.15.5');
|
|
109
109
|
assert.match(result.receipt.runtime.mcp_ingress_adapter, /^(?:none|tunnel-stdio-probe-compat-v1)$/);
|
|
110
110
|
assert.match(result.receipt.runtime.mcp_ingress_adapter_sha256, /^[0-9a-f]{64}$/);
|
|
111
111
|
assert.match(result.receipt.runtime.mcp_ingress_mode_source_sha256, /^[0-9a-f]{64}$/);
|
|
@@ -15,7 +15,9 @@ const desktopPolicyPath=path.join(repoRoot,'controller','deadbyte-desktop-policy
|
|
|
15
15
|
const sha=bytes=>createHash('sha256').update(bytes).digest('hex');
|
|
16
16
|
const absent=async p=>{try{await access(p);return false;}catch(e){if(e?.code==='ENOENT')return true;throw e;}};
|
|
17
17
|
|
|
18
|
-
test('R44 real max-runtime full stdio catalog is exactly 81 with skill and four Desktop primitives while authority remains disarmed',async
|
|
18
|
+
test('R44 real max-runtime full stdio catalog is exactly 81 with skill and four Desktop primitives while authority remains disarmed',async t=>{
|
|
19
|
+
const current=JSON.parse(await readFile(path.join(repoRoot,'package.json'),'utf8'));
|
|
20
|
+
if(current.version!=='0.15.0'){t.skip('historical R44 catalog; current development release is '+current.version);return;}
|
|
19
21
|
const f=await createR34Fixture({authority:'disarmed'});
|
|
20
22
|
const processPolicyPath=path.join(f.root,'process-policy.json');
|
|
21
23
|
const processGrant=path.join(f.root,'process-grant.json');
|
|
@@ -15,7 +15,9 @@ const desktopPolicyPath=path.join(repoRoot,'controller','deadbyte-desktop-policy
|
|
|
15
15
|
const sha=bytes=>createHash('sha256').update(bytes).digest('hex');
|
|
16
16
|
const absent=async p=>{try{await access(p);return false;}catch(e){if(e?.code==='ENOENT')return true;throw e;}};
|
|
17
17
|
|
|
18
|
-
test('R45 real max-runtime full stdio catalog is exactly 82 with skill and four Desktop primitives while authority remains disarmed',async
|
|
18
|
+
test('R45 real max-runtime full stdio catalog is exactly 82 with skill and four Desktop primitives while authority remains disarmed',async t=>{
|
|
19
|
+
const current=JSON.parse(await readFile(path.join(repoRoot,'package.json'),'utf8'));
|
|
20
|
+
if(current.version!=='0.15.1'){t.skip('historical R45 catalog; current development release is '+current.version);return;}
|
|
19
21
|
const f=await createR34Fixture({authority:'disarmed'});
|
|
20
22
|
const processPolicyPath=path.join(f.root,'process-policy.json');
|
|
21
23
|
const processGrant=path.join(f.root,'process-grant.json');
|
|
@@ -9,9 +9,9 @@ const readme=()=>readFile(path.join(root,'README.txt'),'utf8');
|
|
|
9
9
|
|
|
10
10
|
test('production README documents one-command stdio configs for major MCP clients',async()=>{
|
|
11
11
|
const text=await readme();
|
|
12
|
-
assert.match(text,/npx -y deadbyte-mcp@0\.15\.
|
|
12
|
+
assert.match(text,/npx -y deadbyte-mcp@0\.15\.5 mcp/);
|
|
13
13
|
assert.match(text,/CLAUDE DESKTOP/);
|
|
14
|
-
assert.match(text,/"mcpServers"[\s\S]*?"command"\s*:\s*"npx"[\s\S]*?"-y"[\s\S]*?"deadbyte-mcp@0\.15\.
|
|
14
|
+
assert.match(text,/"mcpServers"[\s\S]*?"command"\s*:\s*"npx"[\s\S]*?"-y"[\s\S]*?"deadbyte-mcp@0\.15\.5"[\s\S]*?"mcp"/);
|
|
15
15
|
assert.match(text,/CURSOR/);
|
|
16
16
|
assert.match(text,/\.cursor\/mcp\.json/);
|
|
17
17
|
assert.match(text,/VS CODE/);
|
|
@@ -20,7 +20,7 @@ test('production README documents one-command stdio configs for major MCP client
|
|
|
20
20
|
assert.match(text,/CODEX/);
|
|
21
21
|
assert.match(text,/\[mcp_servers\.deadbyte\]/);
|
|
22
22
|
assert.match(text,/command\s*=\s*"npx"/);
|
|
23
|
-
assert.match(text,/args\s*=\s*\["-y",\s*"deadbyte-mcp@0\.15\.
|
|
23
|
+
assert.match(text,/args\s*=\s*\["-y",\s*"deadbyte-mcp@0\.15\.5",\s*"mcp"\]/);
|
|
24
24
|
});
|
|
25
25
|
|
|
26
26
|
test('production README records tracer bullet, semantic scope, remote UX, safety and document extension',async()=>{
|
|
@@ -5,11 +5,11 @@ import { createHash } from 'node:crypto';
|
|
|
5
5
|
|
|
6
6
|
const root=new URL('../',import.meta.url);
|
|
7
7
|
const text=rel=>readFile(new URL(rel,root),'utf8');
|
|
8
|
-
const PARENT_RELEASE='v0.15.
|
|
9
|
-
const PARENT_MANIFEST='
|
|
8
|
+
const PARENT_RELEASE='v0.15.2-0fb46542f6a4345f';
|
|
9
|
+
const PARENT_MANIFEST='0fb46542f6a4345f1c527565d06bf6e9b8e283260e47bf684fb70a60308fcf34';
|
|
10
10
|
const PARENT_GENERATION='00cde7bf540cc2804d679a39040d5b07193c5f8a0d49cac3b882402f8f4e6ad8';
|
|
11
11
|
|
|
12
|
-
test('R46 current authority agrees on V0.15.
|
|
12
|
+
test('R46 current authority agrees on V0.15.5 and preserves exact V0.15.2 parent identity',async()=>{
|
|
13
13
|
const pkg=JSON.parse(await text('package.json'));
|
|
14
14
|
const release=JSON.parse(await text('RELEASE.json'));
|
|
15
15
|
const [version,controller,gate,readme,architecture,controllerReadme,deferred,parity,closure,closureVerify,windowsGate,processPolicy]=await Promise.all([
|
|
@@ -27,7 +27,7 @@ test('R46 current authority agrees on V0.15.2 and preserves exact R45 parent ide
|
|
|
27
27
|
text('controller/deadbyte-process-policy.json')
|
|
28
28
|
]);
|
|
29
29
|
|
|
30
|
-
assert.equal(pkg.version,'0.15.
|
|
30
|
+
assert.equal(pkg.version,'0.15.5');
|
|
31
31
|
assert.equal(pkg.scripts['gate:windows'],'powershell -NoProfile -ExecutionPolicy Bypass -File scripts/gate-windows-r46.ps1');
|
|
32
32
|
assert.equal(pkg.scripts['self-update:deferred'],'node scripts/deferred-slot-operation-r46.mjs');
|
|
33
33
|
assert.equal(pkg.scripts['release:parity'],'node scripts/release-parity-r46.mjs');
|
|
@@ -36,14 +36,14 @@ test('R46 current authority agrees on V0.15.2 and preserves exact R45 parent ide
|
|
|
36
36
|
assert.equal(pkg.scripts['r46:fileless:test'],"node --test --test-concurrency=1 test/process-policy.test.mjs test/process-policy-refresh.test.mjs test/release-generation.test.mjs test/process-runtime.test.mjs test/process-mcp-tools.test.mjs test/compact-gateway-r36.test.mjs test/capability-ledger-r36.test.mjs test/remote-device-r44.test.mjs test/observation-runtime.test.mjs test/observation-mcp-tools.test.mjs");
|
|
37
37
|
assert.equal(pkg.scripts['r46:full:test'],'node scripts/full-regression-r46.mjs');
|
|
38
38
|
|
|
39
|
-
assert.match(version,/DEADBYTE_VERSION = '0\.15\.
|
|
40
|
-
assert.match(controller,/CONTROLLER V0\.15\.
|
|
41
|
-
assert.match(gate,/DEADBYTE V0\.15\.
|
|
42
|
-
assert.match(readme,/^DEADBYTE MCP V0\.15\.
|
|
39
|
+
assert.match(version,/DEADBYTE_VERSION = '0\.15\.5'/);
|
|
40
|
+
assert.match(controller,/CONTROLLER V0\.15\.5 \/ R46/);
|
|
41
|
+
assert.match(gate,/DEADBYTE V0\.15\.5 \/ R46 FILELESS POWERSHELL WINDOWS BATCH GATE: PASS/);
|
|
42
|
+
assert.match(readme,/^DEADBYTE MCP V0\.15\.5 \/ R46 FILELESS POWERSHELL PRODUCT BASELINE$/m);
|
|
43
43
|
assert.match(readme,/powershell\.exe -Command <source>/);
|
|
44
|
-
assert.match(architecture,/^# DEADBYTE MCP V0\.15\.
|
|
45
|
-
assert.match(controllerReadme,/^DEADBYTE MCP V0\.15\.
|
|
46
|
-
assert.match(deferred,/--expected-version','0\.15\.
|
|
44
|
+
assert.match(architecture,/^# DEADBYTE MCP V0\.15\.5 \/ R46 ARCHITECTURE$/m);
|
|
45
|
+
assert.match(controllerReadme,/^DEADBYTE MCP V0\.15\.5 \/ R46 CONTROLLER$/m);
|
|
46
|
+
assert.match(deferred,/--expected-version','0\.15\.5'/);
|
|
47
47
|
assert.match(parity,/deadbyte\.r46-parity\.v1/);
|
|
48
48
|
assert.match(parity,/DB_R46_FILELESS_PARITY/);
|
|
49
49
|
assert.match(parity,/target_repin_verified:true/);
|
|
@@ -59,7 +59,7 @@ test('R46 current authority agrees on V0.15.2 and preserves exact R45 parent ide
|
|
|
59
59
|
assert.match(closureVerify,/DEADBYTE-R46-FINAL-CLOSURE-V1/);
|
|
60
60
|
assert.match(windowsGate,/deadbyte\.r46-windows-gate\.v1/);
|
|
61
61
|
|
|
62
|
-
assert.equal(release.version,'0.15.
|
|
62
|
+
assert.equal(release.version,'0.15.5');
|
|
63
63
|
assert.equal(release.train,'R46');
|
|
64
64
|
assert.equal(release.label,'FILELESS POWERSHELL PRODUCT BASELINE');
|
|
65
65
|
assert.equal(release.parent.release_id,PARENT_RELEASE);
|
|
@@ -382,7 +382,7 @@ test('R31 slot-update CLI binds process-policy bootstrap and machine-FS enable e
|
|
|
382
382
|
});
|
|
383
383
|
|
|
384
384
|
test('R46 slot-update CLI binds coding policy bootstrap as one exact pair', () => {
|
|
385
|
-
const base=['--stage','stage','--development-root','dev','--expected-version','0.15.
|
|
385
|
+
const base=['--stage','stage','--development-root','dev','--expected-version','0.15.5','--expected-manifest',hex('a')];
|
|
386
386
|
assert.throws(()=>parseUpdateArgs([...base,'--coding-policy','C:/candidate/coding.json']),/coding policy.*pair/i);
|
|
387
387
|
assert.throws(()=>parseUpdateArgs([...base,'--coding-policy-sha256',hex('b')]),/coding policy.*pair/i);
|
|
388
388
|
const parsed=parseUpdateArgs([...base,'--coding-policy','C:/candidate/coding.json','--coding-policy-sha256',hex('b')]);
|