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,460 +0,0 @@
1
- # LEV-6 — stable prefix / assembly reuse (provider-capture, synthetic model)
2
-
3
- - **Status:** `measured` — **provider-capture (synthetic model, not billing)**
4
- - **Practice:** LEV-6 / stable prefix · assembly reuse (BOOST)
5
- - **DSH:** `@deepseek-ai/dsh@0.2.2-alpha.2`, Node `v24.22.1` (CI: `ubuntu-latest`, Node 24)
6
- - **Wire protocol:** Anthropic Messages `POST {baseURL}/v1/messages`, SSE stream
7
- (`anthropic-version: 2023-06-01`) — **not** OpenAI chat-completions; see §2
8
- - **Evidence:**
9
- [lev6.json](lev6.json) · [capture.jsonl](capture.jsonl) (275 KB, 4 raw requests) ·
10
- [capture-sample.json](capture-sample.json) (anatomy of one request) ·
11
- [replication-r1.json](replication-r1.json) (summary of the second, standalone replication)
12
- - **Harness:**
13
- [lev6-capture-server.mjs](../../../examples/boost/lev6-capture-server.mjs) ·
14
- [lev6-analyze.mjs](../../../examples/boost/lev6-analyze.mjs) ·
15
- [lev6-arm.patch.yml](../../../examples/boost/lev6-arm.patch.yml) ·
16
- [lev6-capture.yml](../../../.github/workflows/lev6-capture.yml)
17
- - **Generated at:** `2026-10-31T16:07:22.027Z` (JSON `generatedAt`); capture sha256
18
- `0b5a2e644548d63b67e37aae0f47aa2a1e7586c03b159c48ef653ba4aa74f19b`
19
- - **Claim scope:** assembled request prefix bytes/tokens and byte-reuse ratios
20
- only. **No billing, cost, or cache-hit claim is made anywhere in this
21
- report**, and the two replications below are two runs of the same two arms,
22
- not additional arms.
23
-
24
- ## 0. One-line result
25
-
26
- Two fresh headless sessions per arm, same short task, both pointed at a local
27
- synthetic endpoint: **arm A reused 100.00 % of the cacheable prompt prefix
28
- (25,785 / 25,785 bytes ≈ 6,447 estimated tokens) and 100 % of the 25,966-byte
29
- base request body**, while **arm B, whose persona prefix starts with a per-run
30
- nonce, reused 0 bytes and diverged at prompt byte 0**. Raw HTTP-body reuse was
31
- lower for both arms (A 40.99 %, B 6.44 %) because DSH appends a per-session
32
- `dsh_session_log` extension after the base request; that field, not the prompt,
33
- sets the wire-prefix boundary.
34
-
35
- ## 1. What is measured, and what is not
36
-
37
- | Measured | Not measured |
38
- |---|---|
39
- | The exact request bytes DSH assembled (captured verbatim over loopback) | Any real provider's cache behaviour or cache hit rate |
40
- | Longest common prefix with the previous request of the same arm, in raw wire bytes and in prompt order | Billing, price, or money saved |
41
- | Token counts under DSH's own fixed density, `ceil(bytes / 4)` | Real tokenizer output (DSH itself uses this heuristic, not a tokenizer) |
42
- | Session identity, headers, and request-extension contents | Whether `api.deepseek.com` accepts the extension fields (never contacted) |
43
-
44
- The token rule is DSH's, not an invention here: `CHARS_PER_TOKEN = 4` in
45
- `packages/llm/token-meter/src/estimate.ts`. The analyzer adds no per-block
46
- structural overhead because the metric is a byte-span prefix, not a rendered
47
- message price.
48
-
49
- ## 2. Correction to the experiment brief: the provider is Anthropic Messages
50
-
51
- The brief said `llm-deepseek` speaks an OpenAI-compatible chat-completions API.
52
- At `0.2.2-alpha.2` it does not, and a `/chat/completions` stub would have been
53
- rejected before any capture happened:
54
-
55
- | Evidence in the checkout | Value |
56
- |---|---|
57
- | `packages/llm/llm-deepseek/src/config.ts` `PUBLIC_BASE_URL` | `https://api.deepseek.com/anthropic` |
58
- | `packages/llm/llm-deepseek/src/messages-api.ts` `messagesApiRoot()` | appends `/v1` unless the base path already ends in `/v1` |
59
- | `packages/llm/llm-deepseek/src/adapter.ts` fetch | `POST ${messagesApiRoot(baseURL)}/messages`, `accept: text/event-stream`, `anthropic-version: 2023-06-01`, optional `anthropic-beta` |
60
- | `packages/llm/llm-deepseek/src/wire-types.ts` | `WireRequest` = `{model, stream, max_tokens, messages, system, thinking, output_config?, tools?}` |
61
- | `packages/llm/llm-deepseek/src/translate.ts` | requires `message_start` → block events → `message_delta.stop_reason` → `message_stop` |
62
-
63
- The capture server therefore implements `POST /v1/messages` and the six SSE
64
- events the translator accepts. **The DSH client accepted it on the first run**
65
- (exit 0, synthetic answer printed); no fallback to a lower-level capture was
66
- needed.
67
-
68
- ## 3. Method
69
-
70
- ### 3.1 Capture server
71
-
72
- `examples/boost/lev6-capture-server.mjs` — zero dependencies, never calls the
73
- network, writes one JSONL record per request and answers with a scripted
74
- Messages stream.
75
-
76
- | Route | Meaning |
77
- |---|---|
78
- | `GET /health` | readiness probe; also reports counters and the output path |
79
- | `POST /v1/messages` | arm `unspecified` |
80
- | `POST /<arm>/v1/messages` | arm `<arm>` — the URL path is the arm label |
81
-
82
- Each JSONL record carries `seq`, `arm`, `receivedAt`, `method`, `path`,
83
- `headers` (auth values replaced by `<redacted>`), `bodyBytes`, `bodySha256`,
84
- `model`, `sessionId`, `syntheticUsage`, and the exact `rawBody`. Non-Messages
85
- traffic is recorded with `kind: "other"` (0 such requests in this capture), so a
86
- rejected fake provider would be visible rather than silently dropped.
87
-
88
- `syntheticUsage` is derived from the request length (`ceil(bodyBytes / 4)`,
89
- output from the reply length) and is labelled as such. It exists to drive DSH's
90
- usage plumbing; the cache counters are explicitly `0` because the server models
91
- no caching.
92
-
93
- ### 3.2 Pointing DSH at the endpoint
94
-
95
- No source change and no credential file: two environment variables the provider
96
- already reads, plus a profile overlay.
97
-
98
- | Mechanism | Where it comes from |
99
- |---|---|
100
- | `DEEPSEEK_BASE_URL=http://127.0.0.1:<port>/<arm>` | `BASE_URL_ENV` in `llm-deepseek/src/config.ts`, resolved from the launch environment (`resolveAdapterOptions(config, environment)`) |
101
- | `DEEPSEEK_API_KEY=sk-lev6-fixture-no-real-key` | headless reads credentials from the launch environment (`packages/bundle/headless/README.md`); a blank or header-unsafe key fails `assertUsableApiKey`, any other value passes |
102
- | `DSH_HOME=<temp>/home-a` | isolated profile, sessions, storages — no user state is read |
103
- | `DSH_TELEMETRY_DISABLED=1` | opt out of the OTel exporter |
104
- | `LEV6_PERSONA_PREFIX` | read by the overlay below |
105
-
106
- Profile overlay `examples/boost/lev6-arm.patch.yml` (applied with `--patch`,
107
- after the bundle and profile layers):
108
-
109
- ```yaml
110
- - id: system-prompt
111
- config:
112
- includeHarnessIdentity: false # the persona prefix becomes prompt byte 0
113
- personaPrefix: !!js process.env.LEV6_PERSONA_PREFIX
114
- - id: session-title-llm
115
- disabled: true # otherwise a second, unrelated request per session
116
- - id: agent-default-model
117
- config:
118
- provider: deepseek-official
119
- model: deepseek-flash
120
- ```
121
-
122
- Both arms use the same overlay and the same task text
123
- (`Reply with one short sentence.`); they differ only in the persona prefix.
124
-
125
- ### 3.3 Arms and sessions
126
-
127
- | Arm | Persona prefix (first bytes of the system prompt) | Sessions |
128
- |---|---|---|
129
- | `arm-a` | `LEV6 persona prefix: stable benchmark persona.` | 2 fresh sessions, same bytes |
130
- | `arm-b` | `<fresh UUID v4> LEV6 persona prefix: stable benchmark persona.` | 2 fresh sessions, new UUID per run |
131
-
132
- Fresh sessions are real: headless creates a new `session-<uuid>` per invocation,
133
- each with its own session log in its `DSH_HOME`; the capture confirms 4 distinct
134
- `x-deepseek-harness-session-id` values for 4 requests.
135
-
136
- ### 3.4 Analyzer: two prefix views
137
-
138
- `examples/boost/lev6-analyze.mjs` is pure (file in, JSON/markdown out):
139
-
140
- 1. **wire** — the raw HTTP body bytes. This is the literal capture. Note that
141
- DSH serializes `messages` **before** `system` and `tools`, so this view
142
- understates a stable system prompt.
143
- 2. **promptOrder** — the cacheable prompt in provider order:
144
- `system` text ‖ tool-schema JSON ‖ messages JSON, no separators. This is a
145
- documented, deterministic canonicalization of the captured request (not a
146
- second capture) that mirrors the order a prefix-caching provider hashes.
147
-
148
- Both views report: request count, total input bytes/tokens, prefix-reused
149
- bytes/tokens, reuse ratio (reused ÷ the bytes that have a predecessor), and the
150
- first divergence offset. The wire view additionally names the top-level field
151
- that contains the divergence and reports whether the **base request** — every
152
- field before the plugin request extensions — was fully reused.
153
-
154
- ### 3.5 Local validation
155
-
156
- Endpoint smoke test with `curl` (see §7), then two independent replications of
157
- the full experiment on WSL2 Ubuntu 24.04:
158
-
159
- | Replication | How | Body sizes (A1/A2/B1/B2) |
160
- |---|---|---|
161
- | R1 | direct `node <dsh>/lib/bin.js --profile headless …` runs, 4 sessions | 63,582 / 63,582 / 63,656 / 63,656 bytes |
162
- | R2 | the CI workflow's `run:` steps executed verbatim by a local harness with a `dsh` shim | 63,568 / 63,568 / 63,642 / 63,642 bytes |
163
-
164
- R1 and R2 are **two independent replications of the same experiment — the same
165
- two arms (`arm-a`, `arm-b`) re-executed — not a third and fourth arm.** The
166
- experiment proper has exactly two arms and four sessions; R1/R2 exist only to
167
- show the result repeats across two independent runs of the same code path.
168
-
169
- R2 is the committed capture (`capture.jsonl`, `lev6.json`); R1's summary is
170
- [replication-r1.json](replication-r1.json) (its raw capture lived in a scratch
171
- directory and is not committed). The ±14-byte offset between replications is the
172
- length of the workspace path echoed into the runtime context message. Every
173
- conclusion below holds identically in both.
174
-
175
- ## 4. Results
176
-
177
- `40-checker/results/lev6/lev6.json`, capture sha256 `0b5a2e64…`:
178
-
179
- | arm | requests | sessions | input bytes | input tokens | wire reused | wire reuse | wire 1st divergence | base request | base fully reused | prompt reused | prompt reuse | prompt 1st divergence |
180
- |---|---|---|---|---|---|---|---|---|---|---|---|---|
181
- | `arm-a` | 2 | 2 | 127,136 | 31,784 | 26,059 B / 6,515 tok | **40.99 %** | 26,059 (`dsh_session_log`) | 25,966 B | **yes (25,966/25,966)** | 25,785 B / 6,447 tok | **100.00 %** | none |
182
- | `arm-b` | 2 | 2 | 127,284 | 31,821 | 4,098 B / 1,025 tok | **6.44 %** | 4,098 (`system`, +0 into the system value) | 26,003 B | no (4,098/26,003) | 0 B / 0 tok | **0.00 %** | **0 (`system`)** |
183
-
184
- Per-request facts:
185
-
186
- | arm | seq | session | bytes | tokens | base request bytes |
187
- |---|---|---|---|---|---|
188
- | `arm-a` | 1 | `session-83128dee-a158-411f-8ed1-9e60b07ffea7` | 63,568 | 15,892 | 25,966 |
189
- | `arm-a` | 2 | `session-032ee526-b3fb-49ee-a9f0-5f44ba918c71` | 63,568 | 15,892 | 25,966 |
190
- | `arm-b` | 3 | `session-ec7578bc-d8e6-4e94-8384-8a308f6f0172` | 63,642 | 15,911 | 26,003 |
191
- | `arm-b` | 4 | `session-e560bada-6790-4759-9f46-d2302449670d` | 63,642 | 15,911 | 26,003 |
192
-
193
- R1 (standalone) gives the same picture: arm A wire reuse 40.99 % (26,063 B),
194
- base 100 % (25,970/25,970), prompt 100 % (25,789/25,789); arm B wire 6.44 %
195
- (4,102 B), prompt 0.00 % with divergence at prompt byte 0.
196
-
197
- Assertions (all 11 pass in R1 and R2; the analyzer exits non-zero on failure):
198
-
199
- | id | R2 result | detail |
200
- |---|---|---|
201
- | `captures-two-arms` | PASS | `arm-a(2), arm-b(2)` |
202
- | `two-requests-per-arm` | PASS | 2 per arm |
203
- | `fresh-session-per-request` | PASS | 2/2 distinct sessions per arm |
204
- | `same-task-text-per-arm` | PASS | canonical messages identical within each arm |
205
- | `stable-prompt-prefix-reuse` | PASS | arm A prompt reuse 100.00 % (≥ 95 %) |
206
- | `stable-base-request-reused` | PASS | arm A base request 25,966/25,966 B; the wire prefix stops only at `dsh_session_log` |
207
- | `volatile-diverges-at-prompt-byte-zero` | PASS | arm B prompt divergence 0 in `system` (≤ 16) |
208
- | `volatile-prompt-reuse-is-small` | PASS | arm B prompt reuse 0.00 % (≤ 5 %) |
209
- | `volatile-wire-diverges-at-system-prefix-start` | PASS | arm B wire divergence 4,098, i.e. 0 bytes into the system value |
210
- | `volatile-wire-diverges-at-system-field` | PASS | arm B wire divergence field = `system` |
211
- | `arms-are-distinguishable` | PASS | prompt reuse gap 100.00 pp (≥ 50 pp) |
212
-
213
- ## 5. Where the 63.5 KB goes — request anatomy
214
-
215
- From `capture-sample.json` (arm A, seq 1). Top-level fields, in wire order and
216
- byte size:
217
-
218
- | # | field | offset | bytes | kind |
219
- |---|---|---|---|---|
220
- | 1 | `model` | 1 | 16 | base |
221
- | 2 | `stream` | 26 | 4 | base |
222
- | 3 | `messages` | 40 | 3,952 | base |
223
- | 4 | `max_tokens` | 4,004 | 6 | base |
224
- | 5 | `thinking` | 4,024 | 18 | base |
225
- | 6 | `output_config` | 4,054 | 17 | base |
226
- | 7 | `system` | 4,088 | 2,665 (text 2,639) | base |
227
- | 8 | `tools` | 6,763 | 19,194 (24 tools) | base |
228
- | 9 | `dsh_session_log` | 25,966 | 31,509 | extension |
229
- | 10 | `dsh_plugin_packages` | 57,494 | 6,051 (87 packages) | extension |
230
-
231
- Two facts follow directly, and they matter for LEV-6:
232
-
233
- 1. **The base request is the stable unit, and it is only 41 % of the bytes.**
234
- The remaining 59 % (37,602 B) are plugin request extensions appended by
235
- `prepareRequestExtensions` (`JSON.stringify({ ...body, ...fields })`). The
236
- `dsh_session_log` field carries the session envelope (`session.id`,
237
- `createdAt`, `cwd`) and therefore differs between every fresh session; the
238
- `dsh_plugin_packages` inventory is constant for one installation.
239
- 2. **`dsh_session_log` re-sends much of the request.** Its 14 wire events
240
- include a 2,826-byte `system/message` copy of the system prompt, a
241
- 19,357-byte `request/header` copy of the tool schemas, and 152 + 1,526 +
242
- 5,845-byte `user/message` copies — i.e. the payload is duplicated behind a
243
- per-session identifier. Whether a provider charges for these bytes is a
244
- provider-side billing question this experiment does not answer; what is
245
- measured is that DSH assembles and sends them.
246
-
247
- Event breakdown of `dsh_session_log` in this request:
248
- `permission/preset` 28 · `sandbox/mode` 26 · `approval/policy` 16 ·
249
- `agent/inbox/spliced` 198 + 63 · `turn/start` 10 · `step/start` 19 ·
250
- `system/message` 2,826 · `user/message` 152 + 1,526 + 5,845 ·
251
- `request/header` 19,357 · `request/context` 115 · `session/title` 89.
252
-
253
- Headers of the same request:
254
-
255
- ```http
256
- POST /arm-a/v1/messages HTTP/1.1
257
- host: 127.0.0.1:8787
258
- connection: keep-alive
259
- user-agent: deepseek-harness/0.2.2-alpha.2 (+https://github.com/deepseek-ai/deepseek-harness)
260
- content-type: application/json
261
- accept: text/event-stream
262
- x-api-key: <redacted>
263
- anthropic-version: 2023-06-01
264
- x-deepseek-harness-user-id: ff34d592-c014-43a0-aacd-fae009d599c7
265
- x-deepseek-harness-session-id: session-83128dee-a158-411f-8ed1-9e60b07ffea7
266
- accept-language: *
267
- sec-fetch-mode: cors
268
- accept-encoding: gzip, deflate
269
- content-length: 63568
270
- ```
271
-
272
- No `anthropic-beta` header was needed: no file API, no in-history tool changes.
273
-
274
- ## 6. What this means for the LEV-6 practice
275
-
276
- - **A stable system prefix is achievable and byte-exact.** With the same
277
- persona and the same task, two fresh sessions assemble a base request that is
278
- byte-identical (25,966/25,966 B), including the 24 tool schemas and the
279
- system prompt. Nothing volatile leaks into `system`, `tools`, or `messages`
280
- in this composition — no clock, no session id, no port, no cwd inside the
281
- prompt (the cwd appears in the runtime-context *context* message, which is
282
- stable for a fixed workspace).
283
- - **One nonce at the first prompt byte erases the whole prompt prefix.** Arm B
284
- diverges at prompt byte 0 and reuses nothing, even though the rest of the
285
- system prompt, all 24 tool schemas, and the entire message list are
286
- unchanged. The lesson for plugin authors is the one LEV-6 states: put
287
- per-run values in runtime context (a separate user-role snapshot), never in
288
- the persona/system prefix.
289
- - **Raw request bytes are the wrong prefix model for this harness.** DSH
290
- appends `dsh_session_log` *after* the base request, and that field carries
291
- the session id. A provider that cached raw HTTP bytes would stop at byte
292
- 25,966 regardless of how stable the prompt is (hence A's 40.99 %); a
293
- provider that caches the semantic prompt (system → tools → messages) would
294
- see the full 25,785 bytes (100 %). The `promptOrder` view exists so the two
295
- effects are not confused. Neither view is a measured cache hit.
296
- - **The JSON key order is a trap when auditing this by hand.** `system` is
297
- serialized after `messages` (offset 4,088 of 63,568), so a naive "first
298
- differing byte" reading of a volatile *system* prefix reports ~4 KB instead
299
- of the 2.6 KB prompt. The analyzer therefore reports both the wire offset and
300
- the offset inside the system value (`+0` for arm B).
301
-
302
- ## 7. Recorded sample request
303
-
304
- Endpoint validation with `curl` (arm route, hand-written 194-byte body). Nothing
305
- is redacted for sensitivity: the only key involved is the fixture value
306
- `sk-lev6-curl-sample-not-a-real-key`, redacted by the server's header policy.
307
-
308
- ```console
309
- $ curl -sS -D - -X POST http://127.0.0.1:8798/arm-a/v1/messages \
310
- -H 'content-type: application/json' \
311
- -H 'x-api-key: sk-lev6-curl-sample-not-a-real-key' \
312
- -H 'anthropic-version: 2023-06-01' \
313
- --data '{"model":"deepseek-flash","stream":true,"max_tokens":64,
314
- "messages":[{"role":"user","content":[{"type":"text","text":"Say hi."}]}],
315
- "system":"You are a test agent.","thinking":{"type":"disabled"}}'
316
- HTTP/1.1 200 OK
317
- content-type: text/event-stream; charset=utf-8
318
- cache-control: no-cache, no-transform
319
- connection: keep-alive
320
- x-lev6-capture: synthetic
321
-
322
- event: message_start
323
- data: {"type":"message_start","message":{"id":"msg_lev6_synthetic","type":"message","role":"assistant","model":"deepseek-flash","content":[],"usage":{"input_tokens":49,"output_tokens":0,"cache_read_input_tokens":0,"cache_creation_input_tokens":0}}}
324
-
325
- event: content_block_start
326
- data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
327
-
328
- event: content_block_delta
329
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"LEV6 synthetic reply (no model was called)."}}
330
-
331
- event: content_block_stop
332
- event: message_delta … {"stop_reason":"end_turn","usage":{"output_tokens":11}}
333
- event: message_stop
334
- ```
335
-
336
- The record written for it (`rawBody`, byte-exact):
337
-
338
- ```json
339
- {"model":"deepseek-flash","stream":true,"max_tokens":64,"messages":[{"role":"user","content":[{"type":"text","text":"Say hi."}]}],"system":"You are a test agent.","thinking":{"type":"disabled"}}
340
- ```
341
-
342
- `bodyBytes: 194`, `bodySha256: 56f65947…`, `syntheticUsage.input_tokens: 49`.
343
- The real DSH request from the experiment is in
344
- [capture-sample.json](capture-sample.json) (field table, headers, event
345
- breakdown, first 1,600 bytes) and verbatim in [capture.jsonl](capture.jsonl).
346
-
347
- ## 8. CI: exact command and artifacts
348
-
349
- Workflow: [.github/workflows/lev6-capture.yml](../../../.github/workflows/lev6-capture.yml),
350
- manual trigger only.
351
-
352
- ```console
353
- gh workflow run lev6-capture.yml # or: Actions → lev6-capture → Run workflow
354
- gh run watch
355
- gh run download <run-id> -n lev6-capture
356
- ```
357
-
358
- What the job does, in order: Node 24 + `npm install --global
359
- @deepseek-ai/dsh@0.2.2-alpha.2` → start the capture server on
360
- `127.0.0.1:8787` (`--reset`, so each run starts empty) and wait for `/health` →
361
- in an **empty workspace** under the runner temp dir, run `dsh --profile headless
362
- --patch examples/boost/lev6-arm.patch.yml "Reply with one short sentence."`
363
- twice for `arm-a` (constant persona) and twice for `arm-b` (fresh
364
- `crypto.randomUUID()` per run), each arm with its own `DSH_HOME` → stop the
365
- server → run the analyzer with `--assert` → publish the markdown table to the
366
- job page → upload the artifact even if assertions fail → fail the job if the
367
- analyzer exited non-zero.
368
-
369
- The artifact `lev6-capture` contains `capture.jsonl`, `lev6.json` (written by CI
370
- as `summary.json`; same object), `summary.md`, `server.out`, `server.err`, the
371
- four `stdout-*.txt` / `stderr-*.txt` pairs, `nonces.txt`, and the recorded
372
- toolchain versions.
373
-
374
- ## 9. Limitations and non-claims
375
-
376
- - **Synthetic model.** The server returns a fixed text block; no model ran.
377
- Tool-call streaming, thinking blocks, and multi-turn tool loops are not
378
- exercised, so this says nothing about those paths' assembly.
379
- - **No provider, no cache, no billing.** No provider cache was hit or
380
- emulated; the `usage` counters are derived from request bytes and the cache
381
- counters are zero. "Reuse ratio" here is a byte-prefix property of two
382
- assembled requests, not a cache hit rate and not money.
383
- - **`promptOrder` is a model.** It is a deterministic canonicalization
384
- (`system` ‖ tools ‖ messages) of the captured bytes. A real provider may
385
- serialize tool schemas differently; the view is labelled and never mixed with
386
- the raw capture.
387
- - **Framework fields are unverified against the official gateway.** The
388
- `dsh_session_log` and `dsh_plugin_packages` extensions are what DSH assembles
389
- for the official route in this composition; whether `api.deepseek.com`
390
- accepts or bills them was not tested (no request left the machine).
391
- - **Composition deviations, both arms equally:** `session-title-llm` is
392
- disabled (it would add a second, differently-shaped request per session, and
393
- the capture would mix two request kinds), and `includeHarnessIdentity` is off
394
- so the configurable persona is prompt byte 0 (the shipped headless profile
395
- starts with a fixed identity section). Restoring the default would move arm
396
- B's divergence to the persona section offset, not to 0, without changing the
397
- conclusion.
398
- - **Two sessions per arm, one task, one host.** Linux/WSL2 locally and
399
- `ubuntu-latest` in CI; no Windows/macOS run. Byte counts shift with the
400
- workspace path length (observed ±14 bytes), which is why the assertions are
401
- relative, not absolute.
402
- - **Session identity drives the wire boundary.** The `dsh_session_log`
403
- envelope means the wire prefix can never reach 100 % across fresh sessions,
404
- even for a perfect prefix. That is a property of this DSH composition, and
405
- the report states it rather than hiding it behind the prompt-order number.
406
-
407
- ## 10. Reproduction (local)
408
-
409
- ```sh
410
- # 1. install the anchor (CI installs globally; locally a project install is fine)
411
- npm install @deepseek-ai/dsh@0.2.2-alpha.2
412
-
413
- # 2. capture server
414
- node examples/boost/lev6-capture-server.mjs \
415
- --port 8787 --out capture.jsonl --reset &
416
-
417
- # 3. two fresh sessions per arm, empty workspace, isolated homes
418
- mkdir -p /tmp/lev6/workspace
419
- for run in 1 2; do
420
- ( cd /tmp/lev6/workspace && \
421
- DSH_HOME=/tmp/lev6/home-a \
422
- DEEPSEEK_API_KEY=sk-lev6-fixture-no-real-key \
423
- DEEPSEEK_BASE_URL=http://127.0.0.1:8787/arm-a \
424
- DSH_TELEMETRY_DISABLED=1 \
425
- LEV6_PERSONA_PREFIX='LEV6 persona prefix: stable benchmark persona.' \
426
- dsh --profile headless --patch "$PWD/examples/boost/lev6-arm.patch.yml" \
427
- 'Reply with one short sentence.' )
428
- done
429
- for run in 1 2; do
430
- nonce="$(node -p 'crypto.randomUUID()')"
431
- ( cd /tmp/lev6/workspace && \
432
- DSH_HOME=/tmp/lev6/home-b \
433
- DEEPSEEK_API_KEY=sk-lev6-fixture-no-real-key \
434
- DEEPSEEK_BASE_URL=http://127.0.0.1:8787/arm-b \
435
- DSH_TELEMETRY_DISABLED=1 \
436
- LEV6_PERSONA_PREFIX="$nonce LEV6 persona prefix: stable benchmark persona." \
437
- dsh --profile headless --patch "$PWD/examples/boost/lev6-arm.patch.yml" \
438
- 'Reply with one short sentence.' )
439
- done
440
-
441
- # 4. pure analysis (exit 1 if an expectation fails)
442
- node examples/boost/lev6-analyze.mjs \
443
- --capture capture.jsonl --out lev6.json --markdown summary.md --assert
444
- ```
445
-
446
- ---
447
-
448
- ## CI replication (2026-11-01)
449
-
450
- `lev6-capture` run [41218936165](https://github.com/PerryLink/dsh-standards/actions/runs/41218936165)
451
- completed with the analyzer's 11/11 assertions:
452
-
453
- | arm | wire reuse | base request fully reused | prompt-order reuse | prompt first divergence |
454
- |---|---|---|---|---|
455
- | arm-a (stable) | 42.05% (22,855 B) | yes, 22,762/22,762 B | **100.00%** (22,581 B) | none |
456
- | arm-b (per-run nonce) | 1.64% (894 B) | no | **0.00%** (0 B) | **0 (`system`)** |
457
-
458
- Absolute byte counts differ from the committed capture because the CI workspace
459
- path and profile layers change the serialized prefix; the relative result and the
460
- falsification are identical. Artifact: `lev6-capture` (run 41218936165).