dsh-standards 0.0.3 → 1.0.0

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 (597) hide show
  1. package/40-checker/.github/workflows/plugin-verify.yml +70 -0
  2. package/40-checker/README.md +251 -0
  3. package/40-checker/bin/dsh-levels.mjs +15 -0
  4. package/40-checker/bin/dsh-plugin-verify.mjs +8 -0
  5. package/40-checker/fixtures/bad/index.mjs +12 -0
  6. package/40-checker/fixtures/bad/package.json +15 -0
  7. package/40-checker/fixtures/bad-manifest/index.js +1 -0
  8. package/40-checker/fixtures/bad-manifest/package.json +5 -0
  9. package/40-checker/fixtures/bundle/cordis.patch.yml +3 -0
  10. package/40-checker/fixtures/bundle/package.json +15 -0
  11. package/40-checker/fixtures/bundle/server.mjs +7 -0
  12. package/40-checker/fixtures/bundle-v0/cordis.patch.yml +3 -0
  13. package/40-checker/fixtures/bundle-v0/package.json +21 -0
  14. package/40-checker/fixtures/bundle-v0/server.mjs +7 -0
  15. package/40-checker/fixtures/client-missing/client.js +1 -0
  16. package/40-checker/fixtures/client-missing/index.js +1 -0
  17. package/40-checker/fixtures/client-missing/package.json +6 -0
  18. package/40-checker/fixtures/flow-config/index.js +9 -0
  19. package/40-checker/fixtures/flow-config/package.json +10 -0
  20. package/40-checker/fixtures/fs-write/index.mjs +7 -0
  21. package/40-checker/fixtures/fs-write/package.json +10 -0
  22. package/40-checker/fixtures/good/index.mjs +10 -0
  23. package/40-checker/fixtures/good/package.json +19 -0
  24. package/40-checker/fixtures/hang/index.mjs +5 -0
  25. package/40-checker/fixtures/hang/package.json +10 -0
  26. package/40-checker/fixtures/known-answer/expected.json +18 -0
  27. package/40-checker/fixtures/market-index-real.json +18 -0
  28. package/40-checker/fixtures/market-index.json +18 -0
  29. package/40-checker/fixtures/negative/bad-entry/package.json +1 -0
  30. package/40-checker/fixtures/negative/no-entry/package.json +1 -0
  31. package/40-checker/fixtures/negative/no-patch/package.json +1 -0
  32. package/40-checker/fixtures/negative/root-missing/cordis.patch.yml +2 -0
  33. package/40-checker/fixtures/negative/root-missing/package.json +1 -0
  34. package/40-checker/fixtures/negative/workspace/package.json +1 -0
  35. package/40-checker/package.json +22 -0
  36. package/40-checker/results/boost/REPORT.md +304 -0
  37. package/40-checker/results/boost/lev12458.json +1747 -0
  38. package/40-checker/results/client/README.md +16 -0
  39. package/40-checker/results/entry/18/DDDMUC__dsh-free-search.json +381 -0
  40. package/40-checker/results/entry/18/DDDMUC__dsh-free-search.runtime.json +34 -0
  41. package/40-checker/results/entry/18/Ebony-Vinyl__dsh-our-free-model.json +361 -0
  42. package/40-checker/results/entry/18/Ebony-Vinyl__dsh-our-free-model.runtime.json +34 -0
  43. package/40-checker/results/entry/18/README.md +24 -0
  44. package/40-checker/results/entry/18/RUNTIME.md +18 -0
  45. package/40-checker/results/entry/18/SeaOf0__dsh-redteam-model.json +391 -0
  46. package/40-checker/results/entry/18/YuJunZhiXue__dsh-purge.json +432 -0
  47. package/40-checker/results/entry/18/ci-diet.json +365 -0
  48. package/40-checker/results/entry/18/ci-diet.runtime-attempt.json +38 -0
  49. package/40-checker/results/entry/18/daily-log.json +357 -0
  50. package/40-checker/results/entry/18/daily-log.runtime.json +519 -0
  51. package/40-checker/results/entry/18/fullbase/ATTRIBUTION.md +29 -0
  52. package/40-checker/results/entry/18/fullbase/DDDMUC__dsh-free-search.json +99 -0
  53. package/40-checker/results/entry/18/fullbase/Ebony-Vinyl__dsh-our-free-model.json +95 -0
  54. package/40-checker/results/entry/18/fullbase/REPORT.md +261 -0
  55. package/40-checker/results/entry/18/fullbase/SeaOf0__dsh-redteam-model.json +144 -0
  56. package/40-checker/results/entry/18/fullbase/YuJunZhiXue__dsh-purge.json +106 -0
  57. package/40-checker/results/entry/18/fullbase/ci-diet.json +99 -0
  58. package/40-checker/results/entry/18/fullbase/daily-log.json +94 -0
  59. package/40-checker/results/entry/18/fullbase/howmp__dsh-pentest.json +104 -0
  60. package/40-checker/results/entry/18/fullbase/kingcharleslzy-ai__dsh-purge.json +143 -0
  61. package/40-checker/results/entry/18/fullbase/liguobao__ds-harness-remote.json +134 -0
  62. package/40-checker/results/entry/18/fullbase/mmparko__dsh-purge.json +138 -0
  63. package/40-checker/results/entry/18/fullbase/project-memory.json +108 -0
  64. package/40-checker/results/entry/18/fullbase/qiushi.json +94 -0
  65. package/40-checker/results/entry/18/fullbase/shaobeichen__dsh-pocket.json +94 -0
  66. package/40-checker/results/entry/18/fullbase/status-rotator.json +94 -0
  67. package/40-checker/results/entry/18/fullbase/summary.json +297 -0
  68. package/40-checker/results/entry/18/fullbase/telemetry.json +94 -0
  69. package/40-checker/results/entry/18/fullbase/ui-auth.json +94 -0
  70. package/40-checker/results/entry/18/fullbase/verification.json +94 -0
  71. package/40-checker/results/entry/18/fullbase/ysr666__dsh-vision-router.json +106 -0
  72. package/40-checker/results/entry/18/howmp__dsh-pentest.json +361 -0
  73. package/40-checker/results/entry/18/kingcharleslzy-ai__dsh-purge.json +411 -0
  74. package/40-checker/results/entry/18/liguobao__ds-harness-remote.json +379 -0
  75. package/40-checker/results/entry/18/mmparko__dsh-purge.json +441 -0
  76. package/40-checker/results/entry/18/project-memory.json +361 -0
  77. package/40-checker/results/entry/18/project-memory.runtime.json +519 -0
  78. package/40-checker/results/entry/18/qiushi.json +353 -0
  79. package/40-checker/results/entry/18/qiushi.runtime.json +519 -0
  80. package/40-checker/results/entry/18/realweb/REPORT.md +73 -0
  81. package/40-checker/results/entry/18/realweb/SeaOf0__dsh-redteam-model.json +104 -0
  82. package/40-checker/results/entry/18/realweb/YuJunZhiXue__dsh-purge.json +64 -0
  83. package/40-checker/results/entry/18/realweb/howmp__dsh-pentest.json +65 -0
  84. package/40-checker/results/entry/18/realweb/kingcharleslzy-ai__dsh-purge.json +75 -0
  85. package/40-checker/results/entry/18/realweb/mmparko__dsh-purge.json +70 -0
  86. package/40-checker/results/entry/18/realweb/shaobeichen__dsh-pocket.json +56 -0
  87. package/40-checker/results/entry/18/realweb/summary.json +196 -0
  88. package/40-checker/results/entry/18/realweb/ui-auth.json +56 -0
  89. package/40-checker/results/entry/18/realweb/ysr666__dsh-vision-router.json +61 -0
  90. package/40-checker/results/entry/18/richbase/REPORT.md +70 -0
  91. package/40-checker/results/entry/18/richbase/SeaOf0__dsh-redteam-model.json +61 -0
  92. package/40-checker/results/entry/18/richbase/SeaOf0__dsh-redteam-model.log +38 -0
  93. package/40-checker/results/entry/18/shaobeichen__dsh-pocket.json +363 -0
  94. package/40-checker/results/entry/18/status-rotator.json +362 -0
  95. package/40-checker/results/entry/18/status-rotator.runtime.json +519 -0
  96. package/40-checker/results/entry/18/summary.json +266 -0
  97. package/40-checker/results/entry/18/targetonly/DDDMUC__dsh-free-search.json +34 -0
  98. package/40-checker/results/entry/18/targetonly/Ebony-Vinyl__dsh-our-free-model.json +34 -0
  99. package/40-checker/results/entry/18/targetonly/SeaOf0__dsh-redteam-model.json +84 -0
  100. package/40-checker/results/entry/18/targetonly/YuJunZhiXue__dsh-purge.json +52 -0
  101. package/40-checker/results/entry/18/targetonly/ci-diet.json +34 -0
  102. package/40-checker/results/entry/18/targetonly/daily-log.json +34 -0
  103. package/40-checker/results/entry/18/targetonly/howmp__dsh-pentest.json +46 -0
  104. package/40-checker/results/entry/18/targetonly/kingcharleslzy-ai__dsh-purge.json +61 -0
  105. package/40-checker/results/entry/18/targetonly/liguobao__ds-harness-remote.json +39 -0
  106. package/40-checker/results/entry/18/targetonly/mmparko__dsh-purge.json +57 -0
  107. package/40-checker/results/entry/18/targetonly/project-memory.json +34 -0
  108. package/40-checker/results/entry/18/targetonly/qiushi.json +34 -0
  109. package/40-checker/results/entry/18/targetonly/shaobeichen__dsh-pocket.json +34 -0
  110. package/40-checker/results/entry/18/targetonly/status-rotator.json +34 -0
  111. package/40-checker/results/entry/18/targetonly/summary.json +133 -0
  112. package/40-checker/results/entry/18/targetonly/telemetry.json +34 -0
  113. package/40-checker/results/entry/18/targetonly/ui-auth.json +34 -0
  114. package/40-checker/results/entry/18/targetonly/verification.json +34 -0
  115. package/40-checker/results/entry/18/targetonly/ysr666__dsh-vision-router.json +43 -0
  116. package/40-checker/results/entry/18/telemetry.json +349 -0
  117. package/40-checker/results/entry/18/ui-auth.json +369 -0
  118. package/40-checker/results/entry/18/verification.json +358 -0
  119. package/40-checker/results/entry/18/ysr666__dsh-vision-router.json +409 -0
  120. package/40-checker/results/fixtures/bad.json +347 -0
  121. package/40-checker/results/fixtures/bundle.json +378 -0
  122. package/40-checker/results/fixtures/good-listing.json +382 -0
  123. package/40-checker/results/fixtures/good-static.json +322 -0
  124. package/40-checker/results/fixtures/good.json +375 -0
  125. package/40-checker/results/fixtures/good.sarif +274 -0
  126. package/40-checker/results/flow/README.md +19 -0
  127. package/40-checker/results/flow/j3-j7-fixture.json +51 -0
  128. package/40-checker/results/flow/j5-j8-client-missing.json +45 -0
  129. package/40-checker/results/flow/j5-j8-good.json +45 -0
  130. package/40-checker/results/flow/journey-fixture-bundle.json +90 -0
  131. package/40-checker/results/flow/journey-fixture-j1-j2-j4-j6.json +107 -0
  132. package/40-checker/results/flow/real/DDDMUC__dsh-free-search.json +297 -0
  133. package/40-checker/results/flow/real/REPORT.md +335 -0
  134. package/40-checker/results/flow/real/YuJunZhiXue__dsh-purge.json +317 -0
  135. package/40-checker/results/flow/real/ci-diet.json +351 -0
  136. package/40-checker/results/flow/real/daily-log.json +286 -0
  137. package/40-checker/results/flow/real/index.json +325 -0
  138. package/40-checker/results/flow/real/project-memory.json +290 -0
  139. package/40-checker/results/flow/real/qiushi.json +277 -0
  140. package/40-checker/results/flow/real/status-rotator.json +275 -0
  141. package/40-checker/results/flow/real/telemetry.json +178 -0
  142. package/40-checker/results/flow/real/ui-auth.json +288 -0
  143. package/40-checker/results/flow/real/verification.json +265 -0
  144. package/40-checker/results/governance/co-maintainer-packet.md +85 -0
  145. package/40-checker/results/l1/ci-diet.json +406 -0
  146. package/40-checker/results/l1/npm-dsh-telemetry-redactor-0.1.0.json +390 -0
  147. package/40-checker/results/l1/npm-dsh-verification-receipt-0.1.0.json +406 -0
  148. package/40-checker/results/l1/npm-qiushi-dsh-evidence-audit-0.1.0.json +394 -0
  149. package/40-checker/results/l1/npm-zzerx-dsh-plugin-daily-log-0.4.3.json +405 -0
  150. package/40-checker/results/l1/project-memory.json +402 -0
  151. package/40-checker/results/l1/source-DDDMUC__dsh-free-search.json +422 -0
  152. package/40-checker/results/l1/source-Ebony-Vinyl__dsh-our-free-model.json +421 -0
  153. package/40-checker/results/l1/source-SeaOf0__dsh-redteam-model.json +432 -0
  154. package/40-checker/results/l1/source-YuJunZhiXue__dsh-purge.json +473 -0
  155. package/40-checker/results/l1/source-howmp__dsh-pentest.json +402 -0
  156. package/40-checker/results/l1/source-kingcharleslzy-ai__dsh-purge.json +452 -0
  157. package/40-checker/results/l1/source-liguobao__ds-harness-remote.json +420 -0
  158. package/40-checker/results/l1/source-mmparko__dsh-purge.json +482 -0
  159. package/40-checker/results/l1/source-shaobeichen__dsh-pocket.json +404 -0
  160. package/40-checker/results/l1/source-ysr666__dsh-vision-router.json +384 -0
  161. package/40-checker/results/l1/status-rotator.json +403 -0
  162. package/40-checker/results/l1/ui-auth.json +429 -0
  163. package/40-checker/results/l1/ysr666__dsh-vision-router.published.json +384 -0
  164. package/40-checker/results/lev3/REPORT.md +342 -0
  165. package/40-checker/results/lev3/lev3.json +4835 -0
  166. package/40-checker/results/lev6/REPORT.md +460 -0
  167. package/40-checker/results/lev6/capture-sample.json +241 -0
  168. package/40-checker/results/lev6/capture.jsonl +4 -0
  169. package/40-checker/results/lev6/lev6.json +245 -0
  170. package/40-checker/results/lev6/replication-r1.json +245 -0
  171. package/40-checker/results/levels/README.md +16 -0
  172. package/40-checker/results/levels/dsh-plugin-doctor.json +141 -0
  173. package/40-checker/results/levels/dsh-plugin-guide.json +136 -0
  174. package/40-checker/results/m1/dsh-ci-diet-0.5.2.json +352 -0
  175. package/40-checker/results/m1/dsh-status-rotator-0.38.0.json +349 -0
  176. package/40-checker/results/m1/dsh-telemetry-redactor-0.1.0.json +336 -0
  177. package/40-checker/results/m1/dsh-ui-auth-0.7.1.json +356 -0
  178. package/40-checker/results/m1/dsh-verification-receipt-0.1.0.json +344 -0
  179. package/40-checker/results/m1/index-level.json +13 -0
  180. package/40-checker/results/m1/levels.json +72100 -0
  181. package/40-checker/results/m1/qiushi-dsh-evidence-audit-0.1.0.json +339 -0
  182. package/40-checker/results/m1/yolk_vat-y-dsh-project-memory-0.6.7.json +348 -0
  183. package/40-checker/results/m1/zzerx-dsh-plugin-daily-log-0.4.3.json +344 -0
  184. package/40-checker/results/m2/dsh-ci-diet.json +421 -0
  185. package/40-checker/results/m2/dsh-ci-diet.unshare-landlock.json +424 -0
  186. package/40-checker/results/m2/dsh-ci-diet.unshare.json +423 -0
  187. package/40-checker/results/m2/fixture-bundle.image.json +404 -0
  188. package/40-checker/results/m2/fixture-bundle.json +392 -0
  189. package/40-checker/results/m2/fixture-bundle.landlock.json +396 -0
  190. package/40-checker/results/m2/fixture-bundle.unshare.json +395 -0
  191. package/40-checker/results/m2/fs-write.json +338 -0
  192. package/40-checker/results/m2/hang.json +31 -0
  193. package/40-checker/results/m2/hang.unshare-landlock.json +34 -0
  194. package/40-checker/results/m2/hang.unshare.json +33 -0
  195. package/40-checker/results/m2/project-memory.json +417 -0
  196. package/40-checker/results/m2/status-rotator.json +418 -0
  197. package/40-checker/results/m2/ui-auth.json +444 -0
  198. package/40-checker/results/negative/bad-entry.json +345 -0
  199. package/40-checker/results/negative/no-entry.json +345 -0
  200. package/40-checker/results/negative/no-patch.json +344 -0
  201. package/40-checker/results/negative/root-missing.json +344 -0
  202. package/40-checker/results/negative/root-missing.runtime.json +30 -0
  203. package/40-checker/results/negative/summary.json +51 -0
  204. package/40-checker/results/negative/workspace.json +344 -0
  205. package/40-checker/results/patched/Ebony-Vinyl__dsh-our-free-model.json +334 -0
  206. package/40-checker/results/patched/Ebony-Vinyl__dsh-our-free-model.overlay.json +335 -0
  207. package/40-checker/results/patched/SeaOf0__dsh-redteam-model.json +315 -0
  208. package/40-checker/results/patched/SeaOf0__dsh-redteam-model.overlay.json +316 -0
  209. package/40-checker/results/patched/mmparko__dsh-purge.json +357 -0
  210. package/40-checker/results/patched/mmparko__dsh-purge.overlay.json +358 -0
  211. package/40-checker/results/patched/shaobeichen__dsh-pocket.json +315 -0
  212. package/40-checker/results/patched/shaobeichen__dsh-pocket.overlay.json +316 -0
  213. package/40-checker/results/real/DDDMUC__dsh-free-search.json +344 -0
  214. package/40-checker/results/real/Ebony-Vinyl__dsh-our-free-model.json +343 -0
  215. package/40-checker/results/real/SeaOf0__dsh-redteam-model.json +354 -0
  216. package/40-checker/results/real/YuJunZhiXue__dsh-purge.json +395 -0
  217. package/40-checker/results/real/howmp__dsh-pentest.json +324 -0
  218. package/40-checker/results/real/kingcharleslzy-ai__dsh-purge.json +374 -0
  219. package/40-checker/results/real/liguobao__ds-harness-remote.json +342 -0
  220. package/40-checker/results/real/mmparko__dsh-purge.json +404 -0
  221. package/40-checker/results/real/shaobeichen__dsh-pocket.json +326 -0
  222. package/40-checker/results/real/ysr666__dsh-vision-router.json +372 -0
  223. package/40-checker/results/real/ysr666__dsh-vision-router.listing.json +378 -0
  224. package/40-checker/results/round-robin/compare.json +52 -0
  225. package/40-checker/results/round-robin/runner-a.json +9 -0
  226. package/40-checker/results/round-robin/runner-b.json +9 -0
  227. package/40-checker/results/sample20/123dbl__dsh-side-session.json +344 -0
  228. package/40-checker/results/sample20/173787247__dsh-wsl-dns.json +360 -0
  229. package/40-checker/results/sample20/863683348__dsh-insight.json +375 -0
  230. package/40-checker/results/sample20/Ansellwan__DSH-Custom-Wallpaper.json +344 -0
  231. package/40-checker/results/sample20/Jamailar__beav-deepseek-harness.json +341 -0
  232. package/40-checker/results/sample20/ManoloRemiddi__DSH-Metafolder-Plugin.json +344 -0
  233. package/40-checker/results/sample20/NEAZ71eve__dsh-tool-github.json +384 -0
  234. package/40-checker/results/sample20/README.md +3 -0
  235. package/40-checker/results/sample20/RINGOLINK__dsh-desktop-shell.json +352 -0
  236. package/40-checker/results/sample20/Zxznb666__dsh-qoder-cn-subagent.json +349 -0
  237. package/40-checker/results/sample20/agent-mobile__dsh-mobile-gateway.json +353 -0
  238. package/40-checker/results/sample20/fangqiing__dsh-knowledge-lite.json +359 -0
  239. package/40-checker/results/sample20/fzy0517__deepseek-harness-session-cleaner.json +344 -0
  240. package/40-checker/results/sample20/gjy1992__dsh-diagram.json +350 -0
  241. package/40-checker/results/sample20/mrme000m__dsh-prime-orchestrator.json +414 -0
  242. package/40-checker/results/sample20/redstonedust__dsh-solidworks-copilot.json +362 -0
  243. package/40-checker/results/sample20/summary.json +234 -0
  244. package/40-checker/results/sample20/w2112515__dsh-remote-host.json +344 -0
  245. package/40-checker/results/sample20/wkfedor__deepseek-harness-voice-input.json +350 -0
  246. package/40-checker/results/sample20/xfgil__dsh-hot-reloader.json +344 -0
  247. package/40-checker/results/sample20/yizhiyizhi0128__dsh-peak-scheduler.json +360 -0
  248. package/40-checker/results/sample20-ci/123dbl__dsh-side-session.json +344 -0
  249. package/40-checker/results/sample20-ci/173787247__dsh-wsl-dns.json +360 -0
  250. package/40-checker/results/sample20-ci/863683348__dsh-insight.json +375 -0
  251. package/40-checker/results/sample20-ci/Ansellwan__DSH-Custom-Wallpaper.json +344 -0
  252. package/40-checker/results/sample20-ci/Jamailar__beav-deepseek-harness.json +367 -0
  253. package/40-checker/results/sample20-ci/ManoloRemiddi__DSH-Metafolder-Plugin.json +344 -0
  254. package/40-checker/results/sample20-ci/NEAZ71eve__dsh-tool-github.json +392 -0
  255. package/40-checker/results/sample20-ci/README.md +5 -0
  256. package/40-checker/results/sample20-ci/RINGOLINK__dsh-desktop-shell.json +361 -0
  257. package/40-checker/results/sample20-ci/Zxznb666__dsh-qoder-cn-subagent.json +349 -0
  258. package/40-checker/results/sample20-ci/agent-mobile__dsh-mobile-gateway.json +384 -0
  259. package/40-checker/results/sample20-ci/fangqiing__dsh-knowledge-lite.json +360 -0
  260. package/40-checker/results/sample20-ci/fzy0517__deepseek-harness-session-cleaner.json +354 -0
  261. package/40-checker/results/sample20-ci/gjy1992__dsh-diagram.json +381 -0
  262. package/40-checker/results/sample20-ci/mrme000m__dsh-prime-orchestrator.json +452 -0
  263. package/40-checker/results/sample20-ci/redstonedust__dsh-solidworks-copilot.json +371 -0
  264. package/40-checker/results/sample20-ci/summary.json +195 -0
  265. package/40-checker/results/sample20-ci/w2112515__dsh-remote-host.json +399 -0
  266. package/40-checker/results/sample20-ci/wkfedor__deepseek-harness-voice-input.json +358 -0
  267. package/40-checker/results/sample20-ci/xfgil__dsh-hot-reloader.json +344 -0
  268. package/40-checker/results/sample20-ci/yizhiyizhi0128__dsh-peak-scheduler.json +370 -0
  269. package/40-checker/results/sample20-ci/zed1902209846-dotcom__DPwhale-plugin.json +231 -0
  270. package/40-checker/results/sample60/123dbl__dsh-side-session.json +344 -0
  271. package/40-checker/results/sample60/173787247__dsh-wsl-dns.json +360 -0
  272. package/40-checker/results/sample60/863683348__dsh-insight.json +375 -0
  273. package/40-checker/results/sample60/Anionex__dsh-turn-rewind.json +349 -0
  274. package/40-checker/results/sample60/Ansellwan__DSH-Custom-Wallpaper.json +344 -0
  275. package/40-checker/results/sample60/Ebony-Vinyl__EAC-Pack.json +352 -0
  276. package/40-checker/results/sample60/EricWang1358__dsh-web-studyhub.json +376 -0
  277. package/40-checker/results/sample60/GanyuanRan__Aegis.json +349 -0
  278. package/40-checker/results/sample60/HiSeax__dsh-codely.json +358 -0
  279. package/40-checker/results/sample60/Jamailar__beav-deepseek-harness.json +341 -0
  280. package/40-checker/results/sample60/ManoloRemiddi__DSH-Metafolder-Plugin.json +344 -0
  281. package/40-checker/results/sample60/MichengAI__dsh-archive-manager.json +357 -0
  282. package/40-checker/results/sample60/MichengAI__dsh-im-connect.json +347 -0
  283. package/40-checker/results/sample60/MindLab-Research__dsh-generative-ui.json +350 -0
  284. package/40-checker/results/sample60/NEAZ71eve__dsh-tool-github.json +384 -0
  285. package/40-checker/results/sample60/README.md +7 -0
  286. package/40-checker/results/sample60/RINGOLINK__dsh-desktop-shell.json +352 -0
  287. package/40-checker/results/sample60/SeanTolstoyevski__dsh-code-review.json +352 -0
  288. package/40-checker/results/sample60/Tasihi89__dsh-talk-map.json +344 -0
  289. package/40-checker/results/sample60/Tyan66666__billion-context-dsh.json +469 -0
  290. package/40-checker/results/sample60/V1ki__dsh-plugin-subscriptions.json +350 -0
  291. package/40-checker/results/sample60/Yu-tao-Li__dsh-computer-use-win.json +341 -0
  292. package/40-checker/results/sample60/ZSeven-W__dsh-ios.json +344 -0
  293. package/40-checker/results/sample60/Zxznb666__dsh-qoder-cn-subagent.json +349 -0
  294. package/40-checker/results/sample60/agent-mobile__dsh-mobile-gateway.json +353 -0
  295. package/40-checker/results/sample60/c3cvld7aag__fujiang-dsh.json +361 -0
  296. package/40-checker/results/sample60/cxzrdxy__dsh-file-explorer.json +389 -0
  297. package/40-checker/results/sample60/dhicoc__dsh-reverse-skill.json +341 -0
  298. package/40-checker/results/sample60/fangqiing__dsh-knowledge-lite.json +359 -0
  299. package/40-checker/results/sample60/fwerkor__local-shell-mcp.json +369 -0
  300. package/40-checker/results/sample60/fzy0517__deepseek-harness-session-cleaner.json +344 -0
  301. package/40-checker/results/sample60/gjy1992__dsh-diagram.json +350 -0
  302. package/40-checker/results/sample60/howmp__dsh-pentest.json +341 -0
  303. package/40-checker/results/sample60/linhay__harmony-next.skills.json +344 -0
  304. package/40-checker/results/sample60/liustack__modsearch.json +371 -0
  305. package/40-checker/results/sample60/mmparko__dsh-purge.json +372 -0
  306. package/40-checker/results/sample60/mrme000m__dsh-prime-orchestrator.json +414 -0
  307. package/40-checker/results/sample60/omdsh-dev__dsh_workflow.json +439 -0
  308. package/40-checker/results/sample60/redstonedust__dsh-solidworks-copilot.json +362 -0
  309. package/40-checker/results/sample60/seriousz158__dsh-memory.json +350 -0
  310. package/40-checker/results/sample60/shanliuling__dsh-image-gen.json +353 -0
  311. package/40-checker/results/sample60/shanliuling__skills-link.json +344 -0
  312. package/40-checker/results/sample60/shengsheng90__DSH-taskboard.json +341 -0
  313. package/40-checker/results/sample60/sjh9714__dsh-win32.json +374 -0
  314. package/40-checker/results/sample60/skymecode__deepseek-harness-for-vscode.json +351 -0
  315. package/40-checker/results/sample60/sopaco__terrain.json +352 -0
  316. package/40-checker/results/sample60/summary.json +658 -0
  317. package/40-checker/results/sample60/tinqiao-oss__engramory.json +352 -0
  318. package/40-checker/results/sample60/tong-io__tongflow.json +359 -0
  319. package/40-checker/results/sample60/vibeinging__dsh-desktop.json +382 -0
  320. package/40-checker/results/sample60/w2112515__dsh-remote-host.json +344 -0
  321. package/40-checker/results/sample60/wkfedor__deepseek-harness-voice-input.json +350 -0
  322. package/40-checker/results/sample60/wz20__dsh-dafeiyu-dot.json +349 -0
  323. package/40-checker/results/sample60/xfgil__dsh-hot-reloader.json +344 -0
  324. package/40-checker/results/sample60/yi-yezhiqiu__dsh-prompt-market.json +360 -0
  325. package/40-checker/results/sample60/yizhiyizhi0128__dsh-peak-scheduler.json +360 -0
  326. package/40-checker/results/sample60/yjh051108__dsh-routing-suite.json +366 -0
  327. package/40-checker/results/sample60-ci/123dbl__dsh-side-session.json +344 -0
  328. package/40-checker/results/sample60-ci/173787247__dsh-wsl-dns.json +360 -0
  329. package/40-checker/results/sample60-ci/863683348__dsh-insight.json +375 -0
  330. package/40-checker/results/sample60-ci/Anionex__dsh-turn-rewind.json +379 -0
  331. package/40-checker/results/sample60-ci/Ansellwan__DSH-Custom-Wallpaper.json +344 -0
  332. package/40-checker/results/sample60-ci/Ebony-Vinyl__EAC-Pack.json +362 -0
  333. package/40-checker/results/sample60-ci/EricWang1358__dsh-web-studyhub.json +378 -0
  334. package/40-checker/results/sample60-ci/GanyuanRan__Aegis.json +349 -0
  335. package/40-checker/results/sample60-ci/HiSeax__dsh-codely.json +368 -0
  336. package/40-checker/results/sample60-ci/Jamailar__beav-deepseek-harness.json +367 -0
  337. package/40-checker/results/sample60-ci/LiarMTTT__TavernWeave.json +231 -0
  338. package/40-checker/results/sample60-ci/ManoloRemiddi__DSH-Metafolder-Plugin.json +344 -0
  339. package/40-checker/results/sample60-ci/MichengAI__dsh-archive-manager.json +395 -0
  340. package/40-checker/results/sample60-ci/MichengAI__dsh-im-connect.json +404 -0
  341. package/40-checker/results/sample60-ci/MindLab-Research__dsh-generative-ui.json +410 -0
  342. package/40-checker/results/sample60-ci/NEAZ71eve__dsh-tool-github.json +392 -0
  343. package/40-checker/results/sample60-ci/README.md +7 -0
  344. package/40-checker/results/sample60-ci/RINGOLINK__dsh-desktop-shell.json +361 -0
  345. package/40-checker/results/sample60-ci/Ruler4396__dsh-launcher.json +231 -0
  346. package/40-checker/results/sample60-ci/SeanTolstoyevski__dsh-code-review.json +363 -0
  347. package/40-checker/results/sample60-ci/Tasihi89__dsh-talk-map.json +372 -0
  348. package/40-checker/results/sample60-ci/Tyan66666__billion-context-dsh.json +469 -0
  349. package/40-checker/results/sample60-ci/V1ki__dsh-plugin-subscriptions.json +368 -0
  350. package/40-checker/results/sample60-ci/Yu-tao-Li__dsh-computer-use-win.json +349 -0
  351. package/40-checker/results/sample60-ci/ZSeven-W__dsh-ios.json +344 -0
  352. package/40-checker/results/sample60-ci/Zxznb666__dsh-qoder-cn-subagent.json +349 -0
  353. package/40-checker/results/sample60-ci/agent-mobile__dsh-mobile-gateway.json +384 -0
  354. package/40-checker/results/sample60-ci/c3cvld7aag__fujiang-dsh.json +361 -0
  355. package/40-checker/results/sample60-ci/cxzrdxy__dsh-file-explorer.json +399 -0
  356. package/40-checker/results/sample60-ci/dhicoc__dsh-reverse-skill.json +352 -0
  357. package/40-checker/results/sample60-ci/fangqiing__dsh-knowledge-lite.json +360 -0
  358. package/40-checker/results/sample60-ci/fwerkor__local-shell-mcp.json +387 -0
  359. package/40-checker/results/sample60-ci/fzy0517__deepseek-harness-session-cleaner.json +354 -0
  360. package/40-checker/results/sample60-ci/gjy1992__dsh-diagram.json +381 -0
  361. package/40-checker/results/sample60-ci/howmp__dsh-pentest.json +361 -0
  362. package/40-checker/results/sample60-ci/linhay__harmony-next.skills.json +344 -0
  363. package/40-checker/results/sample60-ci/liustack__modsearch.json +382 -0
  364. package/40-checker/results/sample60-ci/mmparko__dsh-purge.json +441 -0
  365. package/40-checker/results/sample60-ci/mrme000m__dsh-prime-orchestrator.json +452 -0
  366. package/40-checker/results/sample60-ci/omdsh-dev__dsh_workflow.json +439 -0
  367. package/40-checker/results/sample60-ci/plastic-labs__honcho.json +231 -0
  368. package/40-checker/results/sample60-ci/redstonedust__dsh-solidworks-copilot.json +371 -0
  369. package/40-checker/results/sample60-ci/seriousz158__dsh-memory.json +351 -0
  370. package/40-checker/results/sample60-ci/shanliuling__dsh-image-gen.json +382 -0
  371. package/40-checker/results/sample60-ci/shanliuling__skills-link.json +344 -0
  372. package/40-checker/results/sample60-ci/shengsheng90__DSH-taskboard.json +370 -0
  373. package/40-checker/results/sample60-ci/sjh9714__dsh-win32.json +410 -0
  374. package/40-checker/results/sample60-ci/skymecode__deepseek-harness-for-vscode.json +391 -0
  375. package/40-checker/results/sample60-ci/sopaco__deepwiki-rs.json +231 -0
  376. package/40-checker/results/sample60-ci/sopaco__terrain.json +352 -0
  377. package/40-checker/results/sample60-ci/summary.json +555 -0
  378. package/40-checker/results/sample60-ci/tinqiao-oss__engramory.json +362 -0
  379. package/40-checker/results/sample60-ci/tong-io__tongflow.json +393 -0
  380. package/40-checker/results/sample60-ci/vibeinging__dsh-desktop.json +555 -0
  381. package/40-checker/results/sample60-ci/w2112515__dsh-remote-host.json +399 -0
  382. package/40-checker/results/sample60-ci/wkfedor__deepseek-harness-voice-input.json +358 -0
  383. package/40-checker/results/sample60-ci/wz20__dsh-dafeiyu-dot.json +390 -0
  384. package/40-checker/results/sample60-ci/xfgil__dsh-hot-reloader.json +344 -0
  385. package/40-checker/results/sample60-ci/yi-yezhiqiu__dsh-prompt-market.json +373 -0
  386. package/40-checker/results/sample60-ci/yizhiyizhi0128__dsh-peak-scheduler.json +370 -0
  387. package/40-checker/results/sample60-ci/yjh051108__dsh-routing-suite.json +437 -0
  388. package/40-checker/results/sample60-ci/zed1902209846-dotcom__DPwhale-plugin.json +231 -0
  389. package/40-checker/results/triage/REPORT.md +317 -0
  390. package/40-checker/results/triage/evidence/g2-rejections.txt +63 -0
  391. package/40-checker/results/triage/evidence/purge-baseline-0.2.1-rc.5.json +51 -0
  392. package/40-checker/results/triage/evidence/purge-baseline-0.2.2-alpha.2.json +51 -0
  393. package/40-checker/results/triage/evidence/purge-postinstall.txt +62 -0
  394. package/40-checker/results/triage/evidence/purge-with-profile-0.2.1-rc.5.json +71 -0
  395. package/40-checker/results/triage/evidence/purge-with-profile-0.2.2-alpha.2.json +71 -0
  396. package/40-checker/results/triage/evidence/semver-matrix.json +32 -0
  397. package/40-checker/results/triage/triage.json +295 -0
  398. package/40-checker/results/webapp/README.md +10 -0
  399. package/40-checker/results/webapp/summary.json +46 -0
  400. package/40-checker/results/webapp/web-auth.json +19 -0
  401. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/client-export.json +7 -0
  402. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/installed-package.json +123 -0
  403. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/probe.json +129 -0
  404. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/shot.png +0 -0
  405. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/summary.md +16 -0
  406. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/client-export.json +7 -0
  407. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/installed-package.json +76 -0
  408. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/probe.json +129 -0
  409. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/shot.png +0 -0
  410. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/summary.md +16 -0
  411. package/40-checker/results/webruntime/REPORT.md +253 -0
  412. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/client-export.json +7 -0
  413. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/installed-package.json +97 -0
  414. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/probe.json +129 -0
  415. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/shot.png +0 -0
  416. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/summary.md +16 -0
  417. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/client-export.json +7 -0
  418. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/installed-package.json +98 -0
  419. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/probe.json +136 -0
  420. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/shot.png +0 -0
  421. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/summary.md +16 -0
  422. package/40-checker/results/webruntime/ci-diet/client-export.json +10 -0
  423. package/40-checker/results/webruntime/ci-diet/installed-package.json +100 -0
  424. package/40-checker/results/webruntime/ci-diet/probe.json +129 -0
  425. package/40-checker/results/webruntime/ci-diet/shot.png +0 -0
  426. package/40-checker/results/webruntime/ci-diet/summary.md +16 -0
  427. package/40-checker/results/webruntime/daily-log/client-export.json +10 -0
  428. package/40-checker/results/webruntime/daily-log/installed-package.json +113 -0
  429. package/40-checker/results/webruntime/daily-log/probe.json +129 -0
  430. package/40-checker/results/webruntime/daily-log/shot.png +0 -0
  431. package/40-checker/results/webruntime/daily-log/summary.md +16 -0
  432. package/40-checker/results/webruntime/howmp__dsh-pentest/client-export.json +7 -0
  433. package/40-checker/results/webruntime/howmp__dsh-pentest/installed-package.json +90 -0
  434. package/40-checker/results/webruntime/howmp__dsh-pentest/probe.json +129 -0
  435. package/40-checker/results/webruntime/howmp__dsh-pentest/shot.png +0 -0
  436. package/40-checker/results/webruntime/howmp__dsh-pentest/summary.md +16 -0
  437. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/client-export.json +7 -0
  438. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/installed-package.json +164 -0
  439. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/probe.json +129 -0
  440. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/shot.png +0 -0
  441. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/summary.md +16 -0
  442. package/40-checker/results/webruntime/liguobao__ds-harness-remote/client-export.json +7 -0
  443. package/40-checker/results/webruntime/liguobao__ds-harness-remote/installed-package.json +166 -0
  444. package/40-checker/results/webruntime/liguobao__ds-harness-remote/probe.json +129 -0
  445. package/40-checker/results/webruntime/liguobao__ds-harness-remote/shot.png +0 -0
  446. package/40-checker/results/webruntime/liguobao__ds-harness-remote/summary.md +16 -0
  447. package/40-checker/results/webruntime/local-pre-ci/README.md +67 -0
  448. package/40-checker/results/webruntime/local-pre-ci/client-exports.json +158 -0
  449. package/40-checker/results/webruntime/local-pre-ci/dsh-free-search.probe.json +119 -0
  450. package/40-checker/results/webruntime/local-pre-ci/dsh-pocket.probe.json +119 -0
  451. package/40-checker/results/webruntime/local-pre-ci/dsh-redteam-model.probe.json +119 -0
  452. package/40-checker/results/webruntime/local-pre-ci/qiushi-shell-only.probe.json +104 -0
  453. package/40-checker/results/webruntime/local-pre-ci/ui-auth-no-login.fail.json +52 -0
  454. package/40-checker/results/webruntime/local-pre-ci/ui-auth.probe.json +123 -0
  455. package/40-checker/results/webruntime/mmparko__dsh-purge/client-export.json +7 -0
  456. package/40-checker/results/webruntime/mmparko__dsh-purge/installed-package.json +95 -0
  457. package/40-checker/results/webruntime/mmparko__dsh-purge/probe.json +136 -0
  458. package/40-checker/results/webruntime/mmparko__dsh-purge/shot.png +0 -0
  459. package/40-checker/results/webruntime/mmparko__dsh-purge/summary.md +16 -0
  460. package/40-checker/results/webruntime/project-memory/client-export.json +7 -0
  461. package/40-checker/results/webruntime/project-memory/installed-package.json +118 -0
  462. package/40-checker/results/webruntime/project-memory/probe.json +129 -0
  463. package/40-checker/results/webruntime/project-memory/shot.png +0 -0
  464. package/40-checker/results/webruntime/project-memory/summary.md +16 -0
  465. package/40-checker/results/webruntime/qiushi/client-export.json +7 -0
  466. package/40-checker/results/webruntime/qiushi/installed-package.json +84 -0
  467. package/40-checker/results/webruntime/qiushi/probe.json +114 -0
  468. package/40-checker/results/webruntime/qiushi/shot.png +0 -0
  469. package/40-checker/results/webruntime/qiushi/summary.md +16 -0
  470. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/client-export.json +7 -0
  471. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/installed-package.json +85 -0
  472. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/probe.json +129 -0
  473. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/shot.png +0 -0
  474. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/summary.md +16 -0
  475. package/40-checker/results/webruntime/status-rotator/client-export.json +7 -0
  476. package/40-checker/results/webruntime/status-rotator/installed-package.json +107 -0
  477. package/40-checker/results/webruntime/status-rotator/probe.json +129 -0
  478. package/40-checker/results/webruntime/status-rotator/shot.png +0 -0
  479. package/40-checker/results/webruntime/status-rotator/summary.md +16 -0
  480. package/40-checker/results/webruntime/summary.json +323 -0
  481. package/40-checker/results/webruntime/telemetry/probe.json +20 -0
  482. package/40-checker/results/webruntime/telemetry/summary.md +4 -0
  483. package/40-checker/results/webruntime/ui-auth/client-export.json +7 -0
  484. package/40-checker/results/webruntime/ui-auth/installed-package.json +94 -0
  485. package/40-checker/results/webruntime/ui-auth/probe.json +129 -0
  486. package/40-checker/results/webruntime/ui-auth/shot.png +0 -0
  487. package/40-checker/results/webruntime/ui-auth/summary.md +16 -0
  488. package/40-checker/results/webruntime/verification/probe.json +20 -0
  489. package/40-checker/results/webruntime/verification/summary.md +4 -0
  490. package/40-checker/results/webruntime/ysr666__dsh-vision-router/client-export.json +7 -0
  491. package/40-checker/results/webruntime/ysr666__dsh-vision-router/installed-package.json +142 -0
  492. package/40-checker/results/webruntime/ysr666__dsh-vision-router/probe.json +129 -0
  493. package/40-checker/results/webruntime/ysr666__dsh-vision-router/shot.png +0 -0
  494. package/40-checker/results/webruntime/ysr666__dsh-vision-router/summary.md +16 -0
  495. package/40-checker/samples/README.md +8 -0
  496. package/40-checker/samples/entry18.json +139 -0
  497. package/40-checker/samples/frame.json +485 -0
  498. package/40-checker/scripts/apply-overlay.mjs +59 -0
  499. package/40-checker/scripts/attestation-check.mjs +151 -0
  500. package/40-checker/scripts/bundle-smoke.mjs +126 -0
  501. package/40-checker/scripts/claim-check.mjs +145 -0
  502. package/40-checker/scripts/clause-map.mjs +94 -0
  503. package/40-checker/scripts/collect-fixtures.mjs +44 -0
  504. package/40-checker/scripts/dashboard.mjs +85 -0
  505. package/40-checker/scripts/dco-check.mjs +147 -0
  506. package/40-checker/scripts/dependabot-check.mjs +40 -0
  507. package/40-checker/scripts/doc-commands-check.mjs +92 -0
  508. package/40-checker/scripts/entry-scan.mjs +190 -0
  509. package/40-checker/scripts/entry-validate.mjs +291 -0
  510. package/40-checker/scripts/entry18-attribution.mjs +66 -0
  511. package/40-checker/scripts/entry18-ci.mjs +685 -0
  512. package/40-checker/scripts/entry18-realweb-summary.mjs +71 -0
  513. package/40-checker/scripts/entry18-web.mjs +307 -0
  514. package/40-checker/scripts/evidence-chain.mjs +100 -0
  515. package/40-checker/scripts/flow-index.mjs +82 -0
  516. package/40-checker/scripts/flow-sample-ci.mjs +529 -0
  517. package/40-checker/scripts/governance-check.mjs +210 -0
  518. package/40-checker/scripts/host-farm.mjs +165 -0
  519. package/40-checker/scripts/journey-config-observe.mjs +109 -0
  520. package/40-checker/scripts/journey-disclosure-shape.mjs +83 -0
  521. package/40-checker/scripts/journey-runtime.mjs +178 -0
  522. package/40-checker/scripts/journey.mjs +76 -0
  523. package/40-checker/scripts/label-drift.mjs +74 -0
  524. package/40-checker/scripts/label-sync.mjs +87 -0
  525. package/40-checker/scripts/label-verify.mjs +90 -0
  526. package/40-checker/scripts/landlock-exec.c +101 -0
  527. package/40-checker/scripts/level-audit.mjs +336 -0
  528. package/40-checker/scripts/m1-sidecar.mjs +126 -0
  529. package/40-checker/scripts/m2-runner.mjs +213 -0
  530. package/40-checker/scripts/round-robin.mjs +88 -0
  531. package/40-checker/scripts/sample-frame.mjs +72 -0
  532. package/40-checker/scripts/sample20-ci.mjs +25 -0
  533. package/40-checker/scripts/sample60-ci.mjs +25 -0
  534. package/40-checker/scripts/stale-check.mjs +59 -0
  535. package/40-checker/scripts/surveillance.mjs +88 -0
  536. package/40-checker/scripts/web-probe.mjs +504 -0
  537. package/40-checker/src/cli.mjs +300 -0
  538. package/40-checker/src/client-shape.mjs +37 -0
  539. package/40-checker/src/declarations.mjs +242 -0
  540. package/40-checker/src/index.mjs +8 -0
  541. package/40-checker/src/install-spec.mjs +67 -0
  542. package/40-checker/src/label.mjs +130 -0
  543. package/40-checker/src/manifest.mjs +364 -0
  544. package/40-checker/src/permissions.mjs +60 -0
  545. package/40-checker/src/report.mjs +204 -0
  546. package/40-checker/src/result.mjs +60 -0
  547. package/40-checker/src/runtime.mjs +299 -0
  548. package/40-checker/src/semver.mjs +128 -0
  549. package/40-checker/src/util.mjs +148 -0
  550. package/40-checker/test/attestation.test.mjs +59 -0
  551. package/40-checker/test/checks.test.mjs +172 -0
  552. package/40-checker/test/claim.test.mjs +28 -0
  553. package/40-checker/test/client-shape.test.mjs +35 -0
  554. package/40-checker/test/dco.test.mjs +51 -0
  555. package/40-checker/test/entry-validate.test.mjs +172 -0
  556. package/40-checker/test/governance.test.mjs +76 -0
  557. package/40-checker/test/label.test.mjs +97 -0
  558. package/40-checker/test/level-audit.test.mjs +99 -0
  559. package/40-checker/test/levels.test.mjs +31 -0
  560. package/40-checker/test/ops.test.mjs +117 -0
  561. package/40-checker/test/permissions.test.mjs +40 -0
  562. package/40-checker/test/semver.test.mjs +32 -0
  563. package/40-checker/test/verify.test.mjs +57 -0
  564. package/LICENSE +28 -0
  565. package/LICENSE-APACHE +190 -0
  566. package/LICENSE-CC-BY +23 -0
  567. package/NOTICE.md +11 -0
  568. package/README.md +146 -3
  569. package/bin/dsh-levels.mjs +4 -0
  570. package/bin/dsh-standards.mjs +18 -0
  571. package/docs/BOOST-FIXTURES-2026-11-02.md +38 -0
  572. package/docs/DEVELOPER-JOURNEY.md +40 -0
  573. package/docs/HOST-J3-BUG-REPORT-DRAFT.md +27 -0
  574. package/docs/HOST-J3-CONFIG-REPRO-2026-11-02.md +36 -0
  575. package/docs/NAMING-FALLBACK.md +11 -0
  576. package/docs/fork-policy.md +12 -0
  577. package/docs/full-test-plan-2026-11-02.md +207 -0
  578. package/docs/incident.md +37 -0
  579. package/docs/onboarding.md +27 -0
  580. package/docs/privacy.md +12 -0
  581. package/docs/release.md +16 -0
  582. package/docs/scope-security.md +62 -0
  583. package/docs/status-taxonomy.md +54 -0
  584. package/docs/sunset.md +44 -0
  585. package/docs/translating.md +12 -0
  586. package/package.json +49 -12
  587. package/spec/README.md +27 -0
  588. package/spec/boost/README.md +8 -0
  589. package/spec/clauses.json +253 -0
  590. package/spec/entry/README.md +9 -0
  591. package/spec/flow/README.md +8 -0
  592. package/spec/levels.json +371 -0
  593. package/spec/levels.schema.json +45 -0
  594. package/spec/reference-suite.json +35 -0
  595. package/spec/schemas/attestation.schema.json +284 -0
  596. package/spec/schemas/evidence.schema.json +331 -0
  597. package/spec/schemas/report.schema.json +64 -0
@@ -0,0 +1,1747 @@
1
+ {
2
+ "schema": "dsh-boost-lev12458/1",
3
+ "generatedAt": "2026-11-01T04:24:39.795Z",
4
+ "command": [
5
+ "node",
6
+ "examples/boost/lev12458-bench.mjs",
7
+ "--runs",
8
+ "5"
9
+ ],
10
+ "environment": {
11
+ "node": "v24.22.1",
12
+ "platform": "linux/x64",
13
+ "kernel": "6.6.114.1-microsoft-standard-WSL2",
14
+ "cpus": 20,
15
+ "workspace": "<standards>",
16
+ "dsh": {
17
+ "version": "0.2.2-alpha.2",
18
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/dsh",
19
+ "packageJsonSha256": "fcfbff65bc9a7beae1d5bd56af6eb166b61dcd22bd20234653d2b8d56d09aa63"
20
+ },
21
+ "cordis": {
22
+ "version": "4.0.6-alpha.1",
23
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis",
24
+ "libSha256": "e2154e2748ace61fa34631cd3081b9fe71c8d744e5a6b90d36c659f44d6470eb"
25
+ },
26
+ "loader": {
27
+ "version": "1.0.7-alpha.1",
28
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis-plugin-loader",
29
+ "libSha256": "bf2cf32746fa3a249ca95518993795a7f49595fe26772ceefc5fc9b645e92a0e"
30
+ },
31
+ "include": {
32
+ "version": "1.0.11-alpha.1",
33
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis-plugin-include",
34
+ "libSha256": "ad5eaf3b80a8fd9945466486493a0d1a8e9590895bcde01e5673f3d07b4fd306",
35
+ "used": false,
36
+ "note": "not used by this harness; recorded because the install ships it"
37
+ },
38
+ "appBoot": {
39
+ "version": "0.2.2-alpha.2",
40
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/dsh-app-boot",
41
+ "libSha256": "dbe13b8cbfe6a183efab4cb363bbcbc35e4ee171b5f8c798390d0371ca9ea4ff",
42
+ "used": [
43
+ "LEV-8"
44
+ ]
45
+ },
46
+ "checkout": {
47
+ "path": "<dsh-checkout>",
48
+ "commit": "ce7073d51254c26cd63b22a60835b8f948deb447",
49
+ "dirty": true,
50
+ "dirtyEntries": 3,
51
+ "packageVersion": "0.2.2-alpha.2",
52
+ "dirtyPaths": [
53
+ "M package.json",
54
+ " M packages/boot/app-boot/src/profile-resolution/resolver.ts",
55
+ " M pnpm-lock.yaml"
56
+ ]
57
+ },
58
+ "note": "installed npm packages have no gitHead; checkout commit is provenance for the source tree, not a byte-identity claim"
59
+ },
60
+ "summary": {
61
+ "status": "measured",
62
+ "measured": [
63
+ "LEV-1",
64
+ "LEV-2",
65
+ "LEV-4",
66
+ "LEV-5",
67
+ "LEV-8"
68
+ ],
69
+ "notMeasured": [],
70
+ "verdicts": {
71
+ "LEV-1": "supported",
72
+ "LEV-2": "supported",
73
+ "LEV-4": "supported",
74
+ "LEV-5": "supported",
75
+ "LEV-8": "supported"
76
+ },
77
+ "evidenceCard": {
78
+ "ok": true,
79
+ "checkedPractices": [
80
+ "LEV-1",
81
+ "LEV-2",
82
+ "LEV-4",
83
+ "LEV-5",
84
+ "LEV-8"
85
+ ],
86
+ "problems": []
87
+ }
88
+ },
89
+ "measurements": [
90
+ {
91
+ "practice": "LEV-1",
92
+ "title": "可逆 / reversible effects across loader restarts",
93
+ "level": "loader-level",
94
+ "status": "measured",
95
+ "hypothesis": "A fixture that registers a timer, a listener, and an auxiliary effect through ctx.effect returns to its effect baseline after N loader restarts and its timer disposer runs N times; a raw setInterval without ctx.effect leaks one handle per restart.",
96
+ "environment": {
97
+ "node": "v24.22.1",
98
+ "platform": "linux/x64",
99
+ "kernel": "6.6.114.1-microsoft-standard-WSL2",
100
+ "cpus": 20,
101
+ "workspace": "<standards>",
102
+ "dsh": {
103
+ "version": "0.2.2-alpha.2",
104
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/dsh",
105
+ "packageJsonSha256": "fcfbff65bc9a7beae1d5bd56af6eb166b61dcd22bd20234653d2b8d56d09aa63"
106
+ },
107
+ "cordis": {
108
+ "version": "4.0.6-alpha.1",
109
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis",
110
+ "libSha256": "e2154e2748ace61fa34631cd3081b9fe71c8d744e5a6b90d36c659f44d6470eb"
111
+ },
112
+ "loader": {
113
+ "version": "1.0.7-alpha.1",
114
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis-plugin-loader",
115
+ "libSha256": "bf2cf32746fa3a249ca95518993795a7f49595fe26772ceefc5fc9b645e92a0e"
116
+ },
117
+ "include": {
118
+ "version": "1.0.11-alpha.1",
119
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis-plugin-include",
120
+ "libSha256": "ad5eaf3b80a8fd9945466486493a0d1a8e9590895bcde01e5673f3d07b4fd306",
121
+ "used": false,
122
+ "note": "not used by this harness; recorded because the install ships it"
123
+ },
124
+ "appBoot": {
125
+ "version": "0.2.2-alpha.2",
126
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/dsh-app-boot",
127
+ "libSha256": "dbe13b8cbfe6a183efab4cb363bbcbc35e4ee171b5f8c798390d0371ca9ea4ff",
128
+ "used": [
129
+ "LEV-8"
130
+ ]
131
+ },
132
+ "checkout": {
133
+ "path": "<dsh-checkout>",
134
+ "commit": "ce7073d51254c26cd63b22a60835b8f948deb447",
135
+ "dirty": true,
136
+ "dirtyEntries": 3,
137
+ "packageVersion": "0.2.2-alpha.2",
138
+ "dirtyPaths": [
139
+ "M package.json",
140
+ " M packages/boot/app-boot/src/profile-resolution/resolver.ts",
141
+ " M pnpm-lock.yaml"
142
+ ]
143
+ },
144
+ "note": "installed npm packages have no gitHead; checkout commit is provenance for the source tree, not a byte-identity claim"
145
+ },
146
+ "input": {
147
+ "fixtureFiles": [
148
+ {
149
+ "path": "examples/boost/lev12458-fixture/lev1/negative.mjs",
150
+ "sha256": "7af25b9ebb44a35f7d1f26426d68c7cd58d50805f89c5702395bde1bb1e1ec95"
151
+ },
152
+ {
153
+ "path": "examples/boost/lev12458-fixture/lev1/positive.mjs",
154
+ "sha256": "17f3b6e654e426e1bad8f2308f80b2e4142986183c06942e5346c1780e70351e"
155
+ },
156
+ {
157
+ "path": "examples/boost/lev12458-fixture/lev1/probe.mjs",
158
+ "sha256": "6d1e26f8cdf2c0a8fd46a7841ce0efdfe064f36974cdefb16f42a45f52d3d6ff"
159
+ }
160
+ ],
161
+ "composition": "real Context + Loader; entries: lev1-probe (service), lev1-fixture (positive.mjs | negative.mjs)",
162
+ "restartTrigger": "ctx.loader.update(\"lev1-fixture\", { config: { mode } }) + ctx.loader.await()",
163
+ "arms": [
164
+ "positive",
165
+ "negative"
166
+ ],
167
+ "runs": 5,
168
+ "pingEvent": "lev1/ping emitted once after the restarts",
169
+ "probe": "lev1Probe service wraps globalThis.setInterval/clearInterval to count open interval handles; counts ctx.effect disposers and fiber.getEffects() labels"
170
+ },
171
+ "command": "node examples/boost/lev12458-bench.mjs --only LEV-1 --runs 5",
172
+ "negativeControl": {
173
+ "fixture": "lev1/negative.mjs",
174
+ "description": "Same listener and auxiliary effect, but the interval is created with the raw global setInterval and has no ctx.effect disposer. The probe must see one leaked handle per restart, not merely trust the fixture.",
175
+ "expected": "open interval handles grow by 5; timer disposers stay 0",
176
+ "observed": {
177
+ "openTimersAfterFirstApply": 1,
178
+ "openTimersAfterRestarts": 6,
179
+ "openTimersDelta": 5,
180
+ "timerDisposers": 0,
181
+ "openTimersAfterDispose": 6,
182
+ "leakedTimersDrained": 6
183
+ }
184
+ },
185
+ "result": {
186
+ "runs": 5,
187
+ "positive": {
188
+ "arm": "positive",
189
+ "fixture": "./positive.mjs",
190
+ "runs": 5,
191
+ "bootOpenTimers": 0,
192
+ "firstOpenTimers": 1,
193
+ "baselineEffects": [
194
+ "lev1.timer",
195
+ "ctx.on(\"lev1/ping\")",
196
+ "lev1.aux"
197
+ ],
198
+ "firstEffectsEvent": {
199
+ "type": "effects",
200
+ "instanceId": 1,
201
+ "labels": [
202
+ "lev1.timer",
203
+ "ctx.on(\"lev1/ping\")",
204
+ "lev1.aux"
205
+ ]
206
+ },
207
+ "rows": [
208
+ {
209
+ "i": 1,
210
+ "mode": "m1",
211
+ "state": 2,
212
+ "stateName": "ACTIVE",
213
+ "reloadMs": 0.88,
214
+ "applies": 2,
215
+ "timerDisposers": 1,
216
+ "auxDisposers": 1,
217
+ "disposerCalls": 2,
218
+ "openTimers": 1,
219
+ "effects": [
220
+ "lev1.timer",
221
+ "ctx.on(\"lev1/ping\")",
222
+ "lev1.aux"
223
+ ],
224
+ "effectsMatchBaseline": true
225
+ },
226
+ {
227
+ "i": 2,
228
+ "mode": "m2",
229
+ "state": 2,
230
+ "stateName": "ACTIVE",
231
+ "reloadMs": 0.369,
232
+ "applies": 3,
233
+ "timerDisposers": 2,
234
+ "auxDisposers": 2,
235
+ "disposerCalls": 4,
236
+ "openTimers": 1,
237
+ "effects": [
238
+ "lev1.timer",
239
+ "ctx.on(\"lev1/ping\")",
240
+ "lev1.aux"
241
+ ],
242
+ "effectsMatchBaseline": true
243
+ },
244
+ {
245
+ "i": 3,
246
+ "mode": "m3",
247
+ "state": 2,
248
+ "stateName": "ACTIVE",
249
+ "reloadMs": 0.302,
250
+ "applies": 4,
251
+ "timerDisposers": 3,
252
+ "auxDisposers": 3,
253
+ "disposerCalls": 6,
254
+ "openTimers": 1,
255
+ "effects": [
256
+ "lev1.timer",
257
+ "ctx.on(\"lev1/ping\")",
258
+ "lev1.aux"
259
+ ],
260
+ "effectsMatchBaseline": true
261
+ },
262
+ {
263
+ "i": 4,
264
+ "mode": "m4",
265
+ "state": 2,
266
+ "stateName": "ACTIVE",
267
+ "reloadMs": 0.275,
268
+ "applies": 5,
269
+ "timerDisposers": 4,
270
+ "auxDisposers": 4,
271
+ "disposerCalls": 8,
272
+ "openTimers": 1,
273
+ "effects": [
274
+ "lev1.timer",
275
+ "ctx.on(\"lev1/ping\")",
276
+ "lev1.aux"
277
+ ],
278
+ "effectsMatchBaseline": true
279
+ },
280
+ {
281
+ "i": 5,
282
+ "mode": "m5",
283
+ "state": 2,
284
+ "stateName": "ACTIVE",
285
+ "reloadMs": 0.23,
286
+ "applies": 6,
287
+ "timerDisposers": 5,
288
+ "auxDisposers": 5,
289
+ "disposerCalls": 10,
290
+ "openTimers": 1,
291
+ "effects": [
292
+ "lev1.timer",
293
+ "ctx.on(\"lev1/ping\")",
294
+ "lev1.aux"
295
+ ],
296
+ "effectsMatchBaseline": true
297
+ }
298
+ ],
299
+ "final": {
300
+ "state": 2,
301
+ "stateName": "ACTIVE",
302
+ "effects": [
303
+ "lev1.timer",
304
+ "ctx.on(\"lev1/ping\")",
305
+ "lev1.aux"
306
+ ],
307
+ "effectsMatchBaseline": true,
308
+ "applies": 6,
309
+ "effectInstalls": 12,
310
+ "timerDisposers": 5,
311
+ "auxDisposers": 5,
312
+ "disposerCalls": 10,
313
+ "pings": 1,
314
+ "openTimers": 1
315
+ },
316
+ "disposed": {
317
+ "state": 4,
318
+ "stateName": "DISPOSED",
319
+ "effects": [],
320
+ "openTimers": 0,
321
+ "leakedTimersDrained": 0
322
+ },
323
+ "latencyMs": {
324
+ "n": 5,
325
+ "min": 0.23,
326
+ "median": 0.302,
327
+ "p50": 0.302,
328
+ "p95": 0.778,
329
+ "max": 0.88,
330
+ "mean": 0.411
331
+ }
332
+ },
333
+ "negative": {
334
+ "arm": "negative",
335
+ "fixture": "./negative.mjs",
336
+ "runs": 5,
337
+ "bootOpenTimers": 0,
338
+ "firstOpenTimers": 1,
339
+ "baselineEffects": [
340
+ "ctx.on(\"lev1/ping\")",
341
+ "lev1.aux"
342
+ ],
343
+ "firstEffectsEvent": {
344
+ "type": "effects",
345
+ "instanceId": 1,
346
+ "labels": [
347
+ "ctx.on(\"lev1/ping\")",
348
+ "lev1.aux"
349
+ ]
350
+ },
351
+ "rows": [
352
+ {
353
+ "i": 1,
354
+ "mode": "m1",
355
+ "state": 2,
356
+ "stateName": "ACTIVE",
357
+ "reloadMs": 0.236,
358
+ "applies": 2,
359
+ "timerDisposers": 0,
360
+ "auxDisposers": 1,
361
+ "disposerCalls": 1,
362
+ "openTimers": 2,
363
+ "effects": [
364
+ "ctx.on(\"lev1/ping\")",
365
+ "lev1.aux"
366
+ ],
367
+ "effectsMatchBaseline": true
368
+ },
369
+ {
370
+ "i": 2,
371
+ "mode": "m2",
372
+ "state": 2,
373
+ "stateName": "ACTIVE",
374
+ "reloadMs": 0.186,
375
+ "applies": 3,
376
+ "timerDisposers": 0,
377
+ "auxDisposers": 2,
378
+ "disposerCalls": 2,
379
+ "openTimers": 3,
380
+ "effects": [
381
+ "ctx.on(\"lev1/ping\")",
382
+ "lev1.aux"
383
+ ],
384
+ "effectsMatchBaseline": true
385
+ },
386
+ {
387
+ "i": 3,
388
+ "mode": "m3",
389
+ "state": 2,
390
+ "stateName": "ACTIVE",
391
+ "reloadMs": 0.163,
392
+ "applies": 4,
393
+ "timerDisposers": 0,
394
+ "auxDisposers": 3,
395
+ "disposerCalls": 3,
396
+ "openTimers": 4,
397
+ "effects": [
398
+ "ctx.on(\"lev1/ping\")",
399
+ "lev1.aux"
400
+ ],
401
+ "effectsMatchBaseline": true
402
+ },
403
+ {
404
+ "i": 4,
405
+ "mode": "m4",
406
+ "state": 2,
407
+ "stateName": "ACTIVE",
408
+ "reloadMs": 0.179,
409
+ "applies": 5,
410
+ "timerDisposers": 0,
411
+ "auxDisposers": 4,
412
+ "disposerCalls": 4,
413
+ "openTimers": 5,
414
+ "effects": [
415
+ "ctx.on(\"lev1/ping\")",
416
+ "lev1.aux"
417
+ ],
418
+ "effectsMatchBaseline": true
419
+ },
420
+ {
421
+ "i": 5,
422
+ "mode": "m5",
423
+ "state": 2,
424
+ "stateName": "ACTIVE",
425
+ "reloadMs": 0.152,
426
+ "applies": 6,
427
+ "timerDisposers": 0,
428
+ "auxDisposers": 5,
429
+ "disposerCalls": 5,
430
+ "openTimers": 6,
431
+ "effects": [
432
+ "ctx.on(\"lev1/ping\")",
433
+ "lev1.aux"
434
+ ],
435
+ "effectsMatchBaseline": true
436
+ }
437
+ ],
438
+ "final": {
439
+ "state": 2,
440
+ "stateName": "ACTIVE",
441
+ "effects": [
442
+ "ctx.on(\"lev1/ping\")",
443
+ "lev1.aux"
444
+ ],
445
+ "effectsMatchBaseline": true,
446
+ "applies": 6,
447
+ "effectInstalls": 6,
448
+ "timerDisposers": 0,
449
+ "auxDisposers": 5,
450
+ "disposerCalls": 5,
451
+ "pings": 1,
452
+ "openTimers": 6
453
+ },
454
+ "disposed": {
455
+ "state": 4,
456
+ "stateName": "DISPOSED",
457
+ "effects": [],
458
+ "openTimers": 6,
459
+ "leakedTimersDrained": 6
460
+ },
461
+ "latencyMs": {
462
+ "n": 5,
463
+ "min": 0.152,
464
+ "median": 0.179,
465
+ "p50": 0.179,
466
+ "p95": 0.226,
467
+ "max": 0.236,
468
+ "mean": 0.183
469
+ }
470
+ },
471
+ "divergence": {
472
+ "timerDisposerDelta": 5,
473
+ "openTimerDelta": -5,
474
+ "effectCountDelta": 1,
475
+ "pingsAfterRestarts": {
476
+ "positive": 1,
477
+ "negative": 1
478
+ }
479
+ },
480
+ "checks": {
481
+ "fixturesActive": true,
482
+ "positiveTimerDisposedPerRestart": true,
483
+ "positiveNoOpenTimerDelta": true,
484
+ "positiveEffectsMatchBaseline": true,
485
+ "negativeTimerNeverDisposed": true,
486
+ "negativeLeakDetected": true,
487
+ "negativeEffectsMatchItsOwnBaseline": true,
488
+ "probeDistinguishes": true
489
+ },
490
+ "verdict": "supported"
491
+ },
492
+ "limitations": [
493
+ "loader-level: real Context + Loader with three fixture entries; no DSH profile, CLI, Include/YAML, or chokidar watcher.",
494
+ "Restart trigger is ctx.loader.update()+loader.await(), the same entry-update path Include.refresh() drives after a YAML change; the file watcher is not measured.",
495
+ "The interval probe wraps globalThis.setInterval/clearInterval in this process only; setTimeout, setImmediate, sockets, and native resources are not instrumented.",
496
+ "The negative fixture is deliberately synthetic; it proves the probe detects this leak class, not that real plugins commonly leak.",
497
+ "N=5; latency is a warm single-process observation, not a production number.",
498
+ "getEffects() is Cordis fiber metadata; baseline comparison is over effect labels, not resource identity."
499
+ ]
500
+ },
501
+ {
502
+ "practice": "LEV-2",
503
+ "title": "等待 / waiting for an injected service instead of failing",
504
+ "level": "loader-level",
505
+ "status": "measured",
506
+ "hypothesis": "A consumer that declares inject=[service] stays PENDING without a TypeError while the provider is absent; inserting the provider entry and awaiting the loader once makes the consumer ACTIVE. Direct ctx.service access without inject throws instead.",
507
+ "environment": {
508
+ "node": "v24.22.1",
509
+ "platform": "linux/x64",
510
+ "kernel": "6.6.114.1-microsoft-standard-WSL2",
511
+ "cpus": 20,
512
+ "workspace": "<standards>",
513
+ "dsh": {
514
+ "version": "0.2.2-alpha.2",
515
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/dsh",
516
+ "packageJsonSha256": "fcfbff65bc9a7beae1d5bd56af6eb166b61dcd22bd20234653d2b8d56d09aa63"
517
+ },
518
+ "cordis": {
519
+ "version": "4.0.6-alpha.1",
520
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis",
521
+ "libSha256": "e2154e2748ace61fa34631cd3081b9fe71c8d744e5a6b90d36c659f44d6470eb"
522
+ },
523
+ "loader": {
524
+ "version": "1.0.7-alpha.1",
525
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis-plugin-loader",
526
+ "libSha256": "bf2cf32746fa3a249ca95518993795a7f49595fe26772ceefc5fc9b645e92a0e"
527
+ },
528
+ "include": {
529
+ "version": "1.0.11-alpha.1",
530
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis-plugin-include",
531
+ "libSha256": "ad5eaf3b80a8fd9945466486493a0d1a8e9590895bcde01e5673f3d07b4fd306",
532
+ "used": false,
533
+ "note": "not used by this harness; recorded because the install ships it"
534
+ },
535
+ "appBoot": {
536
+ "version": "0.2.2-alpha.2",
537
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/dsh-app-boot",
538
+ "libSha256": "dbe13b8cbfe6a183efab4cb363bbcbc35e4ee171b5f8c798390d0371ca9ea4ff",
539
+ "used": [
540
+ "LEV-8"
541
+ ]
542
+ },
543
+ "checkout": {
544
+ "path": "<dsh-checkout>",
545
+ "commit": "ce7073d51254c26cd63b22a60835b8f948deb447",
546
+ "dirty": true,
547
+ "dirtyEntries": 3,
548
+ "packageVersion": "0.2.2-alpha.2",
549
+ "dirtyPaths": [
550
+ "M package.json",
551
+ " M packages/boot/app-boot/src/profile-resolution/resolver.ts",
552
+ " M pnpm-lock.yaml"
553
+ ]
554
+ },
555
+ "note": "installed npm packages have no gitHead; checkout commit is provenance for the source tree, not a byte-identity claim"
556
+ },
557
+ "input": {
558
+ "fixtureFiles": [
559
+ {
560
+ "path": "examples/boost/lev12458-fixture/lev2/bad-consumer.mjs",
561
+ "sha256": "ae3a958f328816bbd762787963e917d0dd139e9162d8ace2480b310e9b8bdcb2"
562
+ },
563
+ {
564
+ "path": "examples/boost/lev12458-fixture/lev2/consumer.mjs",
565
+ "sha256": "61a36fcdc3fedc8144cee81c9ac177f6f82c01cf6c8e39c28c83c3a65351468e"
566
+ },
567
+ {
568
+ "path": "examples/boost/lev12458-fixture/lev2/direct.mjs",
569
+ "sha256": "28b755809c3cb01610e63fbd1518c0fb40dc01321ec35c04af553eda310d900a"
570
+ },
571
+ {
572
+ "path": "examples/boost/lev12458-fixture/lev2/probe.mjs",
573
+ "sha256": "8bf09b3ccdffca9cd3d0d5305337d321f2481b12caeb22079099586b0de07bcc"
574
+ },
575
+ {
576
+ "path": "examples/boost/lev12458-fixture/lev2/service-a.mjs",
577
+ "sha256": "72943c114e806a4ec6594887a118f5240a41bfa9e44d37d26a70960e4e2b245c"
578
+ }
579
+ ],
580
+ "composition": "real Context + Loader; lev2-probe root service; entries: lev2-b consumer, lev2-direct-before, lev2-bad, lev2-a provider, lev2-direct-after",
581
+ "providerInsertion": "ctx.loader.create({ id: \"lev2-a\", name: \"./service-a.mjs\", config: { value: \"A1\" } })",
582
+ "activationWait": "one ctx.loader.await() after provider insertion"
583
+ },
584
+ "command": "node examples/boost/lev12458-bench.mjs --only LEV-2 --runs 5",
585
+ "negativeControl": {
586
+ "fixtures": [
587
+ "lev2/direct.mjs",
588
+ "lev2/bad-consumer.mjs"
589
+ ],
590
+ "description": "direct.mjs declares no inject and reads ctx.lev2Svc; it catches the error so the message can be recorded before and after the provider exists. bad-consumer.mjs does the same read uncaught, so its fiber must FAIL rather than wait.",
591
+ "expected": "direct access throws \"cannot get property ... without inject\" both before and after; bad-consumer fiber state is FAILED (3)",
592
+ "observed": {
593
+ "directEvents": [
594
+ {
595
+ "seq": 1,
596
+ "type": "direct-access",
597
+ "ok": false,
598
+ "name": "Error",
599
+ "message": "cannot get property \"lev2Svc\" without inject"
600
+ },
601
+ {
602
+ "seq": 3,
603
+ "type": "direct-access",
604
+ "ok": false,
605
+ "name": "Error",
606
+ "message": "cannot get property \"lev2Svc\" without inject"
607
+ }
608
+ ],
609
+ "badConsumerState": 3,
610
+ "badConsumerStateName": "FAILED"
611
+ }
612
+ },
613
+ "result": {
614
+ "before": {
615
+ "state": 0,
616
+ "stateName": "PENDING",
617
+ "pendingTasks": 0,
618
+ "probe": {
619
+ "events": []
620
+ }
621
+ },
622
+ "after": {
623
+ "state": 2,
624
+ "stateName": "ACTIVE",
625
+ "pendingTasks": 0,
626
+ "probe": {
627
+ "events": [
628
+ {
629
+ "seq": 1,
630
+ "type": "direct-access",
631
+ "ok": false,
632
+ "name": "Error",
633
+ "message": "cannot get property \"lev2Svc\" without inject"
634
+ },
635
+ {
636
+ "seq": 2,
637
+ "type": "apply",
638
+ "value": "A1",
639
+ "providerUid": 7,
640
+ "uid": 4
641
+ }
642
+ ]
643
+ }
644
+ },
645
+ "activationMs": 4.666,
646
+ "applies": [
647
+ {
648
+ "seq": 2,
649
+ "type": "apply",
650
+ "value": "A1",
651
+ "providerUid": 7,
652
+ "uid": 4
653
+ }
654
+ ],
655
+ "directEvents": [
656
+ {
657
+ "seq": 1,
658
+ "type": "direct-access",
659
+ "ok": false,
660
+ "name": "Error",
661
+ "message": "cannot get property \"lev2Svc\" without inject"
662
+ },
663
+ {
664
+ "seq": 3,
665
+ "type": "direct-access",
666
+ "ok": false,
667
+ "name": "Error",
668
+ "message": "cannot get property \"lev2Svc\" without inject"
669
+ }
670
+ ],
671
+ "badConsumerState": 3,
672
+ "checks": {
673
+ "consumerPendingBeforeProvider": true,
674
+ "noTypeErrorWhilePending": true,
675
+ "consumerActiveAfterProvider": true,
676
+ "activatedInOneLoaderEpoch": true,
677
+ "consumerApplyRecorded": true,
678
+ "badConsumerFailedNotPending": true,
679
+ "directAccessThrowsBefore": true,
680
+ "directAccessThrowsAfter": true
681
+ },
682
+ "verdict": "supported"
683
+ },
684
+ "limitations": [
685
+ "loader-level synthetic service; no real DSH service or plugin is involved.",
686
+ "\"one epoch\" means one ctx.loader.await() after provider insertion, not a wall-clock guarantee.",
687
+ "The direct-access negative control uses ctx.get(\"lev2Probe\", false) only to report the caught error; the access under test is the undeclared ctx.lev2Svc read.",
688
+ "Cordis 4 requires inject for service access; the throw is the documented strict model, not a defect.",
689
+ "Single process, single machine; activationMs includes loader bookkeeping, not service construction cost."
690
+ ]
691
+ },
692
+ {
693
+ "practice": "LEV-4",
694
+ "title": "事件 / waterfall next-vs-veto and listener failure modes",
695
+ "level": "context-level",
696
+ "status": "measured",
697
+ "hypothesis": "A waterfall listener that calls next() preserves the next listener and the inner callback; one that returns a veto value short-circuits both. A throwing notification listener is contained only in parallel mode (all listeners run, AggregateError); emit/serial/bail stop at the throwing listener, which is the documented dispatch behavior.",
698
+ "environment": {
699
+ "node": "v24.22.1",
700
+ "platform": "linux/x64",
701
+ "kernel": "6.6.114.1-microsoft-standard-WSL2",
702
+ "cpus": 20,
703
+ "workspace": "<standards>",
704
+ "dsh": {
705
+ "version": "0.2.2-alpha.2",
706
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/dsh",
707
+ "packageJsonSha256": "fcfbff65bc9a7beae1d5bd56af6eb166b61dcd22bd20234653d2b8d56d09aa63"
708
+ },
709
+ "cordis": {
710
+ "version": "4.0.6-alpha.1",
711
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis",
712
+ "libSha256": "e2154e2748ace61fa34631cd3081b9fe71c8d744e5a6b90d36c659f44d6470eb"
713
+ },
714
+ "loader": {
715
+ "version": "1.0.7-alpha.1",
716
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis-plugin-loader",
717
+ "libSha256": "bf2cf32746fa3a249ca95518993795a7f49595fe26772ceefc5fc9b645e92a0e"
718
+ },
719
+ "include": {
720
+ "version": "1.0.11-alpha.1",
721
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis-plugin-include",
722
+ "libSha256": "ad5eaf3b80a8fd9945466486493a0d1a8e9590895bcde01e5673f3d07b4fd306",
723
+ "used": false,
724
+ "note": "not used by this harness; recorded because the install ships it"
725
+ },
726
+ "appBoot": {
727
+ "version": "0.2.2-alpha.2",
728
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/dsh-app-boot",
729
+ "libSha256": "dbe13b8cbfe6a183efab4cb363bbcbc35e4ee171b5f8c798390d0371ca9ea4ff",
730
+ "used": [
731
+ "LEV-8"
732
+ ]
733
+ },
734
+ "checkout": {
735
+ "path": "<dsh-checkout>",
736
+ "commit": "ce7073d51254c26cd63b22a60835b8f948deb447",
737
+ "dirty": true,
738
+ "dirtyEntries": 3,
739
+ "packageVersion": "0.2.2-alpha.2",
740
+ "dirtyPaths": [
741
+ "M package.json",
742
+ " M packages/boot/app-boot/src/profile-resolution/resolver.ts",
743
+ " M pnpm-lock.yaml"
744
+ ]
745
+ },
746
+ "note": "installed npm packages have no gitHead; checkout commit is provenance for the source tree, not a byte-identity claim"
747
+ },
748
+ "input": {
749
+ "fixtureFiles": [
750
+ {
751
+ "path": "examples/boost/lev12458-fixture/lev4/notify.mjs",
752
+ "sha256": "772cebb5b770bf159ec530ef6599c00229d55045fa290822243e6707a44ee770"
753
+ },
754
+ {
755
+ "path": "examples/boost/lev12458-fixture/lev4/waterfall.mjs",
756
+ "sha256": "48126a6e3442ee93db51ad75227ffa5d8bf71c6db9892731dd7b2085d0237d45"
757
+ }
758
+ ],
759
+ "composition": "real Cordis Context + ctx.plugin() fibers; no Loader/Include",
760
+ "events": [
761
+ "lev4/waterfall",
762
+ "lev4/emit",
763
+ "lev4/parallel",
764
+ "lev4/serial",
765
+ "lev4/bail"
766
+ ],
767
+ "listeners": "L1 records, L2 records then throws Error(\"L2-boom\"), L3 records; listeners return undefined so bail is not triggered by a return value",
768
+ "implementation": "Cordis 4.0.6-alpha.1 EventsService.waterfall/emit/parallel/serial/bail"
769
+ },
770
+ "command": "node examples/boost/lev12458-bench.mjs --only LEV-4 --runs 5",
771
+ "negativeControl": {
772
+ "description": "The veto waterfall case is the negative of the next() case: the same two listeners, but L1 does not call next(). The probe must see L2 and the inner callback skipped; if both cases produced the same calls, the probe would be blind to short-circuiting.",
773
+ "expected": "next: [L1,L2,inner] + inner-result; veto: [L1] + veto-L1",
774
+ "observed": {
775
+ "next": {
776
+ "case": "waterfall-next",
777
+ "calls": [
778
+ "L1",
779
+ "L2",
780
+ "inner"
781
+ ],
782
+ "result": "inner-result",
783
+ "expectedCalls": [
784
+ "L1",
785
+ "L2",
786
+ "inner"
787
+ ],
788
+ "expectedResult": "inner-result",
789
+ "pass": true,
790
+ "source": "lev4/waterfall.mjs: listener 1 calls next() or returns \"veto-L1\"; listener 2 calls next()"
791
+ },
792
+ "veto": {
793
+ "case": "waterfall-veto",
794
+ "calls": [
795
+ "L1"
796
+ ],
797
+ "result": "veto-L1",
798
+ "expectedCalls": [
799
+ "L1"
800
+ ],
801
+ "expectedResult": "veto-L1",
802
+ "pass": true,
803
+ "source": "lev4/waterfall.mjs: listener 1 calls next() or returns \"veto-L1\"; listener 2 calls next()"
804
+ }
805
+ }
806
+ },
807
+ "result": {
808
+ "waterfall": [
809
+ {
810
+ "case": "waterfall-next",
811
+ "calls": [
812
+ "L1",
813
+ "L2",
814
+ "inner"
815
+ ],
816
+ "result": "inner-result",
817
+ "expectedCalls": [
818
+ "L1",
819
+ "L2",
820
+ "inner"
821
+ ],
822
+ "expectedResult": "inner-result",
823
+ "pass": true,
824
+ "source": "lev4/waterfall.mjs: listener 1 calls next() or returns \"veto-L1\"; listener 2 calls next()"
825
+ },
826
+ {
827
+ "case": "waterfall-veto",
828
+ "calls": [
829
+ "L1"
830
+ ],
831
+ "result": "veto-L1",
832
+ "expectedCalls": [
833
+ "L1"
834
+ ],
835
+ "expectedResult": "veto-L1",
836
+ "pass": true,
837
+ "source": "lev4/waterfall.mjs: listener 1 calls next() or returns \"veto-L1\"; listener 2 calls next()"
838
+ }
839
+ ],
840
+ "notifications": [
841
+ {
842
+ "mode": "emit",
843
+ "calls": [
844
+ "L1",
845
+ "L2"
846
+ ],
847
+ "outcome": {
848
+ "resolved": false,
849
+ "errorName": "Error",
850
+ "errorMessage": "L2-boom",
851
+ "aggregateErrors": null
852
+ },
853
+ "expected": {
854
+ "calls": [
855
+ "L1",
856
+ "L2"
857
+ ],
858
+ "resolved": false,
859
+ "errorName": "Error"
860
+ },
861
+ "pass": true,
862
+ "documentedBehavior": "synchronous listeners; a throw propagates and the remaining listeners do not run"
863
+ },
864
+ {
865
+ "mode": "parallel",
866
+ "calls": [
867
+ "L1",
868
+ "L2",
869
+ "L3"
870
+ ],
871
+ "outcome": {
872
+ "resolved": false,
873
+ "errorName": "AggregateError",
874
+ "errorMessage": "",
875
+ "aggregateErrors": 1
876
+ },
877
+ "expected": {
878
+ "calls": [
879
+ "L1",
880
+ "L2",
881
+ "L3"
882
+ ],
883
+ "resolved": false,
884
+ "errorName": "AggregateError"
885
+ },
886
+ "pass": true,
887
+ "documentedBehavior": "all listeners run concurrently; rejections are collected into an AggregateError after they settle"
888
+ },
889
+ {
890
+ "mode": "serial",
891
+ "calls": [
892
+ "L1",
893
+ "L2"
894
+ ],
895
+ "outcome": {
896
+ "resolved": false,
897
+ "errorName": "Error",
898
+ "errorMessage": "L2-boom",
899
+ "aggregateErrors": null
900
+ },
901
+ "expected": {
902
+ "calls": [
903
+ "L1",
904
+ "L2"
905
+ ],
906
+ "resolved": false,
907
+ "errorName": "Error"
908
+ },
909
+ "pass": true,
910
+ "documentedBehavior": "listeners are awaited in order until a bail value; a throw rejects and the remaining listeners do not run"
911
+ },
912
+ {
913
+ "mode": "bail",
914
+ "calls": [
915
+ "L1",
916
+ "L2"
917
+ ],
918
+ "outcome": {
919
+ "resolved": false,
920
+ "errorName": "Error",
921
+ "errorMessage": "L2-boom",
922
+ "aggregateErrors": null
923
+ },
924
+ "expected": {
925
+ "calls": [
926
+ "L1",
927
+ "L2"
928
+ ],
929
+ "resolved": false,
930
+ "errorName": "Error"
931
+ },
932
+ "pass": true,
933
+ "documentedBehavior": "listeners run synchronously until a bail value; a throw propagates and the remaining listeners do not run"
934
+ }
935
+ ],
936
+ "checks": {
937
+ "waterfallNextPreservesNextListener": true,
938
+ "waterfallVetoShortCircuits": true,
939
+ "emitThrowStopsRemaining": true,
940
+ "parallelRunsAllDespiteThrow": true,
941
+ "serialThrowStopsRemaining": true,
942
+ "bailThrowStopsRemaining": true,
943
+ "modesDistinguishable": true
944
+ },
945
+ "verdict": "supported"
946
+ },
947
+ "limitations": [
948
+ "context-level: real Context + real plugin fibers, but no Loader/Include entry and no DSH-specific event contract.",
949
+ "Synthetic event names and listeners; the result describes Cordis EventsService dispatch, not every DSH event.",
950
+ "The throwing listener is identical in all four modes; only the dispatch mode changes, so the comparison is controlled.",
951
+ "No latency numbers: this is a behavior probe, not a benchmark."
952
+ ]
953
+ },
954
+ {
955
+ "practice": "LEV-5",
956
+ "title": "seam / 隔离: two loader isolate realms, provider swap without consumer edits",
957
+ "level": "loader-level",
958
+ "status": "measured",
959
+ "hypothesis": "Two named loader isolate labels give two consumers separate lev5Svc instances; restarting provider A changes consumer A to the new implementation with no consumer edit while consumer B keeps b1; a root-scope consumer stays PENDING (no cross-realm bleed).",
960
+ "environment": {
961
+ "node": "v24.22.1",
962
+ "platform": "linux/x64",
963
+ "kernel": "6.6.114.1-microsoft-standard-WSL2",
964
+ "cpus": 20,
965
+ "workspace": "<standards>",
966
+ "dsh": {
967
+ "version": "0.2.2-alpha.2",
968
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/dsh",
969
+ "packageJsonSha256": "fcfbff65bc9a7beae1d5bd56af6eb166b61dcd22bd20234653d2b8d56d09aa63"
970
+ },
971
+ "cordis": {
972
+ "version": "4.0.6-alpha.1",
973
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis",
974
+ "libSha256": "e2154e2748ace61fa34631cd3081b9fe71c8d744e5a6b90d36c659f44d6470eb"
975
+ },
976
+ "loader": {
977
+ "version": "1.0.7-alpha.1",
978
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis-plugin-loader",
979
+ "libSha256": "bf2cf32746fa3a249ca95518993795a7f49595fe26772ceefc5fc9b645e92a0e"
980
+ },
981
+ "include": {
982
+ "version": "1.0.11-alpha.1",
983
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis-plugin-include",
984
+ "libSha256": "ad5eaf3b80a8fd9945466486493a0d1a8e9590895bcde01e5673f3d07b4fd306",
985
+ "used": false,
986
+ "note": "not used by this harness; recorded because the install ships it"
987
+ },
988
+ "appBoot": {
989
+ "version": "0.2.2-alpha.2",
990
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/dsh-app-boot",
991
+ "libSha256": "dbe13b8cbfe6a183efab4cb363bbcbc35e4ee171b5f8c798390d0371ca9ea4ff",
992
+ "used": [
993
+ "LEV-8"
994
+ ]
995
+ },
996
+ "checkout": {
997
+ "path": "<dsh-checkout>",
998
+ "commit": "ce7073d51254c26cd63b22a60835b8f948deb447",
999
+ "dirty": true,
1000
+ "dirtyEntries": 3,
1001
+ "packageVersion": "0.2.2-alpha.2",
1002
+ "dirtyPaths": [
1003
+ "M package.json",
1004
+ " M packages/boot/app-boot/src/profile-resolution/resolver.ts",
1005
+ " M pnpm-lock.yaml"
1006
+ ]
1007
+ },
1008
+ "note": "installed npm packages have no gitHead; checkout commit is provenance for the source tree, not a byte-identity claim"
1009
+ },
1010
+ "input": {
1011
+ "fixtureFiles": [
1012
+ {
1013
+ "path": "examples/boost/lev12458-fixture/lev5/consumer.mjs",
1014
+ "sha256": "90772371d5bb8499b1577f7a49a2466929086d125653a37cf2aa6da12164a0af"
1015
+ },
1016
+ {
1017
+ "path": "examples/boost/lev12458-fixture/lev5/probe.mjs",
1018
+ "sha256": "1236c9ebc9568bec7cfb708f3db84c01bf093369d1768403ca9e8ae0f2090d7c"
1019
+ },
1020
+ {
1021
+ "path": "examples/boost/lev12458-fixture/lev5/provider.mjs",
1022
+ "sha256": "eeb4c1a521949b77c647ae34b0541b6b4bff6d0e8cec4cf69e4e067a8f439d82"
1023
+ }
1024
+ ],
1025
+ "composition": "real Context + Loader; providers and consumers carry isolate: { lev5Svc: \"realm-a\" | \"realm-b\" }; root consumer carries no isolate",
1026
+ "entries": [
1027
+ {
1028
+ "id": "lev5-provider-a",
1029
+ "isolate": {
1030
+ "lev5Svc": "realm-a"
1031
+ },
1032
+ "config": {
1033
+ "version": "a1",
1034
+ "realm": "a"
1035
+ }
1036
+ },
1037
+ {
1038
+ "id": "lev5-provider-b",
1039
+ "isolate": {
1040
+ "lev5Svc": "realm-b"
1041
+ },
1042
+ "config": {
1043
+ "version": "b1",
1044
+ "realm": "b"
1045
+ }
1046
+ },
1047
+ {
1048
+ "id": "lev5-consumer-a",
1049
+ "isolate": {
1050
+ "lev5Svc": "realm-a"
1051
+ },
1052
+ "config": {
1053
+ "consumer": "a"
1054
+ }
1055
+ },
1056
+ {
1057
+ "id": "lev5-consumer-b",
1058
+ "isolate": {
1059
+ "lev5Svc": "realm-b"
1060
+ },
1061
+ "config": {
1062
+ "consumer": "b"
1063
+ }
1064
+ },
1065
+ {
1066
+ "id": "lev5-consumer-root",
1067
+ "config": {
1068
+ "consumer": "root"
1069
+ }
1070
+ }
1071
+ ],
1072
+ "providerSwap": "ctx.loader.update(\"lev5-provider-a\", { config: { version: \"a2\", realm: \"a\" } }) + one loader.await()",
1073
+ "consumerHashBefore": "90772371d5bb8499b1577f7a49a2466929086d125653a37cf2aa6da12164a0af"
1074
+ },
1075
+ "command": "node examples/boost/lev12458-bench.mjs --only LEV-5 --runs 5",
1076
+ "negativeControl": {
1077
+ "fixture": "lev5/consumer.mjs without an isolate label (entry lev5-consumer-root)",
1078
+ "description": "A consumer outside both realms injects the same service name. If isolate leaked, it would activate with one of the two providers. It must stay PENDING and the root scope must not expose lev5Svc.",
1079
+ "expected": "root consumer state PENDING (0), ctx.get(\"lev5Svc\", false) === undefined, zero foreign-realm apply events",
1080
+ "observed": {
1081
+ "rootConsumerState": 0,
1082
+ "rootConsumerStateName": "PENDING",
1083
+ "rootServiceVisible": false,
1084
+ "crossRealmApplies": 0
1085
+ }
1086
+ },
1087
+ "result": {
1088
+ "before": {
1089
+ "states": {
1090
+ "providerA": {
1091
+ "state": 2,
1092
+ "stateName": "ACTIVE",
1093
+ "uid": 4
1094
+ },
1095
+ "providerB": {
1096
+ "state": 2,
1097
+ "stateName": "ACTIVE",
1098
+ "uid": 5
1099
+ },
1100
+ "consumerA": {
1101
+ "state": 2,
1102
+ "stateName": "ACTIVE",
1103
+ "uid": 6
1104
+ },
1105
+ "consumerB": {
1106
+ "state": 2,
1107
+ "stateName": "ACTIVE",
1108
+ "uid": 7
1109
+ },
1110
+ "consumerRoot": {
1111
+ "state": 0,
1112
+ "stateName": "PENDING",
1113
+ "uid": 8
1114
+ }
1115
+ },
1116
+ "probe": {
1117
+ "events": [
1118
+ {
1119
+ "seq": 1,
1120
+ "type": "apply",
1121
+ "consumer": "a",
1122
+ "version": "a1",
1123
+ "realm": "a",
1124
+ "providerUid": 4,
1125
+ "uid": 6
1126
+ },
1127
+ {
1128
+ "seq": 2,
1129
+ "type": "apply",
1130
+ "consumer": "b",
1131
+ "version": "b1",
1132
+ "realm": "b",
1133
+ "providerUid": 5,
1134
+ "uid": 7
1135
+ }
1136
+ ]
1137
+ },
1138
+ "rootServiceVisible": false
1139
+ },
1140
+ "after": {
1141
+ "states": {
1142
+ "providerA": {
1143
+ "state": 2,
1144
+ "stateName": "ACTIVE",
1145
+ "uid": 4
1146
+ },
1147
+ "providerB": {
1148
+ "state": 2,
1149
+ "stateName": "ACTIVE",
1150
+ "uid": 5
1151
+ },
1152
+ "consumerA": {
1153
+ "state": 2,
1154
+ "stateName": "ACTIVE",
1155
+ "uid": 6
1156
+ },
1157
+ "consumerB": {
1158
+ "state": 2,
1159
+ "stateName": "ACTIVE",
1160
+ "uid": 7
1161
+ },
1162
+ "consumerRoot": {
1163
+ "state": 0,
1164
+ "stateName": "PENDING",
1165
+ "uid": 8
1166
+ }
1167
+ },
1168
+ "probe": {
1169
+ "events": [
1170
+ {
1171
+ "seq": 1,
1172
+ "type": "apply",
1173
+ "consumer": "a",
1174
+ "version": "a1",
1175
+ "realm": "a",
1176
+ "providerUid": 4,
1177
+ "uid": 6
1178
+ },
1179
+ {
1180
+ "seq": 2,
1181
+ "type": "apply",
1182
+ "consumer": "b",
1183
+ "version": "b1",
1184
+ "realm": "b",
1185
+ "providerUid": 5,
1186
+ "uid": 7
1187
+ },
1188
+ {
1189
+ "seq": 3,
1190
+ "type": "dispose",
1191
+ "consumer": "a",
1192
+ "version": "a1",
1193
+ "realm": "a"
1194
+ },
1195
+ {
1196
+ "seq": 4,
1197
+ "type": "apply",
1198
+ "consumer": "a",
1199
+ "version": "a2",
1200
+ "realm": "a",
1201
+ "providerUid": 4,
1202
+ "uid": 6
1203
+ }
1204
+ ]
1205
+ },
1206
+ "rootServiceVisible": false
1207
+ },
1208
+ "swapMs": 0.344,
1209
+ "applies": [
1210
+ {
1211
+ "seq": 1,
1212
+ "type": "apply",
1213
+ "consumer": "a",
1214
+ "version": "a1",
1215
+ "realm": "a",
1216
+ "providerUid": 4,
1217
+ "uid": 6
1218
+ },
1219
+ {
1220
+ "seq": 2,
1221
+ "type": "apply",
1222
+ "consumer": "b",
1223
+ "version": "b1",
1224
+ "realm": "b",
1225
+ "providerUid": 5,
1226
+ "uid": 7
1227
+ },
1228
+ {
1229
+ "seq": 4,
1230
+ "type": "apply",
1231
+ "consumer": "a",
1232
+ "version": "a2",
1233
+ "realm": "a",
1234
+ "providerUid": 4,
1235
+ "uid": 6
1236
+ }
1237
+ ],
1238
+ "disposes": [
1239
+ {
1240
+ "seq": 3,
1241
+ "type": "dispose",
1242
+ "consumer": "a",
1243
+ "version": "a1",
1244
+ "realm": "a"
1245
+ }
1246
+ ],
1247
+ "appliesFor": {
1248
+ "a": [
1249
+ "a1",
1250
+ "a2"
1251
+ ],
1252
+ "b": [
1253
+ "b1"
1254
+ ]
1255
+ },
1256
+ "impls": [
1257
+ {
1258
+ "version": "b1",
1259
+ "realm": "b",
1260
+ "providerUid": 5
1261
+ },
1262
+ {
1263
+ "version": "a2",
1264
+ "realm": "a",
1265
+ "providerUid": 4
1266
+ }
1267
+ ],
1268
+ "consumerHashBefore": "90772371d5bb8499b1577f7a49a2466929086d125653a37cf2aa6da12164a0af",
1269
+ "consumerHashAfter": "90772371d5bb8499b1577f7a49a2466929086d125653a37cf2aa6da12164a0af",
1270
+ "consumerSourceUnchanged": true,
1271
+ "leakedServices": [],
1272
+ "crossRealmApplies": 0,
1273
+ "checks": {
1274
+ "twoRealmProvidersActive": true,
1275
+ "twoConsumersActive": true,
1276
+ "consumerAOwnsRealmA": true,
1277
+ "consumerBOwnsRealmB": true,
1278
+ "consumerBUnaffectedByProviderASwap": true,
1279
+ "consumerAReactedToSwap": true,
1280
+ "rootConsumerStaysPending": true,
1281
+ "rootScopeHasNoService": true,
1282
+ "crossRealmBleedZero": true,
1283
+ "distinctProviderInstances": true,
1284
+ "consumerSourceUnchanged": true,
1285
+ "providerSwapWasOneLoaderAwait": true
1286
+ },
1287
+ "verdict": "supported"
1288
+ },
1289
+ "limitations": [
1290
+ "loader-level isolate, not OS/process isolation and not a security boundary.",
1291
+ "leakedServices() is not an exported Cordis/DSH API in these versions; the array is computed from root-scope visibility plus foreign-realm apply events and is labelled as a probe.",
1292
+ "Same process: the two realms share the Node runtime, module cache, and event bus.",
1293
+ "Provider replacement restarts the provider entry; it does not hot-swap a value inside a running provider object.",
1294
+ "Isolate is configuration-sensitive: a missing or mismatched label makes a consumer PENDING rather than falling back to the root scope (this is what the negative control observes)."
1295
+ ]
1296
+ },
1297
+ {
1298
+ "practice": "LEV-8",
1299
+ "title": "组合 / bundle patch composition with one toggled insert",
1300
+ "level": "loader-level",
1301
+ "status": "measured",
1302
+ "hypothesis": "Two bundle patch layers (base + sample) compose into the base rows plus exactly one sample row; disabling that sample row with a later profile overlay changes only its disabled flag, leaving both base rows byte-identical. A toggle whose target is absent warns and changes nothing; a malformed insert is rejected by the real parser.",
1303
+ "environment": {
1304
+ "node": "v24.22.1",
1305
+ "platform": "linux/x64",
1306
+ "kernel": "6.6.114.1-microsoft-standard-WSL2",
1307
+ "cpus": 20,
1308
+ "workspace": "<standards>",
1309
+ "dsh": {
1310
+ "version": "0.2.2-alpha.2",
1311
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/dsh",
1312
+ "packageJsonSha256": "fcfbff65bc9a7beae1d5bd56af6eb166b61dcd22bd20234653d2b8d56d09aa63"
1313
+ },
1314
+ "cordis": {
1315
+ "version": "4.0.6-alpha.1",
1316
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis",
1317
+ "libSha256": "e2154e2748ace61fa34631cd3081b9fe71c8d744e5a6b90d36c659f44d6470eb"
1318
+ },
1319
+ "loader": {
1320
+ "version": "1.0.7-alpha.1",
1321
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis-plugin-loader",
1322
+ "libSha256": "bf2cf32746fa3a249ca95518993795a7f49595fe26772ceefc5fc9b645e92a0e"
1323
+ },
1324
+ "include": {
1325
+ "version": "1.0.11-alpha.1",
1326
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/cordis-plugin-include",
1327
+ "libSha256": "ad5eaf3b80a8fd9945466486493a0d1a8e9590895bcde01e5673f3d07b4fd306",
1328
+ "used": false,
1329
+ "note": "not used by this harness; recorded because the install ships it"
1330
+ },
1331
+ "appBoot": {
1332
+ "version": "0.2.2-alpha.2",
1333
+ "package": "/tmp/dsh022/node_modules/@deepseek-ai/dsh-app-boot",
1334
+ "libSha256": "dbe13b8cbfe6a183efab4cb363bbcbc35e4ee171b5f8c798390d0371ca9ea4ff",
1335
+ "used": [
1336
+ "LEV-8"
1337
+ ]
1338
+ },
1339
+ "checkout": {
1340
+ "path": "<dsh-checkout>",
1341
+ "commit": "ce7073d51254c26cd63b22a60835b8f948deb447",
1342
+ "dirty": true,
1343
+ "dirtyEntries": 3,
1344
+ "packageVersion": "0.2.2-alpha.2",
1345
+ "dirtyPaths": [
1346
+ "M package.json",
1347
+ " M packages/boot/app-boot/src/profile-resolution/resolver.ts",
1348
+ " M pnpm-lock.yaml"
1349
+ ]
1350
+ },
1351
+ "note": "installed npm packages have no gitHead; checkout commit is provenance for the source tree, not a byte-identity claim"
1352
+ },
1353
+ "input": {
1354
+ "fixtureFiles": [
1355
+ {
1356
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/base/base-a.mjs",
1357
+ "sha256": "b56991b91c5d03da3450bf82cd841b12df46067f49b620aa72c7379133338935"
1358
+ },
1359
+ {
1360
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/base/base-b.mjs",
1361
+ "sha256": "96358dd97abf577aa63ff2ff57d117b5e84865229175309c895c2309110d98af"
1362
+ },
1363
+ {
1364
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/base/cordis.patch.yml",
1365
+ "sha256": "d8f50e38d3a01fac07a5b996673350369b655d93ba920ddb12a30873039fd8a1"
1366
+ },
1367
+ {
1368
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/base/package.json",
1369
+ "sha256": "068b2e3d02b9cc1c810332d20a039fabf40dad7775d360ca83f99f442095c4bb"
1370
+ },
1371
+ {
1372
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/sample/cordis.patch.yml",
1373
+ "sha256": "0cf0b1f7dcd5e12793c86dbd6b117dab1359c584fed20a6e4ebb3fc75ebba1d1"
1374
+ },
1375
+ {
1376
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/sample/package.json",
1377
+ "sha256": "b902e27591e066ea828e961cfede0501135ea092c4e57b3e12ad951e9e7c10d5"
1378
+ },
1379
+ {
1380
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/sample/sample.mjs",
1381
+ "sha256": "be4f97cb04fddf6c0e79c65722865dfbd675d82bb55f8f74a5de7f231573d2bd"
1382
+ },
1383
+ {
1384
+ "path": "examples/boost/lev12458-fixture/lev8/invalid.patch.yml",
1385
+ "sha256": "1800b4b57da821ae4d0034f94f0d8162e81fb1443161668bd288811d2bebb579"
1386
+ },
1387
+ {
1388
+ "path": "examples/boost/lev12458-fixture/lev8/toggle.patch.yml",
1389
+ "sha256": "2ea0908f7b51fe17d81503b97539eeaab6702c806311b202ded66e5c0bcf94e8"
1390
+ }
1391
+ ],
1392
+ "bundles": [
1393
+ {
1394
+ "name": "@dsh-fixtures/lev8-base",
1395
+ "dir": "examples/boost/lev12458-fixture/lev8/bundles/base",
1396
+ "patch": [
1397
+ "./cordis.patch.yml"
1398
+ ],
1399
+ "resolved": [
1400
+ "examples/boost/lev12458-fixture/lev8/bundles/base/cordis.patch.yml"
1401
+ ]
1402
+ },
1403
+ {
1404
+ "name": "@dsh-fixtures/lev8-sample",
1405
+ "dir": "examples/boost/lev12458-fixture/lev8/bundles/sample",
1406
+ "patch": [
1407
+ "./cordis.patch.yml"
1408
+ ],
1409
+ "resolved": [
1410
+ "examples/boost/lev12458-fixture/lev8/bundles/sample/cordis.patch.yml"
1411
+ ]
1412
+ }
1413
+ ],
1414
+ "overlay": {
1415
+ "file": "examples/boost/lev12458-fixture/lev8/toggle.patch.yml",
1416
+ "patches": [
1417
+ {
1418
+ "id": "lev8-sample",
1419
+ "disabled": true
1420
+ }
1421
+ ]
1422
+ },
1423
+ "composeCalls": [
1424
+ "composeEntries([base])",
1425
+ "composeEntries([base, sample])",
1426
+ "composeEntries([base, sample, toggle])",
1427
+ "composeEntries([base, toggle])"
1428
+ ],
1429
+ "parser": "dsh-app-boot loadOverlayPatches + composeEntries + bundlePatchPaths + bundlePatchFiles"
1430
+ },
1431
+ "command": "node examples/boost/lev12458-bench.mjs --only LEV-8 --runs 5",
1432
+ "negativeControl": {
1433
+ "description": "The toggle overlay is applied without the sample layer. A sound composer must warn that lev8-sample is not found and leave the base rows untouched; it must not invent or disable anything. Separately, invalid.patch.yml has a non-list insert and must be rejected by the real parser.",
1434
+ "expected": "warning mentions lev8-sample not found; rows equal base-only; malformed patch throws",
1435
+ "observed": {
1436
+ "missingTargetWarnings": [
1437
+ "patch: entry \"lev8-sample\" not found"
1438
+ ],
1439
+ "missingTargetRowIds": [
1440
+ "lev8-base-a",
1441
+ "lev8-base-b"
1442
+ ],
1443
+ "malformedPatch": {
1444
+ "threw": true,
1445
+ "message": "patch.insert?.forEach is not a function"
1446
+ }
1447
+ }
1448
+ },
1449
+ "result": {
1450
+ "compositions": {
1451
+ "baseOnly": {
1452
+ "name": "base-only",
1453
+ "rows": [
1454
+ {
1455
+ "id": "lev8-base-a",
1456
+ "name": "file://<standards>/examples/boost/lev12458-fixture/lev8/bundles/base/base-a.mjs",
1457
+ "config": {
1458
+ "label": "base-a"
1459
+ }
1460
+ },
1461
+ {
1462
+ "id": "lev8-base-b",
1463
+ "name": "file://<standards>/examples/boost/lev12458-fixture/lev8/bundles/base/base-b.mjs",
1464
+ "config": {
1465
+ "label": "base-b"
1466
+ }
1467
+ }
1468
+ ],
1469
+ "warnings": []
1470
+ },
1471
+ "enabled": {
1472
+ "name": "base+sample",
1473
+ "rows": [
1474
+ {
1475
+ "id": "lev8-base-a",
1476
+ "name": "file://<standards>/examples/boost/lev12458-fixture/lev8/bundles/base/base-a.mjs",
1477
+ "config": {
1478
+ "label": "base-a"
1479
+ }
1480
+ },
1481
+ {
1482
+ "id": "lev8-base-b",
1483
+ "name": "file://<standards>/examples/boost/lev12458-fixture/lev8/bundles/base/base-b.mjs",
1484
+ "config": {
1485
+ "label": "base-b"
1486
+ }
1487
+ },
1488
+ {
1489
+ "id": "lev8-sample",
1490
+ "name": "file://<standards>/examples/boost/lev12458-fixture/lev8/bundles/sample/sample.mjs",
1491
+ "config": {
1492
+ "label": "sample",
1493
+ "enabled": true
1494
+ }
1495
+ }
1496
+ ],
1497
+ "warnings": []
1498
+ },
1499
+ "disabled": {
1500
+ "name": "base+sample+toggle",
1501
+ "rows": [
1502
+ {
1503
+ "id": "lev8-base-a",
1504
+ "name": "file://<standards>/examples/boost/lev12458-fixture/lev8/bundles/base/base-a.mjs",
1505
+ "config": {
1506
+ "label": "base-a"
1507
+ }
1508
+ },
1509
+ {
1510
+ "id": "lev8-base-b",
1511
+ "name": "file://<standards>/examples/boost/lev12458-fixture/lev8/bundles/base/base-b.mjs",
1512
+ "config": {
1513
+ "label": "base-b"
1514
+ }
1515
+ },
1516
+ {
1517
+ "id": "lev8-sample",
1518
+ "name": "file://<standards>/examples/boost/lev12458-fixture/lev8/bundles/sample/sample.mjs",
1519
+ "config": {
1520
+ "label": "sample",
1521
+ "enabled": true
1522
+ },
1523
+ "disabled": true
1524
+ }
1525
+ ],
1526
+ "warnings": []
1527
+ },
1528
+ "missingTarget": {
1529
+ "name": "base+toggle-without-sample",
1530
+ "rows": [
1531
+ {
1532
+ "id": "lev8-base-a",
1533
+ "name": "file://<standards>/examples/boost/lev12458-fixture/lev8/bundles/base/base-a.mjs",
1534
+ "config": {
1535
+ "label": "base-a"
1536
+ }
1537
+ },
1538
+ {
1539
+ "id": "lev8-base-b",
1540
+ "name": "file://<standards>/examples/boost/lev12458-fixture/lev8/bundles/base/base-b.mjs",
1541
+ "config": {
1542
+ "label": "base-b"
1543
+ }
1544
+ }
1545
+ ],
1546
+ "warnings": [
1547
+ "patch: entry \"lev8-sample\" not found"
1548
+ ]
1549
+ }
1550
+ },
1551
+ "diffs": {
1552
+ "baseToEnabled": {
1553
+ "added": [
1554
+ "lev8-sample"
1555
+ ],
1556
+ "removed": [],
1557
+ "changed": []
1558
+ },
1559
+ "enabledToDisabled": {
1560
+ "added": [],
1561
+ "removed": [],
1562
+ "changed": [
1563
+ {
1564
+ "id": "lev8-sample",
1565
+ "keys": [
1566
+ "disabled"
1567
+ ],
1568
+ "before": {
1569
+ "disabled": null
1570
+ },
1571
+ "after": {
1572
+ "disabled": true
1573
+ }
1574
+ }
1575
+ ]
1576
+ }
1577
+ },
1578
+ "schemaChecks": [
1579
+ {
1580
+ "label": "base-only",
1581
+ "ok": true,
1582
+ "issues": [],
1583
+ "rows": 2,
1584
+ "ids": [
1585
+ "lev8-base-a",
1586
+ "lev8-base-b"
1587
+ ]
1588
+ },
1589
+ {
1590
+ "label": "base+sample",
1591
+ "ok": true,
1592
+ "issues": [],
1593
+ "rows": 3,
1594
+ "ids": [
1595
+ "lev8-base-a",
1596
+ "lev8-base-b",
1597
+ "lev8-sample"
1598
+ ]
1599
+ },
1600
+ {
1601
+ "label": "base+sample+toggle",
1602
+ "ok": true,
1603
+ "issues": [],
1604
+ "rows": 3,
1605
+ "ids": [
1606
+ "lev8-base-a",
1607
+ "lev8-base-b",
1608
+ "lev8-sample"
1609
+ ]
1610
+ }
1611
+ ],
1612
+ "checks": {
1613
+ "twoBundleLayersLoaded": true,
1614
+ "baseRowsStableAcrossCompositions": true,
1615
+ "sampleInsertedOnce": true,
1616
+ "toggleOnlyChangesSampleDisabled": true,
1617
+ "validCompositionsHaveNoWarnings": true,
1618
+ "missingTargetIsWarnedAndInert": true,
1619
+ "malformedPatchRejected": true,
1620
+ "composedRowsPassLocalSchema": true,
1621
+ "evidenceCardValid": true
1622
+ },
1623
+ "verdict": "supported",
1624
+ "evidenceCardCheck": {
1625
+ "ok": true,
1626
+ "checkedPractices": [
1627
+ "LEV-1",
1628
+ "LEV-2",
1629
+ "LEV-4",
1630
+ "LEV-5",
1631
+ "LEV-8"
1632
+ ],
1633
+ "problems": [],
1634
+ "partial": false,
1635
+ "note": "validates every measurement row present in this JSON; partial when --only selected a subset"
1636
+ }
1637
+ },
1638
+ "limitations": [
1639
+ "Composition-only: no boot, no plugin import, no runtime activation. The evidence is about patch composition, not a full profile.",
1640
+ "The two bundle manifests are synthetic fixture packages; real bundles can have more layers, patches, and configs.",
1641
+ "composeEntries() starts from an empty root; this is not a full profile composition (which also has profile and user layers).",
1642
+ "The row schema check is a local whitelist of EntryOptions keys, not a published JSON Schema. The real parser was observed to accept unknown row keys; the malformed-insert case is rejected.",
1643
+ "The evidence-card check below validates this file's rows, not external or production evidence."
1644
+ ]
1645
+ }
1646
+ ],
1647
+ "fixture": {
1648
+ "directory": "examples/boost/lev12458-fixture",
1649
+ "files": [
1650
+ {
1651
+ "path": "examples/boost/lev12458-fixture/lev1/negative.mjs",
1652
+ "sha256": "7af25b9ebb44a35f7d1f26426d68c7cd58d50805f89c5702395bde1bb1e1ec95"
1653
+ },
1654
+ {
1655
+ "path": "examples/boost/lev12458-fixture/lev1/positive.mjs",
1656
+ "sha256": "17f3b6e654e426e1bad8f2308f80b2e4142986183c06942e5346c1780e70351e"
1657
+ },
1658
+ {
1659
+ "path": "examples/boost/lev12458-fixture/lev1/probe.mjs",
1660
+ "sha256": "6d1e26f8cdf2c0a8fd46a7841ce0efdfe064f36974cdefb16f42a45f52d3d6ff"
1661
+ },
1662
+ {
1663
+ "path": "examples/boost/lev12458-fixture/lev2/bad-consumer.mjs",
1664
+ "sha256": "ae3a958f328816bbd762787963e917d0dd139e9162d8ace2480b310e9b8bdcb2"
1665
+ },
1666
+ {
1667
+ "path": "examples/boost/lev12458-fixture/lev2/consumer.mjs",
1668
+ "sha256": "61a36fcdc3fedc8144cee81c9ac177f6f82c01cf6c8e39c28c83c3a65351468e"
1669
+ },
1670
+ {
1671
+ "path": "examples/boost/lev12458-fixture/lev2/direct.mjs",
1672
+ "sha256": "28b755809c3cb01610e63fbd1518c0fb40dc01321ec35c04af553eda310d900a"
1673
+ },
1674
+ {
1675
+ "path": "examples/boost/lev12458-fixture/lev2/probe.mjs",
1676
+ "sha256": "8bf09b3ccdffca9cd3d0d5305337d321f2481b12caeb22079099586b0de07bcc"
1677
+ },
1678
+ {
1679
+ "path": "examples/boost/lev12458-fixture/lev2/service-a.mjs",
1680
+ "sha256": "72943c114e806a4ec6594887a118f5240a41bfa9e44d37d26a70960e4e2b245c"
1681
+ },
1682
+ {
1683
+ "path": "examples/boost/lev12458-fixture/lev4/notify.mjs",
1684
+ "sha256": "772cebb5b770bf159ec530ef6599c00229d55045fa290822243e6707a44ee770"
1685
+ },
1686
+ {
1687
+ "path": "examples/boost/lev12458-fixture/lev4/waterfall.mjs",
1688
+ "sha256": "48126a6e3442ee93db51ad75227ffa5d8bf71c6db9892731dd7b2085d0237d45"
1689
+ },
1690
+ {
1691
+ "path": "examples/boost/lev12458-fixture/lev5/consumer.mjs",
1692
+ "sha256": "90772371d5bb8499b1577f7a49a2466929086d125653a37cf2aa6da12164a0af"
1693
+ },
1694
+ {
1695
+ "path": "examples/boost/lev12458-fixture/lev5/probe.mjs",
1696
+ "sha256": "1236c9ebc9568bec7cfb708f3db84c01bf093369d1768403ca9e8ae0f2090d7c"
1697
+ },
1698
+ {
1699
+ "path": "examples/boost/lev12458-fixture/lev5/provider.mjs",
1700
+ "sha256": "eeb4c1a521949b77c647ae34b0541b6b4bff6d0e8cec4cf69e4e067a8f439d82"
1701
+ },
1702
+ {
1703
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/base/base-a.mjs",
1704
+ "sha256": "b56991b91c5d03da3450bf82cd841b12df46067f49b620aa72c7379133338935"
1705
+ },
1706
+ {
1707
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/base/base-b.mjs",
1708
+ "sha256": "96358dd97abf577aa63ff2ff57d117b5e84865229175309c895c2309110d98af"
1709
+ },
1710
+ {
1711
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/base/cordis.patch.yml",
1712
+ "sha256": "d8f50e38d3a01fac07a5b996673350369b655d93ba920ddb12a30873039fd8a1"
1713
+ },
1714
+ {
1715
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/base/package.json",
1716
+ "sha256": "068b2e3d02b9cc1c810332d20a039fabf40dad7775d360ca83f99f442095c4bb"
1717
+ },
1718
+ {
1719
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/sample/cordis.patch.yml",
1720
+ "sha256": "0cf0b1f7dcd5e12793c86dbd6b117dab1359c584fed20a6e4ebb3fc75ebba1d1"
1721
+ },
1722
+ {
1723
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/sample/package.json",
1724
+ "sha256": "b902e27591e066ea828e961cfede0501135ea092c4e57b3e12ad951e9e7c10d5"
1725
+ },
1726
+ {
1727
+ "path": "examples/boost/lev12458-fixture/lev8/bundles/sample/sample.mjs",
1728
+ "sha256": "be4f97cb04fddf6c0e79c65722865dfbd675d82bb55f8f74a5de7f231573d2bd"
1729
+ },
1730
+ {
1731
+ "path": "examples/boost/lev12458-fixture/lev8/invalid.patch.yml",
1732
+ "sha256": "1800b4b57da821ae4d0034f94f0d8162e81fb1443161668bd288811d2bebb579"
1733
+ },
1734
+ {
1735
+ "path": "examples/boost/lev12458-fixture/lev8/toggle.patch.yml",
1736
+ "sha256": "2ea0908f7b51fe17d81503b97539eeaab6702c806311b202ded66e5c0bcf94e8"
1737
+ }
1738
+ ]
1739
+ },
1740
+ "limitations": [
1741
+ "Synthetic fixtures only: no DSH CLI, profile, bundle boot, real provider, network, API key, or user session data participates.",
1742
+ "The installed npm tree is DSH 0.2.2-alpha.2 with Cordis 4.0.6-alpha.1 / loader 1.0.7-alpha.1. npm packages carry no gitHead, so the checkout commit recorded below is provenance for the matching source tree, not proof that the installed bytes are identical.",
1743
+ "The checkout was dirty at run time (see environment.checkout.dirtyEntries); checkout commit + installed package versions are reported separately rather than conflated.",
1744
+ "Single WSL2 machine, single process, warm filesystem; latency numbers are observations from this fixture, not production profile guarantees.",
1745
+ "LEV-1/2/5 are loader-level and LEV-4 is context-level. None of these is a profile-level or end-to-end benchmark."
1746
+ ]
1747
+ }