deadbyte-mcp 0.15.4 → 0.15.7

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 (44) hide show
  1. package/MANIFEST.SHA256 +42 -25
  2. package/PROVENANCE.json +1 -1
  3. package/README.txt +14 -14
  4. package/RELEASE.json +1 -1
  5. package/controller/README.TXT +2 -2
  6. package/controller/deadbyte-controller.ps1 +1 -1
  7. package/docs/ARCHITECTURE.md +1 -1
  8. package/docs/V085-R47-JEV-DECISION-PLANE.md +1 -0
  9. package/package.json +1 -1
  10. package/scripts/archive-source-zips.mjs +1 -0
  11. package/scripts/build-combined-skill.mjs +146 -0
  12. package/scripts/deferred-slot-operation-r46.mjs +1 -1
  13. package/scripts/deploy-r47.mjs +27 -0
  14. package/scripts/disarm-host-for-update-r47.mjs +3 -0
  15. package/scripts/final-closure-r46.mjs +6 -6
  16. package/scripts/final-closure-verify-r46.mjs +7 -7
  17. package/scripts/find-internet-skill-finder-zip-r47.mjs +1 -0
  18. package/scripts/gate-windows-r46.ps1 +4 -4
  19. package/scripts/list-source-zips.mjs +3 -0
  20. package/scripts/npm-publish-r47.ps1 +22 -0
  21. package/scripts/npm-release-r47.mjs +39 -0
  22. package/scripts/probe-source-zips.mjs +1 -0
  23. package/scripts/probe-zips.mjs +1 -0
  24. package/scripts/read-source-zips.mjs +5 -0
  25. package/scripts/release-parity-r46.mjs +4 -4
  26. package/scripts/remove-source-archives-r47.mjs +1 -0
  27. package/scripts/repair-builder-template.mjs +1 -0
  28. package/scripts/run-skill-creator-scaffold.mjs +1 -0
  29. package/scripts/wait-r47-handoff.mjs +1 -0
  30. package/scripts/windows-gate-evidence-r46.mjs +7 -7
  31. package/src/autonomous-runtime.mjs +20 -1
  32. package/src/jev-decision-plane.mjs +128 -0
  33. package/src/skill-plane-r44.mjs +2 -0
  34. package/src/version.mjs +1 -1
  35. package/test/cli-entrypoint.test.mjs +3 -3
  36. package/test/core.test.mjs +1 -1
  37. package/test/full-max-catalog-r44.test.mjs +3 -1
  38. package/test/full-max-catalog-r45.test.mjs +3 -1
  39. package/test/jev-decision-plane.test.mjs +63 -0
  40. package/test/production-docs.test.mjs +3 -3
  41. package/test/release-version.test.mjs +12 -12
  42. package/test/runtime-self-update.test.mjs +1 -1
  43. package/test/skill-plane-r44.test.mjs +1 -0
  44. /package/{DEADBYTE-MCP.cmd → DEADBYTE-MCP-local.cmd} +0 -0
@@ -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\.2 mcp/);
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\.2"[\s\S]*?"mcp"/);
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\.2",\s*"mcp"\]/);
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.1-d55f00b5144dc31a';
9
- const PARENT_MANIFEST='d55f00b5144dc31a7fe39e4dc60d640a94780da6aaeca0918e87636b816d7854';
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.2 and preserves exact R45 parent identity',async()=>{
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.2');
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\.2'/);
40
- assert.match(controller,/CONTROLLER V0\.15\.2 \/ R46/);
41
- assert.match(gate,/DEADBYTE V0\.15\.2 \/ R46 FILELESS POWERSHELL WINDOWS BATCH GATE: PASS/);
42
- assert.match(readme,/^DEADBYTE MCP V0\.15\.2 \/ R46 FILELESS POWERSHELL PRODUCT BASELINE$/m);
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\.2 \/ R46 ARCHITECTURE$/m);
45
- assert.match(controllerReadme,/^DEADBYTE MCP V0\.15\.2 \/ R46 CONTROLLER$/m);
46
- assert.match(deferred,/--expected-version','0\.15\.2'/);
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.2');
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.2','--expected-manifest',hex('a')];
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')]);
@@ -46,6 +46,7 @@ test('R44 skill catalog is metadata-only and load is signature/content bound',as
46
46
  const f=await fixture();
47
47
  try{
48
48
  await installSkill(f,{});
49
+ await writeFile(path.join(f.registry,'repo-audit','references','skills_cache.json'),'generated cache\n','utf8');
49
50
  const plane=await createSkillPlane({root:f.registry,verifyKeyPath:f.keys.publicKeyPath});
50
51
  const listed=await plane.list();
51
52
  assert.equal(listed.status,'ok');assert.equal(listed.skills.length,1);
File without changes