dsh-standards 1.0.0 → 1.0.2

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 (471) hide show
  1. package/40-checker/README.md +2 -2
  2. package/40-checker/scripts/runtime-child.mjs +13 -0
  3. package/40-checker/src/cli.mjs +64 -5
  4. package/40-checker/src/manifest.mjs +20 -1
  5. package/40-checker/src/report.mjs +6 -1
  6. package/40-checker/src/semver.mjs +77 -11
  7. package/CHANGELOG.md +32 -0
  8. package/NOTICE +14 -0
  9. package/README.md +6 -6
  10. package/bin/dsh-standards.mjs +1 -0
  11. package/package.json +14 -5
  12. package/40-checker/.github/workflows/plugin-verify.yml +0 -70
  13. package/40-checker/results/boost/REPORT.md +0 -304
  14. package/40-checker/results/boost/lev12458.json +0 -1747
  15. package/40-checker/results/client/README.md +0 -16
  16. package/40-checker/results/entry/18/DDDMUC__dsh-free-search.json +0 -381
  17. package/40-checker/results/entry/18/DDDMUC__dsh-free-search.runtime.json +0 -34
  18. package/40-checker/results/entry/18/Ebony-Vinyl__dsh-our-free-model.json +0 -361
  19. package/40-checker/results/entry/18/Ebony-Vinyl__dsh-our-free-model.runtime.json +0 -34
  20. package/40-checker/results/entry/18/README.md +0 -24
  21. package/40-checker/results/entry/18/RUNTIME.md +0 -18
  22. package/40-checker/results/entry/18/SeaOf0__dsh-redteam-model.json +0 -391
  23. package/40-checker/results/entry/18/YuJunZhiXue__dsh-purge.json +0 -432
  24. package/40-checker/results/entry/18/ci-diet.json +0 -365
  25. package/40-checker/results/entry/18/ci-diet.runtime-attempt.json +0 -38
  26. package/40-checker/results/entry/18/daily-log.json +0 -357
  27. package/40-checker/results/entry/18/daily-log.runtime.json +0 -519
  28. package/40-checker/results/entry/18/fullbase/ATTRIBUTION.md +0 -29
  29. package/40-checker/results/entry/18/fullbase/DDDMUC__dsh-free-search.json +0 -99
  30. package/40-checker/results/entry/18/fullbase/Ebony-Vinyl__dsh-our-free-model.json +0 -95
  31. package/40-checker/results/entry/18/fullbase/REPORT.md +0 -261
  32. package/40-checker/results/entry/18/fullbase/SeaOf0__dsh-redteam-model.json +0 -144
  33. package/40-checker/results/entry/18/fullbase/YuJunZhiXue__dsh-purge.json +0 -106
  34. package/40-checker/results/entry/18/fullbase/ci-diet.json +0 -99
  35. package/40-checker/results/entry/18/fullbase/daily-log.json +0 -94
  36. package/40-checker/results/entry/18/fullbase/howmp__dsh-pentest.json +0 -104
  37. package/40-checker/results/entry/18/fullbase/kingcharleslzy-ai__dsh-purge.json +0 -143
  38. package/40-checker/results/entry/18/fullbase/liguobao__ds-harness-remote.json +0 -134
  39. package/40-checker/results/entry/18/fullbase/mmparko__dsh-purge.json +0 -138
  40. package/40-checker/results/entry/18/fullbase/project-memory.json +0 -108
  41. package/40-checker/results/entry/18/fullbase/qiushi.json +0 -94
  42. package/40-checker/results/entry/18/fullbase/shaobeichen__dsh-pocket.json +0 -94
  43. package/40-checker/results/entry/18/fullbase/status-rotator.json +0 -94
  44. package/40-checker/results/entry/18/fullbase/summary.json +0 -297
  45. package/40-checker/results/entry/18/fullbase/telemetry.json +0 -94
  46. package/40-checker/results/entry/18/fullbase/ui-auth.json +0 -94
  47. package/40-checker/results/entry/18/fullbase/verification.json +0 -94
  48. package/40-checker/results/entry/18/fullbase/ysr666__dsh-vision-router.json +0 -106
  49. package/40-checker/results/entry/18/howmp__dsh-pentest.json +0 -361
  50. package/40-checker/results/entry/18/kingcharleslzy-ai__dsh-purge.json +0 -411
  51. package/40-checker/results/entry/18/liguobao__ds-harness-remote.json +0 -379
  52. package/40-checker/results/entry/18/mmparko__dsh-purge.json +0 -441
  53. package/40-checker/results/entry/18/project-memory.json +0 -361
  54. package/40-checker/results/entry/18/project-memory.runtime.json +0 -519
  55. package/40-checker/results/entry/18/qiushi.json +0 -353
  56. package/40-checker/results/entry/18/qiushi.runtime.json +0 -519
  57. package/40-checker/results/entry/18/realweb/REPORT.md +0 -73
  58. package/40-checker/results/entry/18/realweb/SeaOf0__dsh-redteam-model.json +0 -104
  59. package/40-checker/results/entry/18/realweb/YuJunZhiXue__dsh-purge.json +0 -64
  60. package/40-checker/results/entry/18/realweb/howmp__dsh-pentest.json +0 -65
  61. package/40-checker/results/entry/18/realweb/kingcharleslzy-ai__dsh-purge.json +0 -75
  62. package/40-checker/results/entry/18/realweb/mmparko__dsh-purge.json +0 -70
  63. package/40-checker/results/entry/18/realweb/shaobeichen__dsh-pocket.json +0 -56
  64. package/40-checker/results/entry/18/realweb/summary.json +0 -196
  65. package/40-checker/results/entry/18/realweb/ui-auth.json +0 -56
  66. package/40-checker/results/entry/18/realweb/ysr666__dsh-vision-router.json +0 -61
  67. package/40-checker/results/entry/18/richbase/REPORT.md +0 -70
  68. package/40-checker/results/entry/18/richbase/SeaOf0__dsh-redteam-model.json +0 -61
  69. package/40-checker/results/entry/18/richbase/SeaOf0__dsh-redteam-model.log +0 -38
  70. package/40-checker/results/entry/18/shaobeichen__dsh-pocket.json +0 -363
  71. package/40-checker/results/entry/18/status-rotator.json +0 -362
  72. package/40-checker/results/entry/18/status-rotator.runtime.json +0 -519
  73. package/40-checker/results/entry/18/summary.json +0 -266
  74. package/40-checker/results/entry/18/targetonly/DDDMUC__dsh-free-search.json +0 -34
  75. package/40-checker/results/entry/18/targetonly/Ebony-Vinyl__dsh-our-free-model.json +0 -34
  76. package/40-checker/results/entry/18/targetonly/SeaOf0__dsh-redteam-model.json +0 -84
  77. package/40-checker/results/entry/18/targetonly/YuJunZhiXue__dsh-purge.json +0 -52
  78. package/40-checker/results/entry/18/targetonly/ci-diet.json +0 -34
  79. package/40-checker/results/entry/18/targetonly/daily-log.json +0 -34
  80. package/40-checker/results/entry/18/targetonly/howmp__dsh-pentest.json +0 -46
  81. package/40-checker/results/entry/18/targetonly/kingcharleslzy-ai__dsh-purge.json +0 -61
  82. package/40-checker/results/entry/18/targetonly/liguobao__ds-harness-remote.json +0 -39
  83. package/40-checker/results/entry/18/targetonly/mmparko__dsh-purge.json +0 -57
  84. package/40-checker/results/entry/18/targetonly/project-memory.json +0 -34
  85. package/40-checker/results/entry/18/targetonly/qiushi.json +0 -34
  86. package/40-checker/results/entry/18/targetonly/shaobeichen__dsh-pocket.json +0 -34
  87. package/40-checker/results/entry/18/targetonly/status-rotator.json +0 -34
  88. package/40-checker/results/entry/18/targetonly/summary.json +0 -133
  89. package/40-checker/results/entry/18/targetonly/telemetry.json +0 -34
  90. package/40-checker/results/entry/18/targetonly/ui-auth.json +0 -34
  91. package/40-checker/results/entry/18/targetonly/verification.json +0 -34
  92. package/40-checker/results/entry/18/targetonly/ysr666__dsh-vision-router.json +0 -43
  93. package/40-checker/results/entry/18/telemetry.json +0 -349
  94. package/40-checker/results/entry/18/ui-auth.json +0 -369
  95. package/40-checker/results/entry/18/verification.json +0 -358
  96. package/40-checker/results/entry/18/ysr666__dsh-vision-router.json +0 -409
  97. package/40-checker/results/fixtures/bad.json +0 -347
  98. package/40-checker/results/fixtures/bundle.json +0 -378
  99. package/40-checker/results/fixtures/good-listing.json +0 -382
  100. package/40-checker/results/fixtures/good-static.json +0 -322
  101. package/40-checker/results/fixtures/good.json +0 -375
  102. package/40-checker/results/fixtures/good.sarif +0 -274
  103. package/40-checker/results/flow/README.md +0 -19
  104. package/40-checker/results/flow/j3-j7-fixture.json +0 -51
  105. package/40-checker/results/flow/j5-j8-client-missing.json +0 -45
  106. package/40-checker/results/flow/j5-j8-good.json +0 -45
  107. package/40-checker/results/flow/journey-fixture-bundle.json +0 -90
  108. package/40-checker/results/flow/journey-fixture-j1-j2-j4-j6.json +0 -107
  109. package/40-checker/results/flow/real/DDDMUC__dsh-free-search.json +0 -297
  110. package/40-checker/results/flow/real/REPORT.md +0 -335
  111. package/40-checker/results/flow/real/YuJunZhiXue__dsh-purge.json +0 -317
  112. package/40-checker/results/flow/real/ci-diet.json +0 -351
  113. package/40-checker/results/flow/real/daily-log.json +0 -286
  114. package/40-checker/results/flow/real/index.json +0 -325
  115. package/40-checker/results/flow/real/project-memory.json +0 -290
  116. package/40-checker/results/flow/real/qiushi.json +0 -277
  117. package/40-checker/results/flow/real/status-rotator.json +0 -275
  118. package/40-checker/results/flow/real/telemetry.json +0 -178
  119. package/40-checker/results/flow/real/ui-auth.json +0 -288
  120. package/40-checker/results/flow/real/verification.json +0 -265
  121. package/40-checker/results/governance/co-maintainer-packet.md +0 -85
  122. package/40-checker/results/l1/ci-diet.json +0 -406
  123. package/40-checker/results/l1/npm-dsh-telemetry-redactor-0.1.0.json +0 -390
  124. package/40-checker/results/l1/npm-dsh-verification-receipt-0.1.0.json +0 -406
  125. package/40-checker/results/l1/npm-qiushi-dsh-evidence-audit-0.1.0.json +0 -394
  126. package/40-checker/results/l1/npm-zzerx-dsh-plugin-daily-log-0.4.3.json +0 -405
  127. package/40-checker/results/l1/project-memory.json +0 -402
  128. package/40-checker/results/l1/source-DDDMUC__dsh-free-search.json +0 -422
  129. package/40-checker/results/l1/source-Ebony-Vinyl__dsh-our-free-model.json +0 -421
  130. package/40-checker/results/l1/source-SeaOf0__dsh-redteam-model.json +0 -432
  131. package/40-checker/results/l1/source-YuJunZhiXue__dsh-purge.json +0 -473
  132. package/40-checker/results/l1/source-howmp__dsh-pentest.json +0 -402
  133. package/40-checker/results/l1/source-kingcharleslzy-ai__dsh-purge.json +0 -452
  134. package/40-checker/results/l1/source-liguobao__ds-harness-remote.json +0 -420
  135. package/40-checker/results/l1/source-mmparko__dsh-purge.json +0 -482
  136. package/40-checker/results/l1/source-shaobeichen__dsh-pocket.json +0 -404
  137. package/40-checker/results/l1/source-ysr666__dsh-vision-router.json +0 -384
  138. package/40-checker/results/l1/status-rotator.json +0 -403
  139. package/40-checker/results/l1/ui-auth.json +0 -429
  140. package/40-checker/results/l1/ysr666__dsh-vision-router.published.json +0 -384
  141. package/40-checker/results/lev3/REPORT.md +0 -342
  142. package/40-checker/results/lev3/lev3.json +0 -4835
  143. package/40-checker/results/lev6/REPORT.md +0 -460
  144. package/40-checker/results/lev6/capture-sample.json +0 -241
  145. package/40-checker/results/lev6/capture.jsonl +0 -4
  146. package/40-checker/results/lev6/lev6.json +0 -245
  147. package/40-checker/results/lev6/replication-r1.json +0 -245
  148. package/40-checker/results/levels/README.md +0 -16
  149. package/40-checker/results/levels/dsh-plugin-doctor.json +0 -141
  150. package/40-checker/results/levels/dsh-plugin-guide.json +0 -136
  151. package/40-checker/results/m1/dsh-ci-diet-0.5.2.json +0 -352
  152. package/40-checker/results/m1/dsh-status-rotator-0.38.0.json +0 -349
  153. package/40-checker/results/m1/dsh-telemetry-redactor-0.1.0.json +0 -336
  154. package/40-checker/results/m1/dsh-ui-auth-0.7.1.json +0 -356
  155. package/40-checker/results/m1/dsh-verification-receipt-0.1.0.json +0 -344
  156. package/40-checker/results/m1/index-level.json +0 -13
  157. package/40-checker/results/m1/levels.json +0 -72100
  158. package/40-checker/results/m1/qiushi-dsh-evidence-audit-0.1.0.json +0 -339
  159. package/40-checker/results/m1/yolk_vat-y-dsh-project-memory-0.6.7.json +0 -348
  160. package/40-checker/results/m1/zzerx-dsh-plugin-daily-log-0.4.3.json +0 -344
  161. package/40-checker/results/m2/dsh-ci-diet.json +0 -421
  162. package/40-checker/results/m2/dsh-ci-diet.unshare-landlock.json +0 -424
  163. package/40-checker/results/m2/dsh-ci-diet.unshare.json +0 -423
  164. package/40-checker/results/m2/fixture-bundle.image.json +0 -404
  165. package/40-checker/results/m2/fixture-bundle.json +0 -392
  166. package/40-checker/results/m2/fixture-bundle.landlock.json +0 -396
  167. package/40-checker/results/m2/fixture-bundle.unshare.json +0 -395
  168. package/40-checker/results/m2/fs-write.json +0 -338
  169. package/40-checker/results/m2/hang.json +0 -31
  170. package/40-checker/results/m2/hang.unshare-landlock.json +0 -34
  171. package/40-checker/results/m2/hang.unshare.json +0 -33
  172. package/40-checker/results/m2/project-memory.json +0 -417
  173. package/40-checker/results/m2/status-rotator.json +0 -418
  174. package/40-checker/results/m2/ui-auth.json +0 -444
  175. package/40-checker/results/negative/bad-entry.json +0 -345
  176. package/40-checker/results/negative/no-entry.json +0 -345
  177. package/40-checker/results/negative/no-patch.json +0 -344
  178. package/40-checker/results/negative/root-missing.json +0 -344
  179. package/40-checker/results/negative/root-missing.runtime.json +0 -30
  180. package/40-checker/results/negative/summary.json +0 -51
  181. package/40-checker/results/negative/workspace.json +0 -344
  182. package/40-checker/results/patched/Ebony-Vinyl__dsh-our-free-model.json +0 -334
  183. package/40-checker/results/patched/Ebony-Vinyl__dsh-our-free-model.overlay.json +0 -335
  184. package/40-checker/results/patched/SeaOf0__dsh-redteam-model.json +0 -315
  185. package/40-checker/results/patched/SeaOf0__dsh-redteam-model.overlay.json +0 -316
  186. package/40-checker/results/patched/mmparko__dsh-purge.json +0 -357
  187. package/40-checker/results/patched/mmparko__dsh-purge.overlay.json +0 -358
  188. package/40-checker/results/patched/shaobeichen__dsh-pocket.json +0 -315
  189. package/40-checker/results/patched/shaobeichen__dsh-pocket.overlay.json +0 -316
  190. package/40-checker/results/real/DDDMUC__dsh-free-search.json +0 -344
  191. package/40-checker/results/real/Ebony-Vinyl__dsh-our-free-model.json +0 -343
  192. package/40-checker/results/real/SeaOf0__dsh-redteam-model.json +0 -354
  193. package/40-checker/results/real/YuJunZhiXue__dsh-purge.json +0 -395
  194. package/40-checker/results/real/howmp__dsh-pentest.json +0 -324
  195. package/40-checker/results/real/kingcharleslzy-ai__dsh-purge.json +0 -374
  196. package/40-checker/results/real/liguobao__ds-harness-remote.json +0 -342
  197. package/40-checker/results/real/mmparko__dsh-purge.json +0 -404
  198. package/40-checker/results/real/shaobeichen__dsh-pocket.json +0 -326
  199. package/40-checker/results/real/ysr666__dsh-vision-router.json +0 -372
  200. package/40-checker/results/real/ysr666__dsh-vision-router.listing.json +0 -378
  201. package/40-checker/results/round-robin/compare.json +0 -52
  202. package/40-checker/results/round-robin/runner-a.json +0 -9
  203. package/40-checker/results/round-robin/runner-b.json +0 -9
  204. package/40-checker/results/sample20/123dbl__dsh-side-session.json +0 -344
  205. package/40-checker/results/sample20/173787247__dsh-wsl-dns.json +0 -360
  206. package/40-checker/results/sample20/863683348__dsh-insight.json +0 -375
  207. package/40-checker/results/sample20/Ansellwan__DSH-Custom-Wallpaper.json +0 -344
  208. package/40-checker/results/sample20/Jamailar__beav-deepseek-harness.json +0 -341
  209. package/40-checker/results/sample20/ManoloRemiddi__DSH-Metafolder-Plugin.json +0 -344
  210. package/40-checker/results/sample20/NEAZ71eve__dsh-tool-github.json +0 -384
  211. package/40-checker/results/sample20/README.md +0 -3
  212. package/40-checker/results/sample20/RINGOLINK__dsh-desktop-shell.json +0 -352
  213. package/40-checker/results/sample20/Zxznb666__dsh-qoder-cn-subagent.json +0 -349
  214. package/40-checker/results/sample20/agent-mobile__dsh-mobile-gateway.json +0 -353
  215. package/40-checker/results/sample20/fangqiing__dsh-knowledge-lite.json +0 -359
  216. package/40-checker/results/sample20/fzy0517__deepseek-harness-session-cleaner.json +0 -344
  217. package/40-checker/results/sample20/gjy1992__dsh-diagram.json +0 -350
  218. package/40-checker/results/sample20/mrme000m__dsh-prime-orchestrator.json +0 -414
  219. package/40-checker/results/sample20/redstonedust__dsh-solidworks-copilot.json +0 -362
  220. package/40-checker/results/sample20/summary.json +0 -234
  221. package/40-checker/results/sample20/w2112515__dsh-remote-host.json +0 -344
  222. package/40-checker/results/sample20/wkfedor__deepseek-harness-voice-input.json +0 -350
  223. package/40-checker/results/sample20/xfgil__dsh-hot-reloader.json +0 -344
  224. package/40-checker/results/sample20/yizhiyizhi0128__dsh-peak-scheduler.json +0 -360
  225. package/40-checker/results/sample20-ci/123dbl__dsh-side-session.json +0 -344
  226. package/40-checker/results/sample20-ci/173787247__dsh-wsl-dns.json +0 -360
  227. package/40-checker/results/sample20-ci/863683348__dsh-insight.json +0 -375
  228. package/40-checker/results/sample20-ci/Ansellwan__DSH-Custom-Wallpaper.json +0 -344
  229. package/40-checker/results/sample20-ci/Jamailar__beav-deepseek-harness.json +0 -367
  230. package/40-checker/results/sample20-ci/ManoloRemiddi__DSH-Metafolder-Plugin.json +0 -344
  231. package/40-checker/results/sample20-ci/NEAZ71eve__dsh-tool-github.json +0 -392
  232. package/40-checker/results/sample20-ci/README.md +0 -5
  233. package/40-checker/results/sample20-ci/RINGOLINK__dsh-desktop-shell.json +0 -361
  234. package/40-checker/results/sample20-ci/Zxznb666__dsh-qoder-cn-subagent.json +0 -349
  235. package/40-checker/results/sample20-ci/agent-mobile__dsh-mobile-gateway.json +0 -384
  236. package/40-checker/results/sample20-ci/fangqiing__dsh-knowledge-lite.json +0 -360
  237. package/40-checker/results/sample20-ci/fzy0517__deepseek-harness-session-cleaner.json +0 -354
  238. package/40-checker/results/sample20-ci/gjy1992__dsh-diagram.json +0 -381
  239. package/40-checker/results/sample20-ci/mrme000m__dsh-prime-orchestrator.json +0 -452
  240. package/40-checker/results/sample20-ci/redstonedust__dsh-solidworks-copilot.json +0 -371
  241. package/40-checker/results/sample20-ci/summary.json +0 -195
  242. package/40-checker/results/sample20-ci/w2112515__dsh-remote-host.json +0 -399
  243. package/40-checker/results/sample20-ci/wkfedor__deepseek-harness-voice-input.json +0 -358
  244. package/40-checker/results/sample20-ci/xfgil__dsh-hot-reloader.json +0 -344
  245. package/40-checker/results/sample20-ci/yizhiyizhi0128__dsh-peak-scheduler.json +0 -370
  246. package/40-checker/results/sample20-ci/zed1902209846-dotcom__DPwhale-plugin.json +0 -231
  247. package/40-checker/results/sample60/123dbl__dsh-side-session.json +0 -344
  248. package/40-checker/results/sample60/173787247__dsh-wsl-dns.json +0 -360
  249. package/40-checker/results/sample60/863683348__dsh-insight.json +0 -375
  250. package/40-checker/results/sample60/Anionex__dsh-turn-rewind.json +0 -349
  251. package/40-checker/results/sample60/Ansellwan__DSH-Custom-Wallpaper.json +0 -344
  252. package/40-checker/results/sample60/Ebony-Vinyl__EAC-Pack.json +0 -352
  253. package/40-checker/results/sample60/EricWang1358__dsh-web-studyhub.json +0 -376
  254. package/40-checker/results/sample60/GanyuanRan__Aegis.json +0 -349
  255. package/40-checker/results/sample60/HiSeax__dsh-codely.json +0 -358
  256. package/40-checker/results/sample60/Jamailar__beav-deepseek-harness.json +0 -341
  257. package/40-checker/results/sample60/ManoloRemiddi__DSH-Metafolder-Plugin.json +0 -344
  258. package/40-checker/results/sample60/MichengAI__dsh-archive-manager.json +0 -357
  259. package/40-checker/results/sample60/MichengAI__dsh-im-connect.json +0 -347
  260. package/40-checker/results/sample60/MindLab-Research__dsh-generative-ui.json +0 -350
  261. package/40-checker/results/sample60/NEAZ71eve__dsh-tool-github.json +0 -384
  262. package/40-checker/results/sample60/README.md +0 -7
  263. package/40-checker/results/sample60/RINGOLINK__dsh-desktop-shell.json +0 -352
  264. package/40-checker/results/sample60/SeanTolstoyevski__dsh-code-review.json +0 -352
  265. package/40-checker/results/sample60/Tasihi89__dsh-talk-map.json +0 -344
  266. package/40-checker/results/sample60/Tyan66666__billion-context-dsh.json +0 -469
  267. package/40-checker/results/sample60/V1ki__dsh-plugin-subscriptions.json +0 -350
  268. package/40-checker/results/sample60/Yu-tao-Li__dsh-computer-use-win.json +0 -341
  269. package/40-checker/results/sample60/ZSeven-W__dsh-ios.json +0 -344
  270. package/40-checker/results/sample60/Zxznb666__dsh-qoder-cn-subagent.json +0 -349
  271. package/40-checker/results/sample60/agent-mobile__dsh-mobile-gateway.json +0 -353
  272. package/40-checker/results/sample60/c3cvld7aag__fujiang-dsh.json +0 -361
  273. package/40-checker/results/sample60/cxzrdxy__dsh-file-explorer.json +0 -389
  274. package/40-checker/results/sample60/dhicoc__dsh-reverse-skill.json +0 -341
  275. package/40-checker/results/sample60/fangqiing__dsh-knowledge-lite.json +0 -359
  276. package/40-checker/results/sample60/fwerkor__local-shell-mcp.json +0 -369
  277. package/40-checker/results/sample60/fzy0517__deepseek-harness-session-cleaner.json +0 -344
  278. package/40-checker/results/sample60/gjy1992__dsh-diagram.json +0 -350
  279. package/40-checker/results/sample60/howmp__dsh-pentest.json +0 -341
  280. package/40-checker/results/sample60/linhay__harmony-next.skills.json +0 -344
  281. package/40-checker/results/sample60/liustack__modsearch.json +0 -371
  282. package/40-checker/results/sample60/mmparko__dsh-purge.json +0 -372
  283. package/40-checker/results/sample60/mrme000m__dsh-prime-orchestrator.json +0 -414
  284. package/40-checker/results/sample60/omdsh-dev__dsh_workflow.json +0 -439
  285. package/40-checker/results/sample60/redstonedust__dsh-solidworks-copilot.json +0 -362
  286. package/40-checker/results/sample60/seriousz158__dsh-memory.json +0 -350
  287. package/40-checker/results/sample60/shanliuling__dsh-image-gen.json +0 -353
  288. package/40-checker/results/sample60/shanliuling__skills-link.json +0 -344
  289. package/40-checker/results/sample60/shengsheng90__DSH-taskboard.json +0 -341
  290. package/40-checker/results/sample60/sjh9714__dsh-win32.json +0 -374
  291. package/40-checker/results/sample60/skymecode__deepseek-harness-for-vscode.json +0 -351
  292. package/40-checker/results/sample60/sopaco__terrain.json +0 -352
  293. package/40-checker/results/sample60/summary.json +0 -658
  294. package/40-checker/results/sample60/tinqiao-oss__engramory.json +0 -352
  295. package/40-checker/results/sample60/tong-io__tongflow.json +0 -359
  296. package/40-checker/results/sample60/vibeinging__dsh-desktop.json +0 -382
  297. package/40-checker/results/sample60/w2112515__dsh-remote-host.json +0 -344
  298. package/40-checker/results/sample60/wkfedor__deepseek-harness-voice-input.json +0 -350
  299. package/40-checker/results/sample60/wz20__dsh-dafeiyu-dot.json +0 -349
  300. package/40-checker/results/sample60/xfgil__dsh-hot-reloader.json +0 -344
  301. package/40-checker/results/sample60/yi-yezhiqiu__dsh-prompt-market.json +0 -360
  302. package/40-checker/results/sample60/yizhiyizhi0128__dsh-peak-scheduler.json +0 -360
  303. package/40-checker/results/sample60/yjh051108__dsh-routing-suite.json +0 -366
  304. package/40-checker/results/sample60-ci/123dbl__dsh-side-session.json +0 -344
  305. package/40-checker/results/sample60-ci/173787247__dsh-wsl-dns.json +0 -360
  306. package/40-checker/results/sample60-ci/863683348__dsh-insight.json +0 -375
  307. package/40-checker/results/sample60-ci/Anionex__dsh-turn-rewind.json +0 -379
  308. package/40-checker/results/sample60-ci/Ansellwan__DSH-Custom-Wallpaper.json +0 -344
  309. package/40-checker/results/sample60-ci/Ebony-Vinyl__EAC-Pack.json +0 -362
  310. package/40-checker/results/sample60-ci/EricWang1358__dsh-web-studyhub.json +0 -378
  311. package/40-checker/results/sample60-ci/GanyuanRan__Aegis.json +0 -349
  312. package/40-checker/results/sample60-ci/HiSeax__dsh-codely.json +0 -368
  313. package/40-checker/results/sample60-ci/Jamailar__beav-deepseek-harness.json +0 -367
  314. package/40-checker/results/sample60-ci/LiarMTTT__TavernWeave.json +0 -231
  315. package/40-checker/results/sample60-ci/ManoloRemiddi__DSH-Metafolder-Plugin.json +0 -344
  316. package/40-checker/results/sample60-ci/MichengAI__dsh-archive-manager.json +0 -395
  317. package/40-checker/results/sample60-ci/MichengAI__dsh-im-connect.json +0 -404
  318. package/40-checker/results/sample60-ci/MindLab-Research__dsh-generative-ui.json +0 -410
  319. package/40-checker/results/sample60-ci/NEAZ71eve__dsh-tool-github.json +0 -392
  320. package/40-checker/results/sample60-ci/README.md +0 -7
  321. package/40-checker/results/sample60-ci/RINGOLINK__dsh-desktop-shell.json +0 -361
  322. package/40-checker/results/sample60-ci/Ruler4396__dsh-launcher.json +0 -231
  323. package/40-checker/results/sample60-ci/SeanTolstoyevski__dsh-code-review.json +0 -363
  324. package/40-checker/results/sample60-ci/Tasihi89__dsh-talk-map.json +0 -372
  325. package/40-checker/results/sample60-ci/Tyan66666__billion-context-dsh.json +0 -469
  326. package/40-checker/results/sample60-ci/V1ki__dsh-plugin-subscriptions.json +0 -368
  327. package/40-checker/results/sample60-ci/Yu-tao-Li__dsh-computer-use-win.json +0 -349
  328. package/40-checker/results/sample60-ci/ZSeven-W__dsh-ios.json +0 -344
  329. package/40-checker/results/sample60-ci/Zxznb666__dsh-qoder-cn-subagent.json +0 -349
  330. package/40-checker/results/sample60-ci/agent-mobile__dsh-mobile-gateway.json +0 -384
  331. package/40-checker/results/sample60-ci/c3cvld7aag__fujiang-dsh.json +0 -361
  332. package/40-checker/results/sample60-ci/cxzrdxy__dsh-file-explorer.json +0 -399
  333. package/40-checker/results/sample60-ci/dhicoc__dsh-reverse-skill.json +0 -352
  334. package/40-checker/results/sample60-ci/fangqiing__dsh-knowledge-lite.json +0 -360
  335. package/40-checker/results/sample60-ci/fwerkor__local-shell-mcp.json +0 -387
  336. package/40-checker/results/sample60-ci/fzy0517__deepseek-harness-session-cleaner.json +0 -354
  337. package/40-checker/results/sample60-ci/gjy1992__dsh-diagram.json +0 -381
  338. package/40-checker/results/sample60-ci/howmp__dsh-pentest.json +0 -361
  339. package/40-checker/results/sample60-ci/linhay__harmony-next.skills.json +0 -344
  340. package/40-checker/results/sample60-ci/liustack__modsearch.json +0 -382
  341. package/40-checker/results/sample60-ci/mmparko__dsh-purge.json +0 -441
  342. package/40-checker/results/sample60-ci/mrme000m__dsh-prime-orchestrator.json +0 -452
  343. package/40-checker/results/sample60-ci/omdsh-dev__dsh_workflow.json +0 -439
  344. package/40-checker/results/sample60-ci/plastic-labs__honcho.json +0 -231
  345. package/40-checker/results/sample60-ci/redstonedust__dsh-solidworks-copilot.json +0 -371
  346. package/40-checker/results/sample60-ci/seriousz158__dsh-memory.json +0 -351
  347. package/40-checker/results/sample60-ci/shanliuling__dsh-image-gen.json +0 -382
  348. package/40-checker/results/sample60-ci/shanliuling__skills-link.json +0 -344
  349. package/40-checker/results/sample60-ci/shengsheng90__DSH-taskboard.json +0 -370
  350. package/40-checker/results/sample60-ci/sjh9714__dsh-win32.json +0 -410
  351. package/40-checker/results/sample60-ci/skymecode__deepseek-harness-for-vscode.json +0 -391
  352. package/40-checker/results/sample60-ci/sopaco__deepwiki-rs.json +0 -231
  353. package/40-checker/results/sample60-ci/sopaco__terrain.json +0 -352
  354. package/40-checker/results/sample60-ci/summary.json +0 -555
  355. package/40-checker/results/sample60-ci/tinqiao-oss__engramory.json +0 -362
  356. package/40-checker/results/sample60-ci/tong-io__tongflow.json +0 -393
  357. package/40-checker/results/sample60-ci/vibeinging__dsh-desktop.json +0 -555
  358. package/40-checker/results/sample60-ci/w2112515__dsh-remote-host.json +0 -399
  359. package/40-checker/results/sample60-ci/wkfedor__deepseek-harness-voice-input.json +0 -358
  360. package/40-checker/results/sample60-ci/wz20__dsh-dafeiyu-dot.json +0 -390
  361. package/40-checker/results/sample60-ci/xfgil__dsh-hot-reloader.json +0 -344
  362. package/40-checker/results/sample60-ci/yi-yezhiqiu__dsh-prompt-market.json +0 -373
  363. package/40-checker/results/sample60-ci/yizhiyizhi0128__dsh-peak-scheduler.json +0 -370
  364. package/40-checker/results/sample60-ci/yjh051108__dsh-routing-suite.json +0 -437
  365. package/40-checker/results/sample60-ci/zed1902209846-dotcom__DPwhale-plugin.json +0 -231
  366. package/40-checker/results/triage/REPORT.md +0 -317
  367. package/40-checker/results/triage/evidence/g2-rejections.txt +0 -63
  368. package/40-checker/results/triage/evidence/purge-baseline-0.2.1-rc.5.json +0 -51
  369. package/40-checker/results/triage/evidence/purge-baseline-0.2.2-alpha.2.json +0 -51
  370. package/40-checker/results/triage/evidence/purge-postinstall.txt +0 -62
  371. package/40-checker/results/triage/evidence/purge-with-profile-0.2.1-rc.5.json +0 -71
  372. package/40-checker/results/triage/evidence/purge-with-profile-0.2.2-alpha.2.json +0 -71
  373. package/40-checker/results/triage/evidence/semver-matrix.json +0 -32
  374. package/40-checker/results/triage/triage.json +0 -295
  375. package/40-checker/results/webapp/README.md +0 -10
  376. package/40-checker/results/webapp/summary.json +0 -46
  377. package/40-checker/results/webapp/web-auth.json +0 -19
  378. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/client-export.json +0 -7
  379. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/installed-package.json +0 -123
  380. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/probe.json +0 -129
  381. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/shot.png +0 -0
  382. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/summary.md +0 -16
  383. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/client-export.json +0 -7
  384. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/installed-package.json +0 -76
  385. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/probe.json +0 -129
  386. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/shot.png +0 -0
  387. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/summary.md +0 -16
  388. package/40-checker/results/webruntime/REPORT.md +0 -253
  389. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/client-export.json +0 -7
  390. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/installed-package.json +0 -97
  391. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/probe.json +0 -129
  392. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/shot.png +0 -0
  393. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/summary.md +0 -16
  394. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/client-export.json +0 -7
  395. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/installed-package.json +0 -98
  396. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/probe.json +0 -136
  397. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/shot.png +0 -0
  398. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/summary.md +0 -16
  399. package/40-checker/results/webruntime/ci-diet/client-export.json +0 -10
  400. package/40-checker/results/webruntime/ci-diet/installed-package.json +0 -100
  401. package/40-checker/results/webruntime/ci-diet/probe.json +0 -129
  402. package/40-checker/results/webruntime/ci-diet/shot.png +0 -0
  403. package/40-checker/results/webruntime/ci-diet/summary.md +0 -16
  404. package/40-checker/results/webruntime/daily-log/client-export.json +0 -10
  405. package/40-checker/results/webruntime/daily-log/installed-package.json +0 -113
  406. package/40-checker/results/webruntime/daily-log/probe.json +0 -129
  407. package/40-checker/results/webruntime/daily-log/shot.png +0 -0
  408. package/40-checker/results/webruntime/daily-log/summary.md +0 -16
  409. package/40-checker/results/webruntime/howmp__dsh-pentest/client-export.json +0 -7
  410. package/40-checker/results/webruntime/howmp__dsh-pentest/installed-package.json +0 -90
  411. package/40-checker/results/webruntime/howmp__dsh-pentest/probe.json +0 -129
  412. package/40-checker/results/webruntime/howmp__dsh-pentest/shot.png +0 -0
  413. package/40-checker/results/webruntime/howmp__dsh-pentest/summary.md +0 -16
  414. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/client-export.json +0 -7
  415. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/installed-package.json +0 -164
  416. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/probe.json +0 -129
  417. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/shot.png +0 -0
  418. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/summary.md +0 -16
  419. package/40-checker/results/webruntime/liguobao__ds-harness-remote/client-export.json +0 -7
  420. package/40-checker/results/webruntime/liguobao__ds-harness-remote/installed-package.json +0 -166
  421. package/40-checker/results/webruntime/liguobao__ds-harness-remote/probe.json +0 -129
  422. package/40-checker/results/webruntime/liguobao__ds-harness-remote/shot.png +0 -0
  423. package/40-checker/results/webruntime/liguobao__ds-harness-remote/summary.md +0 -16
  424. package/40-checker/results/webruntime/local-pre-ci/README.md +0 -67
  425. package/40-checker/results/webruntime/local-pre-ci/client-exports.json +0 -158
  426. package/40-checker/results/webruntime/local-pre-ci/dsh-free-search.probe.json +0 -119
  427. package/40-checker/results/webruntime/local-pre-ci/dsh-pocket.probe.json +0 -119
  428. package/40-checker/results/webruntime/local-pre-ci/dsh-redteam-model.probe.json +0 -119
  429. package/40-checker/results/webruntime/local-pre-ci/qiushi-shell-only.probe.json +0 -104
  430. package/40-checker/results/webruntime/local-pre-ci/ui-auth-no-login.fail.json +0 -52
  431. package/40-checker/results/webruntime/local-pre-ci/ui-auth.probe.json +0 -123
  432. package/40-checker/results/webruntime/mmparko__dsh-purge/client-export.json +0 -7
  433. package/40-checker/results/webruntime/mmparko__dsh-purge/installed-package.json +0 -95
  434. package/40-checker/results/webruntime/mmparko__dsh-purge/probe.json +0 -136
  435. package/40-checker/results/webruntime/mmparko__dsh-purge/shot.png +0 -0
  436. package/40-checker/results/webruntime/mmparko__dsh-purge/summary.md +0 -16
  437. package/40-checker/results/webruntime/project-memory/client-export.json +0 -7
  438. package/40-checker/results/webruntime/project-memory/installed-package.json +0 -118
  439. package/40-checker/results/webruntime/project-memory/probe.json +0 -129
  440. package/40-checker/results/webruntime/project-memory/shot.png +0 -0
  441. package/40-checker/results/webruntime/project-memory/summary.md +0 -16
  442. package/40-checker/results/webruntime/qiushi/client-export.json +0 -7
  443. package/40-checker/results/webruntime/qiushi/installed-package.json +0 -84
  444. package/40-checker/results/webruntime/qiushi/probe.json +0 -114
  445. package/40-checker/results/webruntime/qiushi/shot.png +0 -0
  446. package/40-checker/results/webruntime/qiushi/summary.md +0 -16
  447. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/client-export.json +0 -7
  448. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/installed-package.json +0 -85
  449. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/probe.json +0 -129
  450. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/shot.png +0 -0
  451. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/summary.md +0 -16
  452. package/40-checker/results/webruntime/status-rotator/client-export.json +0 -7
  453. package/40-checker/results/webruntime/status-rotator/installed-package.json +0 -107
  454. package/40-checker/results/webruntime/status-rotator/probe.json +0 -129
  455. package/40-checker/results/webruntime/status-rotator/shot.png +0 -0
  456. package/40-checker/results/webruntime/status-rotator/summary.md +0 -16
  457. package/40-checker/results/webruntime/summary.json +0 -323
  458. package/40-checker/results/webruntime/telemetry/probe.json +0 -20
  459. package/40-checker/results/webruntime/telemetry/summary.md +0 -4
  460. package/40-checker/results/webruntime/ui-auth/client-export.json +0 -7
  461. package/40-checker/results/webruntime/ui-auth/installed-package.json +0 -94
  462. package/40-checker/results/webruntime/ui-auth/probe.json +0 -129
  463. package/40-checker/results/webruntime/ui-auth/shot.png +0 -0
  464. package/40-checker/results/webruntime/ui-auth/summary.md +0 -16
  465. package/40-checker/results/webruntime/verification/probe.json +0 -20
  466. package/40-checker/results/webruntime/verification/summary.md +0 -4
  467. package/40-checker/results/webruntime/ysr666__dsh-vision-router/client-export.json +0 -7
  468. package/40-checker/results/webruntime/ysr666__dsh-vision-router/installed-package.json +0 -142
  469. package/40-checker/results/webruntime/ysr666__dsh-vision-router/probe.json +0 -129
  470. package/40-checker/results/webruntime/ysr666__dsh-vision-router/shot.png +0 -0
  471. package/40-checker/results/webruntime/ysr666__dsh-vision-router/summary.md +0 -16
@@ -1,342 +0,0 @@
1
- # LEV-3 — volatile config does not remount the plugin (real-loader measurement)
2
-
3
- - **Status:** `measured` (loader-level)
4
- - **Practice:** LEV-3 / volatile 免重挂
5
- - **Evidence file:** [lev3.json](lev3.json)
6
- - **Generated at:** `2026-10-31T15:53:03.695Z` (JSON `generatedAt`)
7
- - **Harness:** [lev3-loader-bench.mjs](../../../examples/boost/lev3-loader-bench.mjs) — sha256 `dd40d361ed58557064a67083b8aa611dc87a8d8c05ff9d9ab70e5b091e9887b1`
8
- - **Fixture:** [lev3-fixture/](../../../examples/boost/lev3-fixture/) ([cordis.yml](../../../examples/boost/lev3-fixture/cordis.yml), [plugin.mjs](../../../examples/boost/lev3-fixture/plugin.mjs), [probe.mjs](../../../examples/boost/lev3-fixture/probe.mjs))
9
-
10
- ## 0. One-line result
11
-
12
- Across **two real loader runtimes**, 20/20 YAML-only changes to the volatile
13
- field (`greeting`) updated the running volatile reference with **0 plugin
14
- re-applies, 0 effect disposals, and 20 `loader/volatile-update` events**. The
15
- control arm (20 changes to the ordinary field `mode`) re-applied the plugin and
16
- disposed/reinstalled its effect in **20/20** iterations. The arms are not
17
- identical, so the probe is falsifiable.
18
-
19
- ## 1. Runtime matrix
20
-
21
- | Host | DSH | Cordis | Loader | Include | Schemastery | Boot path | Git |
22
- |---|---|---|---|---|---|---|---|
23
- | `installed` | `0.2.1-rc.5` | `4.0.5` | `1.0.6` | `1.0.10` (bundled in app-boot) | `3.18.5` | real `dsh-app-boot` `boot()` | n/a (npm install) |
24
- | `checkout` | `0.2.2-alpha.2` | `4.0.6-alpha.1` | `1.0.7-alpha.1` | `1.0.11-alpha.1` (standalone copy) | `3.18.6-alpha.1` | direct `Context` + `Loader` + `Include` | `ce7073d51254c26cd63b22a60835b8f948deb447` (dirty: 3 unrelated entries) |
25
-
26
- The checkout host copies the vendored packages into a temporary
27
- `node_modules` sandbox because this checkout has no linked `node_modules` for
28
- Cordis; the copied source files are hashed in the JSON
29
- (`hosts.checkout.runtime.source`). The installed app-boot statically bundles
30
- its own `Include` class, so `versions.include` there is the installed
31
- standalone package version of the same release; `runtime.includeBoot` records
32
- which implementation actually ran and its hash. The installed host is booted through the
33
- installed app-boot, which also runs DSH's startup audit. **The installed DSH is
34
- not the checkout version** — this is reported, not papered over.
35
-
36
- Node `v24.22.1`, Linux/WSL2 x86_64.
37
-
38
- ## 2. Method
39
-
40
- ### 2.1 Composition
41
-
42
- The YAML is a real Loader entry list, mounted through the file-backed
43
- `@deepseek-ai/cordis-plugin-include` tree:
44
-
45
- ```yaml
46
- - id: lev3-probe
47
- name: ./probe.mjs
48
- - id: lev3-fixture
49
- name: ./plugin.mjs
50
- config:
51
- mode: mode-0
52
- greeting: greeting-0
53
- ```
54
-
55
- `probe` registers a real Cordis service with `ctx.provide('lev3Probe', …)`;
56
- `fixture` declares `inject = ['lev3Probe']`. The probe outlives fixture
57
- restarts and records every apply, effect install/dispose, and volatile-update
58
- event with instance id + fiber uid. It is read back as `ctx.lev3Probe`.
59
-
60
- `fixture` declares:
61
-
62
- ```js
63
- Config = Schema.object({
64
- mode: Schema.string().default('mode-0'),
65
- greeting: Schema.string().default('greeting-0').volatile(),
66
- })
67
- ```
68
-
69
- `apply()` records an instance, installs one named effect, and listens for
70
- `loader/volatile-update` (which the Loader delivers only to the owning fiber).
71
-
72
- ### 2.2 Reload trigger
73
-
74
- For every iteration the harness:
75
-
76
- 1. rewrites the fixture `cordis.yml` in the temp directory (`writeMs` measured
77
- separately);
78
- 2. calls `include.refresh()` — the same function `@deepseek-ai/dsh-hmr` calls
79
- from its watched-file handler after a config change;
80
- 3. awaits `ctx.loader.await()` (fiber inertia included) and reads the probe.
81
-
82
- This is the real loader path. Chokidar, HMR debounce and `awaitWriteFinish` are
83
- **not** in the measured interval; see limitations.
84
-
85
- ### 2.3 Arms
86
-
87
- | Arm | Field | Schema | Iterations |
88
- |---|---|---|---|
89
- | `volatile` | `greeting` | `Schema.string().volatile()` | 2 warm-up + 20 measured |
90
- | `control` | `mode` | ordinary string | 2 warm-up + 20 measured |
91
-
92
- The control arm mutates the ordinary field in the same YAML, through the same
93
- refresh path. It is the falsifiability check: if it also failed to re-apply,
94
- the probe would be blind to restarts.
95
-
96
- ### 2.4 Metric definitions
97
-
98
- - `remounted` — per iteration: `appliesDelta > 0 || effectDisposalsDelta > 0`.
99
- - `restarts` — number of rows with `pluginReapplied` (`appliesDelta > 0`).
100
- - `effectInstalls` / `effectDisposals` — probe counters for the fixture's
101
- single `ctx.effect`.
102
- - `volatileUpdates` — probe counter for `loader/volatile-update` deliveries.
103
- - `configUpdated` — the post-reload effective config value equals the value
104
- written to YAML, and the other field is unchanged.
105
- - `reloadMs` — `performance.now()` around `include.refresh()` +
106
- `loader.await()`.
107
- - `writeMs` — `performance.now()` around `fs.writeFileSync` of the YAML.
108
- - Percentiles: `median` = `p50`; `p50`/`p95` use linear interpolation over the
109
- sorted 20 samples (R-7). No values are synthesized.
110
-
111
- ### 2.5 What the loader actually did
112
-
113
- This is not inferred from the fixture; it is the Loader's own gate:
114
-
115
- 1. `Include.refresh()` re-reads the YAML and calls `root.update(...)` —
116
- [`include/src/index.ts:279`](/mnt/c/Users/zzhdz/AppData/Roaming/npm/node_modules/@deepseek-ai/dsh/node_modules/@deepseek-ai/cordis-plugin-include/src/index.ts).
117
- 2. `Entry.update()` computes `changes === ['config']`, then gates on:
118
- `fiber.state === ACTIVE && ctx prototype unchanged && equalExceptVolatile(...)` —
119
- [`loader/src/config/entry.ts:146`](/mnt/c/Users/zzhdz/AppData/Roaming/npm/node_modules/@deepseek-ai/dsh/node_modules/@deepseek-ai/cordis-plugin-loader/src/config/entry.ts) (checkout: [`entry.ts:149`](<dsh-checkout>/vendor/loader/src/config/entry.ts)).
120
- 3. `equalExceptVolatile` returns true when the differing path's schema has
121
- `meta.volatile` —
122
- [`diff.ts:18`](/mnt/c/Users/zzhdz/AppData/Roaming/npm/node_modules/@deepseek-ai/dsh/node_modules/@deepseek-ai/cordis-plugin-loader/src/config/diff.ts).
123
- 4. `_commitVolatile()` re-resolves the candidate config, finds the existing
124
- `Volatile` reference at path `['greeting']`, compares `.get()`, writes the
125
- new snapshot with `updateVolatile`, and emits `loader/volatile-update` to
126
- that fiber only. `pending` becomes `[]`, so `_patchContext` does not call
127
- `fiber.update()`.
128
- 5. The control change fails `equalExceptVolatile`, keeps `changes` non-empty,
129
- and calls `fiber.update(config, true)` → `internal/update` → restart →
130
- effect disposal → `apply()` again. **The Fiber object and uid are reused**;
131
- the plugin instance and effects are recreated.
132
-
133
- The event contract is declared at
134
- [`loader/src/index.ts:34`](/mnt/c/Users/zzhdz/AppData/Roaming/npm/node_modules/@deepseek-ai/dsh/node_modules/@deepseek-ai/cordis-plugin-loader/src/index.ts);
135
- the HMR call site is
136
- [`packages/boot/hmr/src/index.ts:472`](<dsh-checkout>/packages/boot/hmr/src/index.ts).
137
-
138
- ### 2.6 Commands
139
-
140
- ```bash
141
- node examples/boost/lev3-loader-bench.mjs # both hosts, 20+2 per arm
142
- node examples/boost/lev3-loader-bench.mjs --host installed
143
- node examples/boost/lev3-loader-bench.mjs --host checkout
144
- node --test examples/boost/lev3-result.test.mjs # JSON schema + row consistency
145
- ```
146
-
147
- Exit code `0` = measured (supported or refuted), `2` = harness invalid/error.
148
- Both hosts exited `0`.
149
-
150
- ## 3. Results (this JSON run)
151
-
152
- ### 3.1 Lifecycle
153
-
154
- | Host | Arm | n | restarts | effect installs | effect disposals | volatile updates | config updated | fiber uid changed |
155
- |---|---|---:|---:|---:|---:|---:|---:|---:|
156
- | `installed` | `volatile` (`greeting`) | 20 | **0** | **0** | **0** | **20** | 20/20 | 0 |
157
- | `installed` | `control` (`mode`) | 20 | **20** | **20** | **20** | 0 | 20/20 | 0 |
158
- | `checkout` | `volatile` (`greeting`) | 20 | **0** | **0** | **0** | **20** | 20/20 | 0 |
159
- | `checkout` | `control` (`mode`) | 20 | **20** | **20** | **20** | 0 | 20/20 | 0 |
160
-
161
- Every volatile row has `appliesDelta=0`, `effectInstallsDelta=0`,
162
- `effectDisposalsDelta=0`, `volatileUpdatesDelta=1`. Every control row has
163
- `appliesDelta=1`, `effectInstallsDelta=1`, `effectDisposalsDelta=1`,
164
- `volatileUpdatesDelta=0`. Both hosts' final probe counters are identical:
165
- `applies=23`, `effectInstalls=23`, `effectDisposals=22`,
166
- `volatileUpdates=22` (initial boot + 2 warm-ups + 20 measured each arm).
167
-
168
- ### 3.2 Reload latency
169
-
170
- | Host | Arm | median/p50 (ms) | p95 (ms) | min | max | mean | write median (ms) |
171
- |---|---|---:|---:|---:|---:|---:|---:|
172
- | `installed` | `volatile` | 0.668 | 0.863 | 0.530 | 0.871 | 0.670 | 0.063 |
173
- | `installed` | `control` | 0.775 | 1.000 | 0.632 | 1.041 | 0.794 | 0.067 |
174
- | `checkout` | `volatile` | 0.682 | 0.793 | 0.488 | 0.793 | 0.659 | 0.074 |
175
- | `checkout` | `control` | 0.738 | 0.935 | 0.601 | 1.400 | 0.773 | 0.066 |
176
-
177
- In this run the control median is `1.160×` the volatile median on the installed
178
- host and `1.082×` on the checkout host. That is a small, single-run difference;
179
- the categorical result is the lifecycle churn (0 vs 20), not the sub-millisecond
180
- latency delta. Previous runs of the same harness produced the same 0-vs-20
181
- lifecycle split with medians in the same sub-millisecond band, but the
182
- volatile/control latency ordering is within run-to-run noise.
183
-
184
- Raw per-iteration `reloadMs` arrays (also in `hosts.*.arms.*.rows`):
185
-
186
- ```
187
- installed volatile: 0.871 0.763 0.708 0.612 0.790 0.863 0.811 0.571 0.635 0.530 0.701 0.751 0.547 0.555 0.548 0.587 0.712 0.708 0.596 0.536
188
- installed control : 0.693 0.906 0.795 0.726 0.708 0.807 0.960 0.888 1.041 0.755 0.753 0.690 0.998 0.911 0.673 0.797 0.632 0.821 0.696 0.634
189
- checkout volatile: 0.689 0.793 0.682 0.768 0.694 0.648 0.793 0.678 0.582 0.699 0.570 0.522 0.556 0.488 0.582 0.762 0.694 0.591 0.712 0.682
190
- checkout control : 0.804 0.734 0.742 0.677 0.807 0.675 0.722 0.910 0.601 0.722 1.400 0.768 0.703 0.660 0.807 0.816 0.823 0.686 0.663 0.745
191
- ```
192
-
193
- ### 3.3 Boot
194
-
195
- | Host | boot mode | bootMs | entries |
196
- |---|---|---:|---|
197
- | `installed` | app-boot | 1343.276 | `include` (uid 3), `include:lev3-probe` (uid 4), `include:lev3-fixture` (uid 5), all state `2` (ACTIVE) |
198
- | `checkout` | direct-loader | 19.795 | same three entries and states |
199
-
200
- `bootMs` is recorded for provenance only. The installed number includes
201
- app-boot's policy/audit work and is not comparable to the direct checkout boot.
202
-
203
- ## 4. Falsifiability check
204
-
205
- - **Control arm restarted 20/20** on both hosts: `apply()` ran again and the
206
- effect was disposed and reinstalled every time. A probe blind to restarts
207
- would have shown `0` here too.
208
- - **The arms are not identical:** volatile `remounts=0`, control
209
- `remounts=20`; volatile effect disposals `0`, control `20`.
210
- - **Config value actually changed:** `configUpdated` is `20/20` in both arms,
211
- and `volatileUpdatesTotal=20` in the volatile arm. The volatile arm is not a
212
- no-op.
213
- - **The volatile reference is real:** `boot.fixture.volatileReference=true`;
214
- the fixture throws if `config.greeting.get` is not a function, and it booted.
215
- - **Fiber identity is the wrong discriminator here:** `fiberUidSame=true` and
216
- `fiberObjectSame=true` in both arms. Cordis reuses the Fiber across a config
217
- restart. `remounted` is therefore defined as re-apply/effect disposal, not as
218
- a new Fiber object. This nuance is important: a probe that only compares
219
- `entry.fiber.uid` would report "no remount" for the control arm too and would
220
- be wrong.
221
-
222
- ## 5. What this proves, and what it does not
223
-
224
- **Proves (loader-level):**
225
-
226
- - On both measured loader versions, a volatile-only YAML config change is
227
- committed into the live `Volatile` reference and emits
228
- `loader/volatile-update` without re-running `apply()` or disposing the
229
- plugin's effect.
230
- - The same harness detects the ordinary-field restart (20/20), so the zero is
231
- a measured difference, not a dead probe.
232
- - The zero-restart result holds on the source-of-truth checkout
233
- (`0.2.2-alpha.2`, Cordis `4.0.6-alpha.1`) as well as the installed DSH.
234
-
235
- **Does not prove:**
236
-
237
- - Anything about a full DSH profile boot, profile patch layers, app plugins,
238
- client UI, or CLI startup. This is deliberately labelled **loader-level**,
239
- not profile-level.
240
- - End-to-end HMR latency including chokidar debounce / `awaitWriteFinish`.
241
- - Production latency; the fixture is synthetic and the sample is one run of
242
- 20 iterations on one warm WSL2 filesystem.
243
- - Compatibility with upstream Cordis beyond the two DSH-vendored versions
244
- measured here.
245
-
246
- ## 6. Limitations
247
-
248
- 1. **Loader-level only.** A real `Context` + `Loader` + `Include` over two
249
- fixture entries, not a DSH CLI profile. No app plugins, profile patches,
250
- client UI or CLI process participate.
251
- 2. **Trigger is `Include.refresh()` directly**, which is what `dsh-hmr` calls
252
- after its chokidar handler; the watcher, debounce and write-stabilization
253
- window are excluded.
254
- 3. **Synthetic fixture.** It exercises the documented volatile mechanism but
255
- is not a shipped plugin. Shipped volatile consumers such as `ui-theme` and
256
- `llm-pi-ai` need browser/LLM services and are not booted here.
257
- 4. **Single machine, single process, one run.** Node `24.22.1` on WSL2, warm
258
- filesystem. `p95` from 20 samples is unstable, and the volatile/control
259
- median difference is small and noisy.
260
- 5. **Cordis reuses the same Fiber/uid on a config restart.** "Remount" is
261
- operationalized as re-apply + effect disposal; see §4.
262
- 6. **Installed/checkout mismatch.** The installed DSH is `0.2.1-rc.5`
263
- (Cordis `4.0.5`, loader `1.0.6`), while the source-of-truth checkout is
264
- `0.2.2-alpha.2` (Cordis `4.0.6-alpha.1`, loader `1.0.7-alpha.1`). Both were
265
- measured; no upstream Cordis compatibility is claimed.
266
- 7. **Checkout needs a sandbox copy.** The checkout has no linked
267
- `node_modules` for the vendored packages, so the checkout host copies them
268
- to a temp tree. Source hashes and the git commit are in the JSON; the temp
269
- paths in `hosts.checkout.runtime.paths` no longer exist after the run.
270
- 8. **Local DSH CLI hangs**, so app-boot/Cordis are imported directly rather
271
- than launching a profile. This is why the evidence cannot be profile-level.
272
- 9. **Checkout dirty tree.** `git status` had 3 unrelated dirty entries during
273
- the run; recorded as `hosts.checkout.runtime.git`.
274
-
275
- ## 7. What would upgrade this to a full profile benchmark
276
-
277
- 1. **Boot a real profile:** run `dsh --profile <name>` (or the same app-boot
278
- sequence with real bundle/profile patch layers) and let the profile's own
279
- plugin set activate, rather than a two-entry fixture composition.
280
- 2. **Drive the real HMR pipeline:** edit the watched profile patch YAML with
281
- chokidar/`dsh-hmr` active, and measure from the file-change event through
282
- `include.refresh()`, `loader.await()` and any module reload. Include the
283
- debounce/`awaitWriteFinish` window that this bench deliberately excludes.
284
- 3. **Use a shipped volatile consumer** instead of the fixture (a host plugin
285
- that consumes `loader/volatile-update`, or a client plugin through the real
286
- Web UI), and measure its observable behavior (settings re-render, adapter
287
- re-registration, effect/store deltas), not only counters from a test probe.
288
- 4. **Add a same-field negative control:** declare the *same* field ordinary in
289
- a second fixture variant and show that the same YAML change then restarts.
290
- This isolates the `.volatile()` marker as the cause rather than the field
291
- name.
292
- 5. **Add a full entry remove/create arm** that recreates the Fiber (new uid),
293
- so the "Fiber reuse vs recreation" distinction is measured, not only
294
- inferred.
295
- 6. **Repeat runs and hosts:** 5×20 iterations, cold/warm filesystems, and a
296
- second machine to report confidence intervals rather than one p95.
297
- 7. **Guard against config write-back:** assert the profile's real config file
298
- is unchanged except for the intended value, and test invalid YAML / partial
299
- writes through the live watcher.
300
-
301
- ## 8. Reproduce / verify
302
-
303
- ```bash
304
- cd <standards>
305
- node examples/boost/lev3-loader-bench.mjs
306
- node --test examples/boost/lev3-result.test.mjs
307
- ```
308
-
309
- The test checks the JSON schema and recomputes every summary count from the
310
- raw rows. It deliberately does **not** assert the LEV-3 claim: a future run
311
- where the volatile field remounts must still be representable as a valid
312
- `refuted` result.
313
-
314
- ## 9. Deliverables
315
-
316
- | File | Purpose |
317
- |---|---|
318
- | [lev3-loader-bench.mjs](../../../examples/boost/lev3-loader-bench.mjs) | Real-loader harness (both hosts) |
319
- | [lev3-fixture/cordis.yml](../../../examples/boost/lev3-fixture/cordis.yml) | Composition template |
320
- | [lev3-fixture/plugin.mjs](../../../examples/boost/lev3-fixture/plugin.mjs) | Fixture plugin with volatile + ordinary fields |
321
- | [lev3-fixture/probe.mjs](../../../examples/boost/lev3-fixture/probe.mjs) | Real Cordis service recording lifecycle |
322
- | [lev3.json](lev3.json) | Raw per-iteration rows + summaries + hashes |
323
- | [lev3-result.test.mjs](../../../examples/boost/lev3-result.test.mjs) | JSON schema/consistency test (1/1 pass) |
324
- | [REPORT.md](REPORT.md) | This report |
325
-
326
- ## Appendix A — source hashes recorded in the JSON
327
-
328
- | Artifact | SHA-256 |
329
- |---|---|
330
- | harness `lev3-loader-bench.mjs` | `dd40d361ed58557064a67083b8aa611dc87a8d8c05ff9d9ab70e5b091e9887b1` |
331
- | fixture `plugin.mjs` | `fec44add01e90c7c99dcde5e4a7b6090b878d420c7f564019ee5aaecd93a4a2d` |
332
- | fixture `probe.mjs` | `8dda527a87989a4641c0106423d30d17e5a3e9723516a032e2033bfbd0839f1e` |
333
- | fixture `cordis.yml` | `7a9ca76b81f577a64191a965a7dacb6d8841c63d5b02947c158fa444c56874ea` |
334
- | installed loader `src/config/entry.ts` | `6a061f1d3c2cdaac19409bf8ec6956ec5a0a457c4f1689be658d50af7c9ee294` |
335
- | installed loader `src/config/diff.ts` | `6025a6b9798a0a16af017bb7d8d6394bbe345685b2ace56b15975add5843edb3` |
336
- | checkout loader `src/config/entry.ts` | `ee57422010f5aa82a25365b2f54dd346a51a0c924c92a5dabbd19b36899b2ef0` |
337
- | checkout loader `src/config/diff.ts` | `6025a6b9798a0a16af017bb7d8d6394bbe345685b2ace56b15975add5843edb3` |
338
-
339
- The JSON also records `hasVolatileOnlyGate`, `hasCommitVolatile`,
340
- `hasVolatileMeta`, `hasEqualExceptVolatile` and
341
- `declaresVolatileUpdateEvent` booleans for each loader source tree, plus the
342
- checkout git commit.