dsh-standards 1.0.0 → 1.0.1

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 (469) hide show
  1. package/40-checker/README.md +2 -2
  2. package/40-checker/src/cli.mjs +1 -1
  3. package/40-checker/src/manifest.mjs +17 -0
  4. package/40-checker/src/semver.mjs +77 -11
  5. package/CHANGELOG.md +24 -0
  6. package/NOTICE +14 -0
  7. package/README.md +6 -6
  8. package/bin/dsh-standards.mjs +1 -0
  9. package/package.json +14 -5
  10. package/40-checker/.github/workflows/plugin-verify.yml +0 -70
  11. package/40-checker/results/boost/REPORT.md +0 -304
  12. package/40-checker/results/boost/lev12458.json +0 -1747
  13. package/40-checker/results/client/README.md +0 -16
  14. package/40-checker/results/entry/18/DDDMUC__dsh-free-search.json +0 -381
  15. package/40-checker/results/entry/18/DDDMUC__dsh-free-search.runtime.json +0 -34
  16. package/40-checker/results/entry/18/Ebony-Vinyl__dsh-our-free-model.json +0 -361
  17. package/40-checker/results/entry/18/Ebony-Vinyl__dsh-our-free-model.runtime.json +0 -34
  18. package/40-checker/results/entry/18/README.md +0 -24
  19. package/40-checker/results/entry/18/RUNTIME.md +0 -18
  20. package/40-checker/results/entry/18/SeaOf0__dsh-redteam-model.json +0 -391
  21. package/40-checker/results/entry/18/YuJunZhiXue__dsh-purge.json +0 -432
  22. package/40-checker/results/entry/18/ci-diet.json +0 -365
  23. package/40-checker/results/entry/18/ci-diet.runtime-attempt.json +0 -38
  24. package/40-checker/results/entry/18/daily-log.json +0 -357
  25. package/40-checker/results/entry/18/daily-log.runtime.json +0 -519
  26. package/40-checker/results/entry/18/fullbase/ATTRIBUTION.md +0 -29
  27. package/40-checker/results/entry/18/fullbase/DDDMUC__dsh-free-search.json +0 -99
  28. package/40-checker/results/entry/18/fullbase/Ebony-Vinyl__dsh-our-free-model.json +0 -95
  29. package/40-checker/results/entry/18/fullbase/REPORT.md +0 -261
  30. package/40-checker/results/entry/18/fullbase/SeaOf0__dsh-redteam-model.json +0 -144
  31. package/40-checker/results/entry/18/fullbase/YuJunZhiXue__dsh-purge.json +0 -106
  32. package/40-checker/results/entry/18/fullbase/ci-diet.json +0 -99
  33. package/40-checker/results/entry/18/fullbase/daily-log.json +0 -94
  34. package/40-checker/results/entry/18/fullbase/howmp__dsh-pentest.json +0 -104
  35. package/40-checker/results/entry/18/fullbase/kingcharleslzy-ai__dsh-purge.json +0 -143
  36. package/40-checker/results/entry/18/fullbase/liguobao__ds-harness-remote.json +0 -134
  37. package/40-checker/results/entry/18/fullbase/mmparko__dsh-purge.json +0 -138
  38. package/40-checker/results/entry/18/fullbase/project-memory.json +0 -108
  39. package/40-checker/results/entry/18/fullbase/qiushi.json +0 -94
  40. package/40-checker/results/entry/18/fullbase/shaobeichen__dsh-pocket.json +0 -94
  41. package/40-checker/results/entry/18/fullbase/status-rotator.json +0 -94
  42. package/40-checker/results/entry/18/fullbase/summary.json +0 -297
  43. package/40-checker/results/entry/18/fullbase/telemetry.json +0 -94
  44. package/40-checker/results/entry/18/fullbase/ui-auth.json +0 -94
  45. package/40-checker/results/entry/18/fullbase/verification.json +0 -94
  46. package/40-checker/results/entry/18/fullbase/ysr666__dsh-vision-router.json +0 -106
  47. package/40-checker/results/entry/18/howmp__dsh-pentest.json +0 -361
  48. package/40-checker/results/entry/18/kingcharleslzy-ai__dsh-purge.json +0 -411
  49. package/40-checker/results/entry/18/liguobao__ds-harness-remote.json +0 -379
  50. package/40-checker/results/entry/18/mmparko__dsh-purge.json +0 -441
  51. package/40-checker/results/entry/18/project-memory.json +0 -361
  52. package/40-checker/results/entry/18/project-memory.runtime.json +0 -519
  53. package/40-checker/results/entry/18/qiushi.json +0 -353
  54. package/40-checker/results/entry/18/qiushi.runtime.json +0 -519
  55. package/40-checker/results/entry/18/realweb/REPORT.md +0 -73
  56. package/40-checker/results/entry/18/realweb/SeaOf0__dsh-redteam-model.json +0 -104
  57. package/40-checker/results/entry/18/realweb/YuJunZhiXue__dsh-purge.json +0 -64
  58. package/40-checker/results/entry/18/realweb/howmp__dsh-pentest.json +0 -65
  59. package/40-checker/results/entry/18/realweb/kingcharleslzy-ai__dsh-purge.json +0 -75
  60. package/40-checker/results/entry/18/realweb/mmparko__dsh-purge.json +0 -70
  61. package/40-checker/results/entry/18/realweb/shaobeichen__dsh-pocket.json +0 -56
  62. package/40-checker/results/entry/18/realweb/summary.json +0 -196
  63. package/40-checker/results/entry/18/realweb/ui-auth.json +0 -56
  64. package/40-checker/results/entry/18/realweb/ysr666__dsh-vision-router.json +0 -61
  65. package/40-checker/results/entry/18/richbase/REPORT.md +0 -70
  66. package/40-checker/results/entry/18/richbase/SeaOf0__dsh-redteam-model.json +0 -61
  67. package/40-checker/results/entry/18/richbase/SeaOf0__dsh-redteam-model.log +0 -38
  68. package/40-checker/results/entry/18/shaobeichen__dsh-pocket.json +0 -363
  69. package/40-checker/results/entry/18/status-rotator.json +0 -362
  70. package/40-checker/results/entry/18/status-rotator.runtime.json +0 -519
  71. package/40-checker/results/entry/18/summary.json +0 -266
  72. package/40-checker/results/entry/18/targetonly/DDDMUC__dsh-free-search.json +0 -34
  73. package/40-checker/results/entry/18/targetonly/Ebony-Vinyl__dsh-our-free-model.json +0 -34
  74. package/40-checker/results/entry/18/targetonly/SeaOf0__dsh-redteam-model.json +0 -84
  75. package/40-checker/results/entry/18/targetonly/YuJunZhiXue__dsh-purge.json +0 -52
  76. package/40-checker/results/entry/18/targetonly/ci-diet.json +0 -34
  77. package/40-checker/results/entry/18/targetonly/daily-log.json +0 -34
  78. package/40-checker/results/entry/18/targetonly/howmp__dsh-pentest.json +0 -46
  79. package/40-checker/results/entry/18/targetonly/kingcharleslzy-ai__dsh-purge.json +0 -61
  80. package/40-checker/results/entry/18/targetonly/liguobao__ds-harness-remote.json +0 -39
  81. package/40-checker/results/entry/18/targetonly/mmparko__dsh-purge.json +0 -57
  82. package/40-checker/results/entry/18/targetonly/project-memory.json +0 -34
  83. package/40-checker/results/entry/18/targetonly/qiushi.json +0 -34
  84. package/40-checker/results/entry/18/targetonly/shaobeichen__dsh-pocket.json +0 -34
  85. package/40-checker/results/entry/18/targetonly/status-rotator.json +0 -34
  86. package/40-checker/results/entry/18/targetonly/summary.json +0 -133
  87. package/40-checker/results/entry/18/targetonly/telemetry.json +0 -34
  88. package/40-checker/results/entry/18/targetonly/ui-auth.json +0 -34
  89. package/40-checker/results/entry/18/targetonly/verification.json +0 -34
  90. package/40-checker/results/entry/18/targetonly/ysr666__dsh-vision-router.json +0 -43
  91. package/40-checker/results/entry/18/telemetry.json +0 -349
  92. package/40-checker/results/entry/18/ui-auth.json +0 -369
  93. package/40-checker/results/entry/18/verification.json +0 -358
  94. package/40-checker/results/entry/18/ysr666__dsh-vision-router.json +0 -409
  95. package/40-checker/results/fixtures/bad.json +0 -347
  96. package/40-checker/results/fixtures/bundle.json +0 -378
  97. package/40-checker/results/fixtures/good-listing.json +0 -382
  98. package/40-checker/results/fixtures/good-static.json +0 -322
  99. package/40-checker/results/fixtures/good.json +0 -375
  100. package/40-checker/results/fixtures/good.sarif +0 -274
  101. package/40-checker/results/flow/README.md +0 -19
  102. package/40-checker/results/flow/j3-j7-fixture.json +0 -51
  103. package/40-checker/results/flow/j5-j8-client-missing.json +0 -45
  104. package/40-checker/results/flow/j5-j8-good.json +0 -45
  105. package/40-checker/results/flow/journey-fixture-bundle.json +0 -90
  106. package/40-checker/results/flow/journey-fixture-j1-j2-j4-j6.json +0 -107
  107. package/40-checker/results/flow/real/DDDMUC__dsh-free-search.json +0 -297
  108. package/40-checker/results/flow/real/REPORT.md +0 -335
  109. package/40-checker/results/flow/real/YuJunZhiXue__dsh-purge.json +0 -317
  110. package/40-checker/results/flow/real/ci-diet.json +0 -351
  111. package/40-checker/results/flow/real/daily-log.json +0 -286
  112. package/40-checker/results/flow/real/index.json +0 -325
  113. package/40-checker/results/flow/real/project-memory.json +0 -290
  114. package/40-checker/results/flow/real/qiushi.json +0 -277
  115. package/40-checker/results/flow/real/status-rotator.json +0 -275
  116. package/40-checker/results/flow/real/telemetry.json +0 -178
  117. package/40-checker/results/flow/real/ui-auth.json +0 -288
  118. package/40-checker/results/flow/real/verification.json +0 -265
  119. package/40-checker/results/governance/co-maintainer-packet.md +0 -85
  120. package/40-checker/results/l1/ci-diet.json +0 -406
  121. package/40-checker/results/l1/npm-dsh-telemetry-redactor-0.1.0.json +0 -390
  122. package/40-checker/results/l1/npm-dsh-verification-receipt-0.1.0.json +0 -406
  123. package/40-checker/results/l1/npm-qiushi-dsh-evidence-audit-0.1.0.json +0 -394
  124. package/40-checker/results/l1/npm-zzerx-dsh-plugin-daily-log-0.4.3.json +0 -405
  125. package/40-checker/results/l1/project-memory.json +0 -402
  126. package/40-checker/results/l1/source-DDDMUC__dsh-free-search.json +0 -422
  127. package/40-checker/results/l1/source-Ebony-Vinyl__dsh-our-free-model.json +0 -421
  128. package/40-checker/results/l1/source-SeaOf0__dsh-redteam-model.json +0 -432
  129. package/40-checker/results/l1/source-YuJunZhiXue__dsh-purge.json +0 -473
  130. package/40-checker/results/l1/source-howmp__dsh-pentest.json +0 -402
  131. package/40-checker/results/l1/source-kingcharleslzy-ai__dsh-purge.json +0 -452
  132. package/40-checker/results/l1/source-liguobao__ds-harness-remote.json +0 -420
  133. package/40-checker/results/l1/source-mmparko__dsh-purge.json +0 -482
  134. package/40-checker/results/l1/source-shaobeichen__dsh-pocket.json +0 -404
  135. package/40-checker/results/l1/source-ysr666__dsh-vision-router.json +0 -384
  136. package/40-checker/results/l1/status-rotator.json +0 -403
  137. package/40-checker/results/l1/ui-auth.json +0 -429
  138. package/40-checker/results/l1/ysr666__dsh-vision-router.published.json +0 -384
  139. package/40-checker/results/lev3/REPORT.md +0 -342
  140. package/40-checker/results/lev3/lev3.json +0 -4835
  141. package/40-checker/results/lev6/REPORT.md +0 -460
  142. package/40-checker/results/lev6/capture-sample.json +0 -241
  143. package/40-checker/results/lev6/capture.jsonl +0 -4
  144. package/40-checker/results/lev6/lev6.json +0 -245
  145. package/40-checker/results/lev6/replication-r1.json +0 -245
  146. package/40-checker/results/levels/README.md +0 -16
  147. package/40-checker/results/levels/dsh-plugin-doctor.json +0 -141
  148. package/40-checker/results/levels/dsh-plugin-guide.json +0 -136
  149. package/40-checker/results/m1/dsh-ci-diet-0.5.2.json +0 -352
  150. package/40-checker/results/m1/dsh-status-rotator-0.38.0.json +0 -349
  151. package/40-checker/results/m1/dsh-telemetry-redactor-0.1.0.json +0 -336
  152. package/40-checker/results/m1/dsh-ui-auth-0.7.1.json +0 -356
  153. package/40-checker/results/m1/dsh-verification-receipt-0.1.0.json +0 -344
  154. package/40-checker/results/m1/index-level.json +0 -13
  155. package/40-checker/results/m1/levels.json +0 -72100
  156. package/40-checker/results/m1/qiushi-dsh-evidence-audit-0.1.0.json +0 -339
  157. package/40-checker/results/m1/yolk_vat-y-dsh-project-memory-0.6.7.json +0 -348
  158. package/40-checker/results/m1/zzerx-dsh-plugin-daily-log-0.4.3.json +0 -344
  159. package/40-checker/results/m2/dsh-ci-diet.json +0 -421
  160. package/40-checker/results/m2/dsh-ci-diet.unshare-landlock.json +0 -424
  161. package/40-checker/results/m2/dsh-ci-diet.unshare.json +0 -423
  162. package/40-checker/results/m2/fixture-bundle.image.json +0 -404
  163. package/40-checker/results/m2/fixture-bundle.json +0 -392
  164. package/40-checker/results/m2/fixture-bundle.landlock.json +0 -396
  165. package/40-checker/results/m2/fixture-bundle.unshare.json +0 -395
  166. package/40-checker/results/m2/fs-write.json +0 -338
  167. package/40-checker/results/m2/hang.json +0 -31
  168. package/40-checker/results/m2/hang.unshare-landlock.json +0 -34
  169. package/40-checker/results/m2/hang.unshare.json +0 -33
  170. package/40-checker/results/m2/project-memory.json +0 -417
  171. package/40-checker/results/m2/status-rotator.json +0 -418
  172. package/40-checker/results/m2/ui-auth.json +0 -444
  173. package/40-checker/results/negative/bad-entry.json +0 -345
  174. package/40-checker/results/negative/no-entry.json +0 -345
  175. package/40-checker/results/negative/no-patch.json +0 -344
  176. package/40-checker/results/negative/root-missing.json +0 -344
  177. package/40-checker/results/negative/root-missing.runtime.json +0 -30
  178. package/40-checker/results/negative/summary.json +0 -51
  179. package/40-checker/results/negative/workspace.json +0 -344
  180. package/40-checker/results/patched/Ebony-Vinyl__dsh-our-free-model.json +0 -334
  181. package/40-checker/results/patched/Ebony-Vinyl__dsh-our-free-model.overlay.json +0 -335
  182. package/40-checker/results/patched/SeaOf0__dsh-redteam-model.json +0 -315
  183. package/40-checker/results/patched/SeaOf0__dsh-redteam-model.overlay.json +0 -316
  184. package/40-checker/results/patched/mmparko__dsh-purge.json +0 -357
  185. package/40-checker/results/patched/mmparko__dsh-purge.overlay.json +0 -358
  186. package/40-checker/results/patched/shaobeichen__dsh-pocket.json +0 -315
  187. package/40-checker/results/patched/shaobeichen__dsh-pocket.overlay.json +0 -316
  188. package/40-checker/results/real/DDDMUC__dsh-free-search.json +0 -344
  189. package/40-checker/results/real/Ebony-Vinyl__dsh-our-free-model.json +0 -343
  190. package/40-checker/results/real/SeaOf0__dsh-redteam-model.json +0 -354
  191. package/40-checker/results/real/YuJunZhiXue__dsh-purge.json +0 -395
  192. package/40-checker/results/real/howmp__dsh-pentest.json +0 -324
  193. package/40-checker/results/real/kingcharleslzy-ai__dsh-purge.json +0 -374
  194. package/40-checker/results/real/liguobao__ds-harness-remote.json +0 -342
  195. package/40-checker/results/real/mmparko__dsh-purge.json +0 -404
  196. package/40-checker/results/real/shaobeichen__dsh-pocket.json +0 -326
  197. package/40-checker/results/real/ysr666__dsh-vision-router.json +0 -372
  198. package/40-checker/results/real/ysr666__dsh-vision-router.listing.json +0 -378
  199. package/40-checker/results/round-robin/compare.json +0 -52
  200. package/40-checker/results/round-robin/runner-a.json +0 -9
  201. package/40-checker/results/round-robin/runner-b.json +0 -9
  202. package/40-checker/results/sample20/123dbl__dsh-side-session.json +0 -344
  203. package/40-checker/results/sample20/173787247__dsh-wsl-dns.json +0 -360
  204. package/40-checker/results/sample20/863683348__dsh-insight.json +0 -375
  205. package/40-checker/results/sample20/Ansellwan__DSH-Custom-Wallpaper.json +0 -344
  206. package/40-checker/results/sample20/Jamailar__beav-deepseek-harness.json +0 -341
  207. package/40-checker/results/sample20/ManoloRemiddi__DSH-Metafolder-Plugin.json +0 -344
  208. package/40-checker/results/sample20/NEAZ71eve__dsh-tool-github.json +0 -384
  209. package/40-checker/results/sample20/README.md +0 -3
  210. package/40-checker/results/sample20/RINGOLINK__dsh-desktop-shell.json +0 -352
  211. package/40-checker/results/sample20/Zxznb666__dsh-qoder-cn-subagent.json +0 -349
  212. package/40-checker/results/sample20/agent-mobile__dsh-mobile-gateway.json +0 -353
  213. package/40-checker/results/sample20/fangqiing__dsh-knowledge-lite.json +0 -359
  214. package/40-checker/results/sample20/fzy0517__deepseek-harness-session-cleaner.json +0 -344
  215. package/40-checker/results/sample20/gjy1992__dsh-diagram.json +0 -350
  216. package/40-checker/results/sample20/mrme000m__dsh-prime-orchestrator.json +0 -414
  217. package/40-checker/results/sample20/redstonedust__dsh-solidworks-copilot.json +0 -362
  218. package/40-checker/results/sample20/summary.json +0 -234
  219. package/40-checker/results/sample20/w2112515__dsh-remote-host.json +0 -344
  220. package/40-checker/results/sample20/wkfedor__deepseek-harness-voice-input.json +0 -350
  221. package/40-checker/results/sample20/xfgil__dsh-hot-reloader.json +0 -344
  222. package/40-checker/results/sample20/yizhiyizhi0128__dsh-peak-scheduler.json +0 -360
  223. package/40-checker/results/sample20-ci/123dbl__dsh-side-session.json +0 -344
  224. package/40-checker/results/sample20-ci/173787247__dsh-wsl-dns.json +0 -360
  225. package/40-checker/results/sample20-ci/863683348__dsh-insight.json +0 -375
  226. package/40-checker/results/sample20-ci/Ansellwan__DSH-Custom-Wallpaper.json +0 -344
  227. package/40-checker/results/sample20-ci/Jamailar__beav-deepseek-harness.json +0 -367
  228. package/40-checker/results/sample20-ci/ManoloRemiddi__DSH-Metafolder-Plugin.json +0 -344
  229. package/40-checker/results/sample20-ci/NEAZ71eve__dsh-tool-github.json +0 -392
  230. package/40-checker/results/sample20-ci/README.md +0 -5
  231. package/40-checker/results/sample20-ci/RINGOLINK__dsh-desktop-shell.json +0 -361
  232. package/40-checker/results/sample20-ci/Zxznb666__dsh-qoder-cn-subagent.json +0 -349
  233. package/40-checker/results/sample20-ci/agent-mobile__dsh-mobile-gateway.json +0 -384
  234. package/40-checker/results/sample20-ci/fangqiing__dsh-knowledge-lite.json +0 -360
  235. package/40-checker/results/sample20-ci/fzy0517__deepseek-harness-session-cleaner.json +0 -354
  236. package/40-checker/results/sample20-ci/gjy1992__dsh-diagram.json +0 -381
  237. package/40-checker/results/sample20-ci/mrme000m__dsh-prime-orchestrator.json +0 -452
  238. package/40-checker/results/sample20-ci/redstonedust__dsh-solidworks-copilot.json +0 -371
  239. package/40-checker/results/sample20-ci/summary.json +0 -195
  240. package/40-checker/results/sample20-ci/w2112515__dsh-remote-host.json +0 -399
  241. package/40-checker/results/sample20-ci/wkfedor__deepseek-harness-voice-input.json +0 -358
  242. package/40-checker/results/sample20-ci/xfgil__dsh-hot-reloader.json +0 -344
  243. package/40-checker/results/sample20-ci/yizhiyizhi0128__dsh-peak-scheduler.json +0 -370
  244. package/40-checker/results/sample20-ci/zed1902209846-dotcom__DPwhale-plugin.json +0 -231
  245. package/40-checker/results/sample60/123dbl__dsh-side-session.json +0 -344
  246. package/40-checker/results/sample60/173787247__dsh-wsl-dns.json +0 -360
  247. package/40-checker/results/sample60/863683348__dsh-insight.json +0 -375
  248. package/40-checker/results/sample60/Anionex__dsh-turn-rewind.json +0 -349
  249. package/40-checker/results/sample60/Ansellwan__DSH-Custom-Wallpaper.json +0 -344
  250. package/40-checker/results/sample60/Ebony-Vinyl__EAC-Pack.json +0 -352
  251. package/40-checker/results/sample60/EricWang1358__dsh-web-studyhub.json +0 -376
  252. package/40-checker/results/sample60/GanyuanRan__Aegis.json +0 -349
  253. package/40-checker/results/sample60/HiSeax__dsh-codely.json +0 -358
  254. package/40-checker/results/sample60/Jamailar__beav-deepseek-harness.json +0 -341
  255. package/40-checker/results/sample60/ManoloRemiddi__DSH-Metafolder-Plugin.json +0 -344
  256. package/40-checker/results/sample60/MichengAI__dsh-archive-manager.json +0 -357
  257. package/40-checker/results/sample60/MichengAI__dsh-im-connect.json +0 -347
  258. package/40-checker/results/sample60/MindLab-Research__dsh-generative-ui.json +0 -350
  259. package/40-checker/results/sample60/NEAZ71eve__dsh-tool-github.json +0 -384
  260. package/40-checker/results/sample60/README.md +0 -7
  261. package/40-checker/results/sample60/RINGOLINK__dsh-desktop-shell.json +0 -352
  262. package/40-checker/results/sample60/SeanTolstoyevski__dsh-code-review.json +0 -352
  263. package/40-checker/results/sample60/Tasihi89__dsh-talk-map.json +0 -344
  264. package/40-checker/results/sample60/Tyan66666__billion-context-dsh.json +0 -469
  265. package/40-checker/results/sample60/V1ki__dsh-plugin-subscriptions.json +0 -350
  266. package/40-checker/results/sample60/Yu-tao-Li__dsh-computer-use-win.json +0 -341
  267. package/40-checker/results/sample60/ZSeven-W__dsh-ios.json +0 -344
  268. package/40-checker/results/sample60/Zxznb666__dsh-qoder-cn-subagent.json +0 -349
  269. package/40-checker/results/sample60/agent-mobile__dsh-mobile-gateway.json +0 -353
  270. package/40-checker/results/sample60/c3cvld7aag__fujiang-dsh.json +0 -361
  271. package/40-checker/results/sample60/cxzrdxy__dsh-file-explorer.json +0 -389
  272. package/40-checker/results/sample60/dhicoc__dsh-reverse-skill.json +0 -341
  273. package/40-checker/results/sample60/fangqiing__dsh-knowledge-lite.json +0 -359
  274. package/40-checker/results/sample60/fwerkor__local-shell-mcp.json +0 -369
  275. package/40-checker/results/sample60/fzy0517__deepseek-harness-session-cleaner.json +0 -344
  276. package/40-checker/results/sample60/gjy1992__dsh-diagram.json +0 -350
  277. package/40-checker/results/sample60/howmp__dsh-pentest.json +0 -341
  278. package/40-checker/results/sample60/linhay__harmony-next.skills.json +0 -344
  279. package/40-checker/results/sample60/liustack__modsearch.json +0 -371
  280. package/40-checker/results/sample60/mmparko__dsh-purge.json +0 -372
  281. package/40-checker/results/sample60/mrme000m__dsh-prime-orchestrator.json +0 -414
  282. package/40-checker/results/sample60/omdsh-dev__dsh_workflow.json +0 -439
  283. package/40-checker/results/sample60/redstonedust__dsh-solidworks-copilot.json +0 -362
  284. package/40-checker/results/sample60/seriousz158__dsh-memory.json +0 -350
  285. package/40-checker/results/sample60/shanliuling__dsh-image-gen.json +0 -353
  286. package/40-checker/results/sample60/shanliuling__skills-link.json +0 -344
  287. package/40-checker/results/sample60/shengsheng90__DSH-taskboard.json +0 -341
  288. package/40-checker/results/sample60/sjh9714__dsh-win32.json +0 -374
  289. package/40-checker/results/sample60/skymecode__deepseek-harness-for-vscode.json +0 -351
  290. package/40-checker/results/sample60/sopaco__terrain.json +0 -352
  291. package/40-checker/results/sample60/summary.json +0 -658
  292. package/40-checker/results/sample60/tinqiao-oss__engramory.json +0 -352
  293. package/40-checker/results/sample60/tong-io__tongflow.json +0 -359
  294. package/40-checker/results/sample60/vibeinging__dsh-desktop.json +0 -382
  295. package/40-checker/results/sample60/w2112515__dsh-remote-host.json +0 -344
  296. package/40-checker/results/sample60/wkfedor__deepseek-harness-voice-input.json +0 -350
  297. package/40-checker/results/sample60/wz20__dsh-dafeiyu-dot.json +0 -349
  298. package/40-checker/results/sample60/xfgil__dsh-hot-reloader.json +0 -344
  299. package/40-checker/results/sample60/yi-yezhiqiu__dsh-prompt-market.json +0 -360
  300. package/40-checker/results/sample60/yizhiyizhi0128__dsh-peak-scheduler.json +0 -360
  301. package/40-checker/results/sample60/yjh051108__dsh-routing-suite.json +0 -366
  302. package/40-checker/results/sample60-ci/123dbl__dsh-side-session.json +0 -344
  303. package/40-checker/results/sample60-ci/173787247__dsh-wsl-dns.json +0 -360
  304. package/40-checker/results/sample60-ci/863683348__dsh-insight.json +0 -375
  305. package/40-checker/results/sample60-ci/Anionex__dsh-turn-rewind.json +0 -379
  306. package/40-checker/results/sample60-ci/Ansellwan__DSH-Custom-Wallpaper.json +0 -344
  307. package/40-checker/results/sample60-ci/Ebony-Vinyl__EAC-Pack.json +0 -362
  308. package/40-checker/results/sample60-ci/EricWang1358__dsh-web-studyhub.json +0 -378
  309. package/40-checker/results/sample60-ci/GanyuanRan__Aegis.json +0 -349
  310. package/40-checker/results/sample60-ci/HiSeax__dsh-codely.json +0 -368
  311. package/40-checker/results/sample60-ci/Jamailar__beav-deepseek-harness.json +0 -367
  312. package/40-checker/results/sample60-ci/LiarMTTT__TavernWeave.json +0 -231
  313. package/40-checker/results/sample60-ci/ManoloRemiddi__DSH-Metafolder-Plugin.json +0 -344
  314. package/40-checker/results/sample60-ci/MichengAI__dsh-archive-manager.json +0 -395
  315. package/40-checker/results/sample60-ci/MichengAI__dsh-im-connect.json +0 -404
  316. package/40-checker/results/sample60-ci/MindLab-Research__dsh-generative-ui.json +0 -410
  317. package/40-checker/results/sample60-ci/NEAZ71eve__dsh-tool-github.json +0 -392
  318. package/40-checker/results/sample60-ci/README.md +0 -7
  319. package/40-checker/results/sample60-ci/RINGOLINK__dsh-desktop-shell.json +0 -361
  320. package/40-checker/results/sample60-ci/Ruler4396__dsh-launcher.json +0 -231
  321. package/40-checker/results/sample60-ci/SeanTolstoyevski__dsh-code-review.json +0 -363
  322. package/40-checker/results/sample60-ci/Tasihi89__dsh-talk-map.json +0 -372
  323. package/40-checker/results/sample60-ci/Tyan66666__billion-context-dsh.json +0 -469
  324. package/40-checker/results/sample60-ci/V1ki__dsh-plugin-subscriptions.json +0 -368
  325. package/40-checker/results/sample60-ci/Yu-tao-Li__dsh-computer-use-win.json +0 -349
  326. package/40-checker/results/sample60-ci/ZSeven-W__dsh-ios.json +0 -344
  327. package/40-checker/results/sample60-ci/Zxznb666__dsh-qoder-cn-subagent.json +0 -349
  328. package/40-checker/results/sample60-ci/agent-mobile__dsh-mobile-gateway.json +0 -384
  329. package/40-checker/results/sample60-ci/c3cvld7aag__fujiang-dsh.json +0 -361
  330. package/40-checker/results/sample60-ci/cxzrdxy__dsh-file-explorer.json +0 -399
  331. package/40-checker/results/sample60-ci/dhicoc__dsh-reverse-skill.json +0 -352
  332. package/40-checker/results/sample60-ci/fangqiing__dsh-knowledge-lite.json +0 -360
  333. package/40-checker/results/sample60-ci/fwerkor__local-shell-mcp.json +0 -387
  334. package/40-checker/results/sample60-ci/fzy0517__deepseek-harness-session-cleaner.json +0 -354
  335. package/40-checker/results/sample60-ci/gjy1992__dsh-diagram.json +0 -381
  336. package/40-checker/results/sample60-ci/howmp__dsh-pentest.json +0 -361
  337. package/40-checker/results/sample60-ci/linhay__harmony-next.skills.json +0 -344
  338. package/40-checker/results/sample60-ci/liustack__modsearch.json +0 -382
  339. package/40-checker/results/sample60-ci/mmparko__dsh-purge.json +0 -441
  340. package/40-checker/results/sample60-ci/mrme000m__dsh-prime-orchestrator.json +0 -452
  341. package/40-checker/results/sample60-ci/omdsh-dev__dsh_workflow.json +0 -439
  342. package/40-checker/results/sample60-ci/plastic-labs__honcho.json +0 -231
  343. package/40-checker/results/sample60-ci/redstonedust__dsh-solidworks-copilot.json +0 -371
  344. package/40-checker/results/sample60-ci/seriousz158__dsh-memory.json +0 -351
  345. package/40-checker/results/sample60-ci/shanliuling__dsh-image-gen.json +0 -382
  346. package/40-checker/results/sample60-ci/shanliuling__skills-link.json +0 -344
  347. package/40-checker/results/sample60-ci/shengsheng90__DSH-taskboard.json +0 -370
  348. package/40-checker/results/sample60-ci/sjh9714__dsh-win32.json +0 -410
  349. package/40-checker/results/sample60-ci/skymecode__deepseek-harness-for-vscode.json +0 -391
  350. package/40-checker/results/sample60-ci/sopaco__deepwiki-rs.json +0 -231
  351. package/40-checker/results/sample60-ci/sopaco__terrain.json +0 -352
  352. package/40-checker/results/sample60-ci/summary.json +0 -555
  353. package/40-checker/results/sample60-ci/tinqiao-oss__engramory.json +0 -362
  354. package/40-checker/results/sample60-ci/tong-io__tongflow.json +0 -393
  355. package/40-checker/results/sample60-ci/vibeinging__dsh-desktop.json +0 -555
  356. package/40-checker/results/sample60-ci/w2112515__dsh-remote-host.json +0 -399
  357. package/40-checker/results/sample60-ci/wkfedor__deepseek-harness-voice-input.json +0 -358
  358. package/40-checker/results/sample60-ci/wz20__dsh-dafeiyu-dot.json +0 -390
  359. package/40-checker/results/sample60-ci/xfgil__dsh-hot-reloader.json +0 -344
  360. package/40-checker/results/sample60-ci/yi-yezhiqiu__dsh-prompt-market.json +0 -373
  361. package/40-checker/results/sample60-ci/yizhiyizhi0128__dsh-peak-scheduler.json +0 -370
  362. package/40-checker/results/sample60-ci/yjh051108__dsh-routing-suite.json +0 -437
  363. package/40-checker/results/sample60-ci/zed1902209846-dotcom__DPwhale-plugin.json +0 -231
  364. package/40-checker/results/triage/REPORT.md +0 -317
  365. package/40-checker/results/triage/evidence/g2-rejections.txt +0 -63
  366. package/40-checker/results/triage/evidence/purge-baseline-0.2.1-rc.5.json +0 -51
  367. package/40-checker/results/triage/evidence/purge-baseline-0.2.2-alpha.2.json +0 -51
  368. package/40-checker/results/triage/evidence/purge-postinstall.txt +0 -62
  369. package/40-checker/results/triage/evidence/purge-with-profile-0.2.1-rc.5.json +0 -71
  370. package/40-checker/results/triage/evidence/purge-with-profile-0.2.2-alpha.2.json +0 -71
  371. package/40-checker/results/triage/evidence/semver-matrix.json +0 -32
  372. package/40-checker/results/triage/triage.json +0 -295
  373. package/40-checker/results/webapp/README.md +0 -10
  374. package/40-checker/results/webapp/summary.json +0 -46
  375. package/40-checker/results/webapp/web-auth.json +0 -19
  376. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/client-export.json +0 -7
  377. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/installed-package.json +0 -123
  378. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/probe.json +0 -129
  379. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/shot.png +0 -0
  380. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/summary.md +0 -16
  381. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/client-export.json +0 -7
  382. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/installed-package.json +0 -76
  383. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/probe.json +0 -129
  384. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/shot.png +0 -0
  385. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/summary.md +0 -16
  386. package/40-checker/results/webruntime/REPORT.md +0 -253
  387. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/client-export.json +0 -7
  388. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/installed-package.json +0 -97
  389. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/probe.json +0 -129
  390. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/shot.png +0 -0
  391. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/summary.md +0 -16
  392. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/client-export.json +0 -7
  393. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/installed-package.json +0 -98
  394. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/probe.json +0 -136
  395. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/shot.png +0 -0
  396. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/summary.md +0 -16
  397. package/40-checker/results/webruntime/ci-diet/client-export.json +0 -10
  398. package/40-checker/results/webruntime/ci-diet/installed-package.json +0 -100
  399. package/40-checker/results/webruntime/ci-diet/probe.json +0 -129
  400. package/40-checker/results/webruntime/ci-diet/shot.png +0 -0
  401. package/40-checker/results/webruntime/ci-diet/summary.md +0 -16
  402. package/40-checker/results/webruntime/daily-log/client-export.json +0 -10
  403. package/40-checker/results/webruntime/daily-log/installed-package.json +0 -113
  404. package/40-checker/results/webruntime/daily-log/probe.json +0 -129
  405. package/40-checker/results/webruntime/daily-log/shot.png +0 -0
  406. package/40-checker/results/webruntime/daily-log/summary.md +0 -16
  407. package/40-checker/results/webruntime/howmp__dsh-pentest/client-export.json +0 -7
  408. package/40-checker/results/webruntime/howmp__dsh-pentest/installed-package.json +0 -90
  409. package/40-checker/results/webruntime/howmp__dsh-pentest/probe.json +0 -129
  410. package/40-checker/results/webruntime/howmp__dsh-pentest/shot.png +0 -0
  411. package/40-checker/results/webruntime/howmp__dsh-pentest/summary.md +0 -16
  412. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/client-export.json +0 -7
  413. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/installed-package.json +0 -164
  414. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/probe.json +0 -129
  415. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/shot.png +0 -0
  416. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/summary.md +0 -16
  417. package/40-checker/results/webruntime/liguobao__ds-harness-remote/client-export.json +0 -7
  418. package/40-checker/results/webruntime/liguobao__ds-harness-remote/installed-package.json +0 -166
  419. package/40-checker/results/webruntime/liguobao__ds-harness-remote/probe.json +0 -129
  420. package/40-checker/results/webruntime/liguobao__ds-harness-remote/shot.png +0 -0
  421. package/40-checker/results/webruntime/liguobao__ds-harness-remote/summary.md +0 -16
  422. package/40-checker/results/webruntime/local-pre-ci/README.md +0 -67
  423. package/40-checker/results/webruntime/local-pre-ci/client-exports.json +0 -158
  424. package/40-checker/results/webruntime/local-pre-ci/dsh-free-search.probe.json +0 -119
  425. package/40-checker/results/webruntime/local-pre-ci/dsh-pocket.probe.json +0 -119
  426. package/40-checker/results/webruntime/local-pre-ci/dsh-redteam-model.probe.json +0 -119
  427. package/40-checker/results/webruntime/local-pre-ci/qiushi-shell-only.probe.json +0 -104
  428. package/40-checker/results/webruntime/local-pre-ci/ui-auth-no-login.fail.json +0 -52
  429. package/40-checker/results/webruntime/local-pre-ci/ui-auth.probe.json +0 -123
  430. package/40-checker/results/webruntime/mmparko__dsh-purge/client-export.json +0 -7
  431. package/40-checker/results/webruntime/mmparko__dsh-purge/installed-package.json +0 -95
  432. package/40-checker/results/webruntime/mmparko__dsh-purge/probe.json +0 -136
  433. package/40-checker/results/webruntime/mmparko__dsh-purge/shot.png +0 -0
  434. package/40-checker/results/webruntime/mmparko__dsh-purge/summary.md +0 -16
  435. package/40-checker/results/webruntime/project-memory/client-export.json +0 -7
  436. package/40-checker/results/webruntime/project-memory/installed-package.json +0 -118
  437. package/40-checker/results/webruntime/project-memory/probe.json +0 -129
  438. package/40-checker/results/webruntime/project-memory/shot.png +0 -0
  439. package/40-checker/results/webruntime/project-memory/summary.md +0 -16
  440. package/40-checker/results/webruntime/qiushi/client-export.json +0 -7
  441. package/40-checker/results/webruntime/qiushi/installed-package.json +0 -84
  442. package/40-checker/results/webruntime/qiushi/probe.json +0 -114
  443. package/40-checker/results/webruntime/qiushi/shot.png +0 -0
  444. package/40-checker/results/webruntime/qiushi/summary.md +0 -16
  445. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/client-export.json +0 -7
  446. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/installed-package.json +0 -85
  447. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/probe.json +0 -129
  448. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/shot.png +0 -0
  449. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/summary.md +0 -16
  450. package/40-checker/results/webruntime/status-rotator/client-export.json +0 -7
  451. package/40-checker/results/webruntime/status-rotator/installed-package.json +0 -107
  452. package/40-checker/results/webruntime/status-rotator/probe.json +0 -129
  453. package/40-checker/results/webruntime/status-rotator/shot.png +0 -0
  454. package/40-checker/results/webruntime/status-rotator/summary.md +0 -16
  455. package/40-checker/results/webruntime/summary.json +0 -323
  456. package/40-checker/results/webruntime/telemetry/probe.json +0 -20
  457. package/40-checker/results/webruntime/telemetry/summary.md +0 -4
  458. package/40-checker/results/webruntime/ui-auth/client-export.json +0 -7
  459. package/40-checker/results/webruntime/ui-auth/installed-package.json +0 -94
  460. package/40-checker/results/webruntime/ui-auth/probe.json +0 -129
  461. package/40-checker/results/webruntime/ui-auth/shot.png +0 -0
  462. package/40-checker/results/webruntime/ui-auth/summary.md +0 -16
  463. package/40-checker/results/webruntime/verification/probe.json +0 -20
  464. package/40-checker/results/webruntime/verification/summary.md +0 -4
  465. package/40-checker/results/webruntime/ysr666__dsh-vision-router/client-export.json +0 -7
  466. package/40-checker/results/webruntime/ysr666__dsh-vision-router/installed-package.json +0 -142
  467. package/40-checker/results/webruntime/ysr666__dsh-vision-router/probe.json +0 -129
  468. package/40-checker/results/webruntime/ysr666__dsh-vision-router/shot.png +0 -0
  469. 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.