dsh-standards 0.0.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/40-checker/.github/workflows/plugin-verify.yml +70 -0
  2. package/40-checker/README.md +251 -0
  3. package/40-checker/bin/dsh-levels.mjs +15 -0
  4. package/40-checker/bin/dsh-plugin-verify.mjs +8 -0
  5. package/40-checker/fixtures/bad/index.mjs +12 -0
  6. package/40-checker/fixtures/bad/package.json +15 -0
  7. package/40-checker/fixtures/bad-manifest/index.js +1 -0
  8. package/40-checker/fixtures/bad-manifest/package.json +5 -0
  9. package/40-checker/fixtures/bundle/cordis.patch.yml +3 -0
  10. package/40-checker/fixtures/bundle/package.json +15 -0
  11. package/40-checker/fixtures/bundle/server.mjs +7 -0
  12. package/40-checker/fixtures/bundle-v0/cordis.patch.yml +3 -0
  13. package/40-checker/fixtures/bundle-v0/package.json +21 -0
  14. package/40-checker/fixtures/bundle-v0/server.mjs +7 -0
  15. package/40-checker/fixtures/client-missing/client.js +1 -0
  16. package/40-checker/fixtures/client-missing/index.js +1 -0
  17. package/40-checker/fixtures/client-missing/package.json +6 -0
  18. package/40-checker/fixtures/flow-config/index.js +9 -0
  19. package/40-checker/fixtures/flow-config/package.json +10 -0
  20. package/40-checker/fixtures/fs-write/index.mjs +7 -0
  21. package/40-checker/fixtures/fs-write/package.json +10 -0
  22. package/40-checker/fixtures/good/index.mjs +10 -0
  23. package/40-checker/fixtures/good/package.json +19 -0
  24. package/40-checker/fixtures/hang/index.mjs +5 -0
  25. package/40-checker/fixtures/hang/package.json +10 -0
  26. package/40-checker/fixtures/known-answer/expected.json +18 -0
  27. package/40-checker/fixtures/market-index-real.json +18 -0
  28. package/40-checker/fixtures/market-index.json +18 -0
  29. package/40-checker/fixtures/negative/bad-entry/package.json +1 -0
  30. package/40-checker/fixtures/negative/no-entry/package.json +1 -0
  31. package/40-checker/fixtures/negative/no-patch/package.json +1 -0
  32. package/40-checker/fixtures/negative/root-missing/cordis.patch.yml +2 -0
  33. package/40-checker/fixtures/negative/root-missing/package.json +1 -0
  34. package/40-checker/fixtures/negative/workspace/package.json +1 -0
  35. package/40-checker/package.json +22 -0
  36. package/40-checker/results/boost/REPORT.md +304 -0
  37. package/40-checker/results/boost/lev12458.json +1747 -0
  38. package/40-checker/results/client/README.md +16 -0
  39. package/40-checker/results/entry/18/DDDMUC__dsh-free-search.json +381 -0
  40. package/40-checker/results/entry/18/DDDMUC__dsh-free-search.runtime.json +34 -0
  41. package/40-checker/results/entry/18/Ebony-Vinyl__dsh-our-free-model.json +361 -0
  42. package/40-checker/results/entry/18/Ebony-Vinyl__dsh-our-free-model.runtime.json +34 -0
  43. package/40-checker/results/entry/18/README.md +24 -0
  44. package/40-checker/results/entry/18/RUNTIME.md +18 -0
  45. package/40-checker/results/entry/18/SeaOf0__dsh-redteam-model.json +391 -0
  46. package/40-checker/results/entry/18/YuJunZhiXue__dsh-purge.json +432 -0
  47. package/40-checker/results/entry/18/ci-diet.json +365 -0
  48. package/40-checker/results/entry/18/ci-diet.runtime-attempt.json +38 -0
  49. package/40-checker/results/entry/18/daily-log.json +357 -0
  50. package/40-checker/results/entry/18/daily-log.runtime.json +519 -0
  51. package/40-checker/results/entry/18/fullbase/ATTRIBUTION.md +29 -0
  52. package/40-checker/results/entry/18/fullbase/DDDMUC__dsh-free-search.json +99 -0
  53. package/40-checker/results/entry/18/fullbase/Ebony-Vinyl__dsh-our-free-model.json +95 -0
  54. package/40-checker/results/entry/18/fullbase/REPORT.md +261 -0
  55. package/40-checker/results/entry/18/fullbase/SeaOf0__dsh-redteam-model.json +144 -0
  56. package/40-checker/results/entry/18/fullbase/YuJunZhiXue__dsh-purge.json +106 -0
  57. package/40-checker/results/entry/18/fullbase/ci-diet.json +99 -0
  58. package/40-checker/results/entry/18/fullbase/daily-log.json +94 -0
  59. package/40-checker/results/entry/18/fullbase/howmp__dsh-pentest.json +104 -0
  60. package/40-checker/results/entry/18/fullbase/kingcharleslzy-ai__dsh-purge.json +143 -0
  61. package/40-checker/results/entry/18/fullbase/liguobao__ds-harness-remote.json +134 -0
  62. package/40-checker/results/entry/18/fullbase/mmparko__dsh-purge.json +138 -0
  63. package/40-checker/results/entry/18/fullbase/project-memory.json +108 -0
  64. package/40-checker/results/entry/18/fullbase/qiushi.json +94 -0
  65. package/40-checker/results/entry/18/fullbase/shaobeichen__dsh-pocket.json +94 -0
  66. package/40-checker/results/entry/18/fullbase/status-rotator.json +94 -0
  67. package/40-checker/results/entry/18/fullbase/summary.json +297 -0
  68. package/40-checker/results/entry/18/fullbase/telemetry.json +94 -0
  69. package/40-checker/results/entry/18/fullbase/ui-auth.json +94 -0
  70. package/40-checker/results/entry/18/fullbase/verification.json +94 -0
  71. package/40-checker/results/entry/18/fullbase/ysr666__dsh-vision-router.json +106 -0
  72. package/40-checker/results/entry/18/howmp__dsh-pentest.json +361 -0
  73. package/40-checker/results/entry/18/kingcharleslzy-ai__dsh-purge.json +411 -0
  74. package/40-checker/results/entry/18/liguobao__ds-harness-remote.json +379 -0
  75. package/40-checker/results/entry/18/mmparko__dsh-purge.json +441 -0
  76. package/40-checker/results/entry/18/project-memory.json +361 -0
  77. package/40-checker/results/entry/18/project-memory.runtime.json +519 -0
  78. package/40-checker/results/entry/18/qiushi.json +353 -0
  79. package/40-checker/results/entry/18/qiushi.runtime.json +519 -0
  80. package/40-checker/results/entry/18/realweb/REPORT.md +73 -0
  81. package/40-checker/results/entry/18/realweb/SeaOf0__dsh-redteam-model.json +104 -0
  82. package/40-checker/results/entry/18/realweb/YuJunZhiXue__dsh-purge.json +64 -0
  83. package/40-checker/results/entry/18/realweb/howmp__dsh-pentest.json +65 -0
  84. package/40-checker/results/entry/18/realweb/kingcharleslzy-ai__dsh-purge.json +75 -0
  85. package/40-checker/results/entry/18/realweb/mmparko__dsh-purge.json +70 -0
  86. package/40-checker/results/entry/18/realweb/shaobeichen__dsh-pocket.json +56 -0
  87. package/40-checker/results/entry/18/realweb/summary.json +196 -0
  88. package/40-checker/results/entry/18/realweb/ui-auth.json +56 -0
  89. package/40-checker/results/entry/18/realweb/ysr666__dsh-vision-router.json +61 -0
  90. package/40-checker/results/entry/18/richbase/REPORT.md +70 -0
  91. package/40-checker/results/entry/18/richbase/SeaOf0__dsh-redteam-model.json +61 -0
  92. package/40-checker/results/entry/18/richbase/SeaOf0__dsh-redteam-model.log +38 -0
  93. package/40-checker/results/entry/18/shaobeichen__dsh-pocket.json +363 -0
  94. package/40-checker/results/entry/18/status-rotator.json +362 -0
  95. package/40-checker/results/entry/18/status-rotator.runtime.json +519 -0
  96. package/40-checker/results/entry/18/summary.json +266 -0
  97. package/40-checker/results/entry/18/targetonly/DDDMUC__dsh-free-search.json +34 -0
  98. package/40-checker/results/entry/18/targetonly/Ebony-Vinyl__dsh-our-free-model.json +34 -0
  99. package/40-checker/results/entry/18/targetonly/SeaOf0__dsh-redteam-model.json +84 -0
  100. package/40-checker/results/entry/18/targetonly/YuJunZhiXue__dsh-purge.json +52 -0
  101. package/40-checker/results/entry/18/targetonly/ci-diet.json +34 -0
  102. package/40-checker/results/entry/18/targetonly/daily-log.json +34 -0
  103. package/40-checker/results/entry/18/targetonly/howmp__dsh-pentest.json +46 -0
  104. package/40-checker/results/entry/18/targetonly/kingcharleslzy-ai__dsh-purge.json +61 -0
  105. package/40-checker/results/entry/18/targetonly/liguobao__ds-harness-remote.json +39 -0
  106. package/40-checker/results/entry/18/targetonly/mmparko__dsh-purge.json +57 -0
  107. package/40-checker/results/entry/18/targetonly/project-memory.json +34 -0
  108. package/40-checker/results/entry/18/targetonly/qiushi.json +34 -0
  109. package/40-checker/results/entry/18/targetonly/shaobeichen__dsh-pocket.json +34 -0
  110. package/40-checker/results/entry/18/targetonly/status-rotator.json +34 -0
  111. package/40-checker/results/entry/18/targetonly/summary.json +133 -0
  112. package/40-checker/results/entry/18/targetonly/telemetry.json +34 -0
  113. package/40-checker/results/entry/18/targetonly/ui-auth.json +34 -0
  114. package/40-checker/results/entry/18/targetonly/verification.json +34 -0
  115. package/40-checker/results/entry/18/targetonly/ysr666__dsh-vision-router.json +43 -0
  116. package/40-checker/results/entry/18/telemetry.json +349 -0
  117. package/40-checker/results/entry/18/ui-auth.json +369 -0
  118. package/40-checker/results/entry/18/verification.json +358 -0
  119. package/40-checker/results/entry/18/ysr666__dsh-vision-router.json +409 -0
  120. package/40-checker/results/fixtures/bad.json +347 -0
  121. package/40-checker/results/fixtures/bundle.json +378 -0
  122. package/40-checker/results/fixtures/good-listing.json +382 -0
  123. package/40-checker/results/fixtures/good-static.json +322 -0
  124. package/40-checker/results/fixtures/good.json +375 -0
  125. package/40-checker/results/fixtures/good.sarif +274 -0
  126. package/40-checker/results/flow/README.md +19 -0
  127. package/40-checker/results/flow/j3-j7-fixture.json +51 -0
  128. package/40-checker/results/flow/j5-j8-client-missing.json +45 -0
  129. package/40-checker/results/flow/j5-j8-good.json +45 -0
  130. package/40-checker/results/flow/journey-fixture-bundle.json +90 -0
  131. package/40-checker/results/flow/journey-fixture-j1-j2-j4-j6.json +107 -0
  132. package/40-checker/results/flow/real/DDDMUC__dsh-free-search.json +297 -0
  133. package/40-checker/results/flow/real/REPORT.md +335 -0
  134. package/40-checker/results/flow/real/YuJunZhiXue__dsh-purge.json +317 -0
  135. package/40-checker/results/flow/real/ci-diet.json +351 -0
  136. package/40-checker/results/flow/real/daily-log.json +286 -0
  137. package/40-checker/results/flow/real/index.json +325 -0
  138. package/40-checker/results/flow/real/project-memory.json +290 -0
  139. package/40-checker/results/flow/real/qiushi.json +277 -0
  140. package/40-checker/results/flow/real/status-rotator.json +275 -0
  141. package/40-checker/results/flow/real/telemetry.json +178 -0
  142. package/40-checker/results/flow/real/ui-auth.json +288 -0
  143. package/40-checker/results/flow/real/verification.json +265 -0
  144. package/40-checker/results/governance/co-maintainer-packet.md +85 -0
  145. package/40-checker/results/l1/ci-diet.json +406 -0
  146. package/40-checker/results/l1/npm-dsh-telemetry-redactor-0.1.0.json +390 -0
  147. package/40-checker/results/l1/npm-dsh-verification-receipt-0.1.0.json +406 -0
  148. package/40-checker/results/l1/npm-qiushi-dsh-evidence-audit-0.1.0.json +394 -0
  149. package/40-checker/results/l1/npm-zzerx-dsh-plugin-daily-log-0.4.3.json +405 -0
  150. package/40-checker/results/l1/project-memory.json +402 -0
  151. package/40-checker/results/l1/source-DDDMUC__dsh-free-search.json +422 -0
  152. package/40-checker/results/l1/source-Ebony-Vinyl__dsh-our-free-model.json +421 -0
  153. package/40-checker/results/l1/source-SeaOf0__dsh-redteam-model.json +432 -0
  154. package/40-checker/results/l1/source-YuJunZhiXue__dsh-purge.json +473 -0
  155. package/40-checker/results/l1/source-howmp__dsh-pentest.json +402 -0
  156. package/40-checker/results/l1/source-kingcharleslzy-ai__dsh-purge.json +452 -0
  157. package/40-checker/results/l1/source-liguobao__ds-harness-remote.json +420 -0
  158. package/40-checker/results/l1/source-mmparko__dsh-purge.json +482 -0
  159. package/40-checker/results/l1/source-shaobeichen__dsh-pocket.json +404 -0
  160. package/40-checker/results/l1/source-ysr666__dsh-vision-router.json +384 -0
  161. package/40-checker/results/l1/status-rotator.json +403 -0
  162. package/40-checker/results/l1/ui-auth.json +429 -0
  163. package/40-checker/results/l1/ysr666__dsh-vision-router.published.json +384 -0
  164. package/40-checker/results/lev3/REPORT.md +342 -0
  165. package/40-checker/results/lev3/lev3.json +4835 -0
  166. package/40-checker/results/lev6/REPORT.md +460 -0
  167. package/40-checker/results/lev6/capture-sample.json +241 -0
  168. package/40-checker/results/lev6/capture.jsonl +4 -0
  169. package/40-checker/results/lev6/lev6.json +245 -0
  170. package/40-checker/results/lev6/replication-r1.json +245 -0
  171. package/40-checker/results/levels/README.md +16 -0
  172. package/40-checker/results/levels/dsh-plugin-doctor.json +141 -0
  173. package/40-checker/results/levels/dsh-plugin-guide.json +136 -0
  174. package/40-checker/results/m1/dsh-ci-diet-0.5.2.json +352 -0
  175. package/40-checker/results/m1/dsh-status-rotator-0.38.0.json +349 -0
  176. package/40-checker/results/m1/dsh-telemetry-redactor-0.1.0.json +336 -0
  177. package/40-checker/results/m1/dsh-ui-auth-0.7.1.json +356 -0
  178. package/40-checker/results/m1/dsh-verification-receipt-0.1.0.json +344 -0
  179. package/40-checker/results/m1/index-level.json +13 -0
  180. package/40-checker/results/m1/levels.json +72100 -0
  181. package/40-checker/results/m1/qiushi-dsh-evidence-audit-0.1.0.json +339 -0
  182. package/40-checker/results/m1/yolk_vat-y-dsh-project-memory-0.6.7.json +348 -0
  183. package/40-checker/results/m1/zzerx-dsh-plugin-daily-log-0.4.3.json +344 -0
  184. package/40-checker/results/m2/dsh-ci-diet.json +421 -0
  185. package/40-checker/results/m2/dsh-ci-diet.unshare-landlock.json +424 -0
  186. package/40-checker/results/m2/dsh-ci-diet.unshare.json +423 -0
  187. package/40-checker/results/m2/fixture-bundle.image.json +404 -0
  188. package/40-checker/results/m2/fixture-bundle.json +392 -0
  189. package/40-checker/results/m2/fixture-bundle.landlock.json +396 -0
  190. package/40-checker/results/m2/fixture-bundle.unshare.json +395 -0
  191. package/40-checker/results/m2/fs-write.json +338 -0
  192. package/40-checker/results/m2/hang.json +31 -0
  193. package/40-checker/results/m2/hang.unshare-landlock.json +34 -0
  194. package/40-checker/results/m2/hang.unshare.json +33 -0
  195. package/40-checker/results/m2/project-memory.json +417 -0
  196. package/40-checker/results/m2/status-rotator.json +418 -0
  197. package/40-checker/results/m2/ui-auth.json +444 -0
  198. package/40-checker/results/negative/bad-entry.json +345 -0
  199. package/40-checker/results/negative/no-entry.json +345 -0
  200. package/40-checker/results/negative/no-patch.json +344 -0
  201. package/40-checker/results/negative/root-missing.json +344 -0
  202. package/40-checker/results/negative/root-missing.runtime.json +30 -0
  203. package/40-checker/results/negative/summary.json +51 -0
  204. package/40-checker/results/negative/workspace.json +344 -0
  205. package/40-checker/results/patched/Ebony-Vinyl__dsh-our-free-model.json +334 -0
  206. package/40-checker/results/patched/Ebony-Vinyl__dsh-our-free-model.overlay.json +335 -0
  207. package/40-checker/results/patched/SeaOf0__dsh-redteam-model.json +315 -0
  208. package/40-checker/results/patched/SeaOf0__dsh-redteam-model.overlay.json +316 -0
  209. package/40-checker/results/patched/mmparko__dsh-purge.json +357 -0
  210. package/40-checker/results/patched/mmparko__dsh-purge.overlay.json +358 -0
  211. package/40-checker/results/patched/shaobeichen__dsh-pocket.json +315 -0
  212. package/40-checker/results/patched/shaobeichen__dsh-pocket.overlay.json +316 -0
  213. package/40-checker/results/real/DDDMUC__dsh-free-search.json +344 -0
  214. package/40-checker/results/real/Ebony-Vinyl__dsh-our-free-model.json +343 -0
  215. package/40-checker/results/real/SeaOf0__dsh-redteam-model.json +354 -0
  216. package/40-checker/results/real/YuJunZhiXue__dsh-purge.json +395 -0
  217. package/40-checker/results/real/howmp__dsh-pentest.json +324 -0
  218. package/40-checker/results/real/kingcharleslzy-ai__dsh-purge.json +374 -0
  219. package/40-checker/results/real/liguobao__ds-harness-remote.json +342 -0
  220. package/40-checker/results/real/mmparko__dsh-purge.json +404 -0
  221. package/40-checker/results/real/shaobeichen__dsh-pocket.json +326 -0
  222. package/40-checker/results/real/ysr666__dsh-vision-router.json +372 -0
  223. package/40-checker/results/real/ysr666__dsh-vision-router.listing.json +378 -0
  224. package/40-checker/results/round-robin/compare.json +52 -0
  225. package/40-checker/results/round-robin/runner-a.json +9 -0
  226. package/40-checker/results/round-robin/runner-b.json +9 -0
  227. package/40-checker/results/sample20/123dbl__dsh-side-session.json +344 -0
  228. package/40-checker/results/sample20/173787247__dsh-wsl-dns.json +360 -0
  229. package/40-checker/results/sample20/863683348__dsh-insight.json +375 -0
  230. package/40-checker/results/sample20/Ansellwan__DSH-Custom-Wallpaper.json +344 -0
  231. package/40-checker/results/sample20/Jamailar__beav-deepseek-harness.json +341 -0
  232. package/40-checker/results/sample20/ManoloRemiddi__DSH-Metafolder-Plugin.json +344 -0
  233. package/40-checker/results/sample20/NEAZ71eve__dsh-tool-github.json +384 -0
  234. package/40-checker/results/sample20/README.md +3 -0
  235. package/40-checker/results/sample20/RINGOLINK__dsh-desktop-shell.json +352 -0
  236. package/40-checker/results/sample20/Zxznb666__dsh-qoder-cn-subagent.json +349 -0
  237. package/40-checker/results/sample20/agent-mobile__dsh-mobile-gateway.json +353 -0
  238. package/40-checker/results/sample20/fangqiing__dsh-knowledge-lite.json +359 -0
  239. package/40-checker/results/sample20/fzy0517__deepseek-harness-session-cleaner.json +344 -0
  240. package/40-checker/results/sample20/gjy1992__dsh-diagram.json +350 -0
  241. package/40-checker/results/sample20/mrme000m__dsh-prime-orchestrator.json +414 -0
  242. package/40-checker/results/sample20/redstonedust__dsh-solidworks-copilot.json +362 -0
  243. package/40-checker/results/sample20/summary.json +234 -0
  244. package/40-checker/results/sample20/w2112515__dsh-remote-host.json +344 -0
  245. package/40-checker/results/sample20/wkfedor__deepseek-harness-voice-input.json +350 -0
  246. package/40-checker/results/sample20/xfgil__dsh-hot-reloader.json +344 -0
  247. package/40-checker/results/sample20/yizhiyizhi0128__dsh-peak-scheduler.json +360 -0
  248. package/40-checker/results/sample20-ci/123dbl__dsh-side-session.json +344 -0
  249. package/40-checker/results/sample20-ci/173787247__dsh-wsl-dns.json +360 -0
  250. package/40-checker/results/sample20-ci/863683348__dsh-insight.json +375 -0
  251. package/40-checker/results/sample20-ci/Ansellwan__DSH-Custom-Wallpaper.json +344 -0
  252. package/40-checker/results/sample20-ci/Jamailar__beav-deepseek-harness.json +367 -0
  253. package/40-checker/results/sample20-ci/ManoloRemiddi__DSH-Metafolder-Plugin.json +344 -0
  254. package/40-checker/results/sample20-ci/NEAZ71eve__dsh-tool-github.json +392 -0
  255. package/40-checker/results/sample20-ci/README.md +5 -0
  256. package/40-checker/results/sample20-ci/RINGOLINK__dsh-desktop-shell.json +361 -0
  257. package/40-checker/results/sample20-ci/Zxznb666__dsh-qoder-cn-subagent.json +349 -0
  258. package/40-checker/results/sample20-ci/agent-mobile__dsh-mobile-gateway.json +384 -0
  259. package/40-checker/results/sample20-ci/fangqiing__dsh-knowledge-lite.json +360 -0
  260. package/40-checker/results/sample20-ci/fzy0517__deepseek-harness-session-cleaner.json +354 -0
  261. package/40-checker/results/sample20-ci/gjy1992__dsh-diagram.json +381 -0
  262. package/40-checker/results/sample20-ci/mrme000m__dsh-prime-orchestrator.json +452 -0
  263. package/40-checker/results/sample20-ci/redstonedust__dsh-solidworks-copilot.json +371 -0
  264. package/40-checker/results/sample20-ci/summary.json +195 -0
  265. package/40-checker/results/sample20-ci/w2112515__dsh-remote-host.json +399 -0
  266. package/40-checker/results/sample20-ci/wkfedor__deepseek-harness-voice-input.json +358 -0
  267. package/40-checker/results/sample20-ci/xfgil__dsh-hot-reloader.json +344 -0
  268. package/40-checker/results/sample20-ci/yizhiyizhi0128__dsh-peak-scheduler.json +370 -0
  269. package/40-checker/results/sample20-ci/zed1902209846-dotcom__DPwhale-plugin.json +231 -0
  270. package/40-checker/results/sample60/123dbl__dsh-side-session.json +344 -0
  271. package/40-checker/results/sample60/173787247__dsh-wsl-dns.json +360 -0
  272. package/40-checker/results/sample60/863683348__dsh-insight.json +375 -0
  273. package/40-checker/results/sample60/Anionex__dsh-turn-rewind.json +349 -0
  274. package/40-checker/results/sample60/Ansellwan__DSH-Custom-Wallpaper.json +344 -0
  275. package/40-checker/results/sample60/Ebony-Vinyl__EAC-Pack.json +352 -0
  276. package/40-checker/results/sample60/EricWang1358__dsh-web-studyhub.json +376 -0
  277. package/40-checker/results/sample60/GanyuanRan__Aegis.json +349 -0
  278. package/40-checker/results/sample60/HiSeax__dsh-codely.json +358 -0
  279. package/40-checker/results/sample60/Jamailar__beav-deepseek-harness.json +341 -0
  280. package/40-checker/results/sample60/ManoloRemiddi__DSH-Metafolder-Plugin.json +344 -0
  281. package/40-checker/results/sample60/MichengAI__dsh-archive-manager.json +357 -0
  282. package/40-checker/results/sample60/MichengAI__dsh-im-connect.json +347 -0
  283. package/40-checker/results/sample60/MindLab-Research__dsh-generative-ui.json +350 -0
  284. package/40-checker/results/sample60/NEAZ71eve__dsh-tool-github.json +384 -0
  285. package/40-checker/results/sample60/README.md +7 -0
  286. package/40-checker/results/sample60/RINGOLINK__dsh-desktop-shell.json +352 -0
  287. package/40-checker/results/sample60/SeanTolstoyevski__dsh-code-review.json +352 -0
  288. package/40-checker/results/sample60/Tasihi89__dsh-talk-map.json +344 -0
  289. package/40-checker/results/sample60/Tyan66666__billion-context-dsh.json +469 -0
  290. package/40-checker/results/sample60/V1ki__dsh-plugin-subscriptions.json +350 -0
  291. package/40-checker/results/sample60/Yu-tao-Li__dsh-computer-use-win.json +341 -0
  292. package/40-checker/results/sample60/ZSeven-W__dsh-ios.json +344 -0
  293. package/40-checker/results/sample60/Zxznb666__dsh-qoder-cn-subagent.json +349 -0
  294. package/40-checker/results/sample60/agent-mobile__dsh-mobile-gateway.json +353 -0
  295. package/40-checker/results/sample60/c3cvld7aag__fujiang-dsh.json +361 -0
  296. package/40-checker/results/sample60/cxzrdxy__dsh-file-explorer.json +389 -0
  297. package/40-checker/results/sample60/dhicoc__dsh-reverse-skill.json +341 -0
  298. package/40-checker/results/sample60/fangqiing__dsh-knowledge-lite.json +359 -0
  299. package/40-checker/results/sample60/fwerkor__local-shell-mcp.json +369 -0
  300. package/40-checker/results/sample60/fzy0517__deepseek-harness-session-cleaner.json +344 -0
  301. package/40-checker/results/sample60/gjy1992__dsh-diagram.json +350 -0
  302. package/40-checker/results/sample60/howmp__dsh-pentest.json +341 -0
  303. package/40-checker/results/sample60/linhay__harmony-next.skills.json +344 -0
  304. package/40-checker/results/sample60/liustack__modsearch.json +371 -0
  305. package/40-checker/results/sample60/mmparko__dsh-purge.json +372 -0
  306. package/40-checker/results/sample60/mrme000m__dsh-prime-orchestrator.json +414 -0
  307. package/40-checker/results/sample60/omdsh-dev__dsh_workflow.json +439 -0
  308. package/40-checker/results/sample60/redstonedust__dsh-solidworks-copilot.json +362 -0
  309. package/40-checker/results/sample60/seriousz158__dsh-memory.json +350 -0
  310. package/40-checker/results/sample60/shanliuling__dsh-image-gen.json +353 -0
  311. package/40-checker/results/sample60/shanliuling__skills-link.json +344 -0
  312. package/40-checker/results/sample60/shengsheng90__DSH-taskboard.json +341 -0
  313. package/40-checker/results/sample60/sjh9714__dsh-win32.json +374 -0
  314. package/40-checker/results/sample60/skymecode__deepseek-harness-for-vscode.json +351 -0
  315. package/40-checker/results/sample60/sopaco__terrain.json +352 -0
  316. package/40-checker/results/sample60/summary.json +658 -0
  317. package/40-checker/results/sample60/tinqiao-oss__engramory.json +352 -0
  318. package/40-checker/results/sample60/tong-io__tongflow.json +359 -0
  319. package/40-checker/results/sample60/vibeinging__dsh-desktop.json +382 -0
  320. package/40-checker/results/sample60/w2112515__dsh-remote-host.json +344 -0
  321. package/40-checker/results/sample60/wkfedor__deepseek-harness-voice-input.json +350 -0
  322. package/40-checker/results/sample60/wz20__dsh-dafeiyu-dot.json +349 -0
  323. package/40-checker/results/sample60/xfgil__dsh-hot-reloader.json +344 -0
  324. package/40-checker/results/sample60/yi-yezhiqiu__dsh-prompt-market.json +360 -0
  325. package/40-checker/results/sample60/yizhiyizhi0128__dsh-peak-scheduler.json +360 -0
  326. package/40-checker/results/sample60/yjh051108__dsh-routing-suite.json +366 -0
  327. package/40-checker/results/sample60-ci/123dbl__dsh-side-session.json +344 -0
  328. package/40-checker/results/sample60-ci/173787247__dsh-wsl-dns.json +360 -0
  329. package/40-checker/results/sample60-ci/863683348__dsh-insight.json +375 -0
  330. package/40-checker/results/sample60-ci/Anionex__dsh-turn-rewind.json +379 -0
  331. package/40-checker/results/sample60-ci/Ansellwan__DSH-Custom-Wallpaper.json +344 -0
  332. package/40-checker/results/sample60-ci/Ebony-Vinyl__EAC-Pack.json +362 -0
  333. package/40-checker/results/sample60-ci/EricWang1358__dsh-web-studyhub.json +378 -0
  334. package/40-checker/results/sample60-ci/GanyuanRan__Aegis.json +349 -0
  335. package/40-checker/results/sample60-ci/HiSeax__dsh-codely.json +368 -0
  336. package/40-checker/results/sample60-ci/Jamailar__beav-deepseek-harness.json +367 -0
  337. package/40-checker/results/sample60-ci/LiarMTTT__TavernWeave.json +231 -0
  338. package/40-checker/results/sample60-ci/ManoloRemiddi__DSH-Metafolder-Plugin.json +344 -0
  339. package/40-checker/results/sample60-ci/MichengAI__dsh-archive-manager.json +395 -0
  340. package/40-checker/results/sample60-ci/MichengAI__dsh-im-connect.json +404 -0
  341. package/40-checker/results/sample60-ci/MindLab-Research__dsh-generative-ui.json +410 -0
  342. package/40-checker/results/sample60-ci/NEAZ71eve__dsh-tool-github.json +392 -0
  343. package/40-checker/results/sample60-ci/README.md +7 -0
  344. package/40-checker/results/sample60-ci/RINGOLINK__dsh-desktop-shell.json +361 -0
  345. package/40-checker/results/sample60-ci/Ruler4396__dsh-launcher.json +231 -0
  346. package/40-checker/results/sample60-ci/SeanTolstoyevski__dsh-code-review.json +363 -0
  347. package/40-checker/results/sample60-ci/Tasihi89__dsh-talk-map.json +372 -0
  348. package/40-checker/results/sample60-ci/Tyan66666__billion-context-dsh.json +469 -0
  349. package/40-checker/results/sample60-ci/V1ki__dsh-plugin-subscriptions.json +368 -0
  350. package/40-checker/results/sample60-ci/Yu-tao-Li__dsh-computer-use-win.json +349 -0
  351. package/40-checker/results/sample60-ci/ZSeven-W__dsh-ios.json +344 -0
  352. package/40-checker/results/sample60-ci/Zxznb666__dsh-qoder-cn-subagent.json +349 -0
  353. package/40-checker/results/sample60-ci/agent-mobile__dsh-mobile-gateway.json +384 -0
  354. package/40-checker/results/sample60-ci/c3cvld7aag__fujiang-dsh.json +361 -0
  355. package/40-checker/results/sample60-ci/cxzrdxy__dsh-file-explorer.json +399 -0
  356. package/40-checker/results/sample60-ci/dhicoc__dsh-reverse-skill.json +352 -0
  357. package/40-checker/results/sample60-ci/fangqiing__dsh-knowledge-lite.json +360 -0
  358. package/40-checker/results/sample60-ci/fwerkor__local-shell-mcp.json +387 -0
  359. package/40-checker/results/sample60-ci/fzy0517__deepseek-harness-session-cleaner.json +354 -0
  360. package/40-checker/results/sample60-ci/gjy1992__dsh-diagram.json +381 -0
  361. package/40-checker/results/sample60-ci/howmp__dsh-pentest.json +361 -0
  362. package/40-checker/results/sample60-ci/linhay__harmony-next.skills.json +344 -0
  363. package/40-checker/results/sample60-ci/liustack__modsearch.json +382 -0
  364. package/40-checker/results/sample60-ci/mmparko__dsh-purge.json +441 -0
  365. package/40-checker/results/sample60-ci/mrme000m__dsh-prime-orchestrator.json +452 -0
  366. package/40-checker/results/sample60-ci/omdsh-dev__dsh_workflow.json +439 -0
  367. package/40-checker/results/sample60-ci/plastic-labs__honcho.json +231 -0
  368. package/40-checker/results/sample60-ci/redstonedust__dsh-solidworks-copilot.json +371 -0
  369. package/40-checker/results/sample60-ci/seriousz158__dsh-memory.json +351 -0
  370. package/40-checker/results/sample60-ci/shanliuling__dsh-image-gen.json +382 -0
  371. package/40-checker/results/sample60-ci/shanliuling__skills-link.json +344 -0
  372. package/40-checker/results/sample60-ci/shengsheng90__DSH-taskboard.json +370 -0
  373. package/40-checker/results/sample60-ci/sjh9714__dsh-win32.json +410 -0
  374. package/40-checker/results/sample60-ci/skymecode__deepseek-harness-for-vscode.json +391 -0
  375. package/40-checker/results/sample60-ci/sopaco__deepwiki-rs.json +231 -0
  376. package/40-checker/results/sample60-ci/sopaco__terrain.json +352 -0
  377. package/40-checker/results/sample60-ci/summary.json +555 -0
  378. package/40-checker/results/sample60-ci/tinqiao-oss__engramory.json +362 -0
  379. package/40-checker/results/sample60-ci/tong-io__tongflow.json +393 -0
  380. package/40-checker/results/sample60-ci/vibeinging__dsh-desktop.json +555 -0
  381. package/40-checker/results/sample60-ci/w2112515__dsh-remote-host.json +399 -0
  382. package/40-checker/results/sample60-ci/wkfedor__deepseek-harness-voice-input.json +358 -0
  383. package/40-checker/results/sample60-ci/wz20__dsh-dafeiyu-dot.json +390 -0
  384. package/40-checker/results/sample60-ci/xfgil__dsh-hot-reloader.json +344 -0
  385. package/40-checker/results/sample60-ci/yi-yezhiqiu__dsh-prompt-market.json +373 -0
  386. package/40-checker/results/sample60-ci/yizhiyizhi0128__dsh-peak-scheduler.json +370 -0
  387. package/40-checker/results/sample60-ci/yjh051108__dsh-routing-suite.json +437 -0
  388. package/40-checker/results/sample60-ci/zed1902209846-dotcom__DPwhale-plugin.json +231 -0
  389. package/40-checker/results/triage/REPORT.md +317 -0
  390. package/40-checker/results/triage/evidence/g2-rejections.txt +63 -0
  391. package/40-checker/results/triage/evidence/purge-baseline-0.2.1-rc.5.json +51 -0
  392. package/40-checker/results/triage/evidence/purge-baseline-0.2.2-alpha.2.json +51 -0
  393. package/40-checker/results/triage/evidence/purge-postinstall.txt +62 -0
  394. package/40-checker/results/triage/evidence/purge-with-profile-0.2.1-rc.5.json +71 -0
  395. package/40-checker/results/triage/evidence/purge-with-profile-0.2.2-alpha.2.json +71 -0
  396. package/40-checker/results/triage/evidence/semver-matrix.json +32 -0
  397. package/40-checker/results/triage/triage.json +295 -0
  398. package/40-checker/results/webapp/README.md +10 -0
  399. package/40-checker/results/webapp/summary.json +46 -0
  400. package/40-checker/results/webapp/web-auth.json +19 -0
  401. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/client-export.json +7 -0
  402. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/installed-package.json +123 -0
  403. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/probe.json +129 -0
  404. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/shot.png +0 -0
  405. package/40-checker/results/webruntime/DDDMUC__dsh-free-search/summary.md +16 -0
  406. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/client-export.json +7 -0
  407. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/installed-package.json +76 -0
  408. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/probe.json +129 -0
  409. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/shot.png +0 -0
  410. package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/summary.md +16 -0
  411. package/40-checker/results/webruntime/REPORT.md +253 -0
  412. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/client-export.json +7 -0
  413. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/installed-package.json +97 -0
  414. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/probe.json +129 -0
  415. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/shot.png +0 -0
  416. package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/summary.md +16 -0
  417. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/client-export.json +7 -0
  418. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/installed-package.json +98 -0
  419. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/probe.json +136 -0
  420. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/shot.png +0 -0
  421. package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/summary.md +16 -0
  422. package/40-checker/results/webruntime/ci-diet/client-export.json +10 -0
  423. package/40-checker/results/webruntime/ci-diet/installed-package.json +100 -0
  424. package/40-checker/results/webruntime/ci-diet/probe.json +129 -0
  425. package/40-checker/results/webruntime/ci-diet/shot.png +0 -0
  426. package/40-checker/results/webruntime/ci-diet/summary.md +16 -0
  427. package/40-checker/results/webruntime/daily-log/client-export.json +10 -0
  428. package/40-checker/results/webruntime/daily-log/installed-package.json +113 -0
  429. package/40-checker/results/webruntime/daily-log/probe.json +129 -0
  430. package/40-checker/results/webruntime/daily-log/shot.png +0 -0
  431. package/40-checker/results/webruntime/daily-log/summary.md +16 -0
  432. package/40-checker/results/webruntime/howmp__dsh-pentest/client-export.json +7 -0
  433. package/40-checker/results/webruntime/howmp__dsh-pentest/installed-package.json +90 -0
  434. package/40-checker/results/webruntime/howmp__dsh-pentest/probe.json +129 -0
  435. package/40-checker/results/webruntime/howmp__dsh-pentest/shot.png +0 -0
  436. package/40-checker/results/webruntime/howmp__dsh-pentest/summary.md +16 -0
  437. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/client-export.json +7 -0
  438. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/installed-package.json +164 -0
  439. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/probe.json +129 -0
  440. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/shot.png +0 -0
  441. package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/summary.md +16 -0
  442. package/40-checker/results/webruntime/liguobao__ds-harness-remote/client-export.json +7 -0
  443. package/40-checker/results/webruntime/liguobao__ds-harness-remote/installed-package.json +166 -0
  444. package/40-checker/results/webruntime/liguobao__ds-harness-remote/probe.json +129 -0
  445. package/40-checker/results/webruntime/liguobao__ds-harness-remote/shot.png +0 -0
  446. package/40-checker/results/webruntime/liguobao__ds-harness-remote/summary.md +16 -0
  447. package/40-checker/results/webruntime/local-pre-ci/README.md +67 -0
  448. package/40-checker/results/webruntime/local-pre-ci/client-exports.json +158 -0
  449. package/40-checker/results/webruntime/local-pre-ci/dsh-free-search.probe.json +119 -0
  450. package/40-checker/results/webruntime/local-pre-ci/dsh-pocket.probe.json +119 -0
  451. package/40-checker/results/webruntime/local-pre-ci/dsh-redteam-model.probe.json +119 -0
  452. package/40-checker/results/webruntime/local-pre-ci/qiushi-shell-only.probe.json +104 -0
  453. package/40-checker/results/webruntime/local-pre-ci/ui-auth-no-login.fail.json +52 -0
  454. package/40-checker/results/webruntime/local-pre-ci/ui-auth.probe.json +123 -0
  455. package/40-checker/results/webruntime/mmparko__dsh-purge/client-export.json +7 -0
  456. package/40-checker/results/webruntime/mmparko__dsh-purge/installed-package.json +95 -0
  457. package/40-checker/results/webruntime/mmparko__dsh-purge/probe.json +136 -0
  458. package/40-checker/results/webruntime/mmparko__dsh-purge/shot.png +0 -0
  459. package/40-checker/results/webruntime/mmparko__dsh-purge/summary.md +16 -0
  460. package/40-checker/results/webruntime/project-memory/client-export.json +7 -0
  461. package/40-checker/results/webruntime/project-memory/installed-package.json +118 -0
  462. package/40-checker/results/webruntime/project-memory/probe.json +129 -0
  463. package/40-checker/results/webruntime/project-memory/shot.png +0 -0
  464. package/40-checker/results/webruntime/project-memory/summary.md +16 -0
  465. package/40-checker/results/webruntime/qiushi/client-export.json +7 -0
  466. package/40-checker/results/webruntime/qiushi/installed-package.json +84 -0
  467. package/40-checker/results/webruntime/qiushi/probe.json +114 -0
  468. package/40-checker/results/webruntime/qiushi/shot.png +0 -0
  469. package/40-checker/results/webruntime/qiushi/summary.md +16 -0
  470. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/client-export.json +7 -0
  471. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/installed-package.json +85 -0
  472. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/probe.json +129 -0
  473. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/shot.png +0 -0
  474. package/40-checker/results/webruntime/shaobeichen__dsh-pocket/summary.md +16 -0
  475. package/40-checker/results/webruntime/status-rotator/client-export.json +7 -0
  476. package/40-checker/results/webruntime/status-rotator/installed-package.json +107 -0
  477. package/40-checker/results/webruntime/status-rotator/probe.json +129 -0
  478. package/40-checker/results/webruntime/status-rotator/shot.png +0 -0
  479. package/40-checker/results/webruntime/status-rotator/summary.md +16 -0
  480. package/40-checker/results/webruntime/summary.json +323 -0
  481. package/40-checker/results/webruntime/telemetry/probe.json +20 -0
  482. package/40-checker/results/webruntime/telemetry/summary.md +4 -0
  483. package/40-checker/results/webruntime/ui-auth/client-export.json +7 -0
  484. package/40-checker/results/webruntime/ui-auth/installed-package.json +94 -0
  485. package/40-checker/results/webruntime/ui-auth/probe.json +129 -0
  486. package/40-checker/results/webruntime/ui-auth/shot.png +0 -0
  487. package/40-checker/results/webruntime/ui-auth/summary.md +16 -0
  488. package/40-checker/results/webruntime/verification/probe.json +20 -0
  489. package/40-checker/results/webruntime/verification/summary.md +4 -0
  490. package/40-checker/results/webruntime/ysr666__dsh-vision-router/client-export.json +7 -0
  491. package/40-checker/results/webruntime/ysr666__dsh-vision-router/installed-package.json +142 -0
  492. package/40-checker/results/webruntime/ysr666__dsh-vision-router/probe.json +129 -0
  493. package/40-checker/results/webruntime/ysr666__dsh-vision-router/shot.png +0 -0
  494. package/40-checker/results/webruntime/ysr666__dsh-vision-router/summary.md +16 -0
  495. package/40-checker/samples/README.md +8 -0
  496. package/40-checker/samples/entry18.json +139 -0
  497. package/40-checker/samples/frame.json +485 -0
  498. package/40-checker/scripts/apply-overlay.mjs +59 -0
  499. package/40-checker/scripts/attestation-check.mjs +151 -0
  500. package/40-checker/scripts/bundle-smoke.mjs +126 -0
  501. package/40-checker/scripts/claim-check.mjs +145 -0
  502. package/40-checker/scripts/clause-map.mjs +94 -0
  503. package/40-checker/scripts/collect-fixtures.mjs +44 -0
  504. package/40-checker/scripts/dashboard.mjs +85 -0
  505. package/40-checker/scripts/dco-check.mjs +147 -0
  506. package/40-checker/scripts/dependabot-check.mjs +40 -0
  507. package/40-checker/scripts/doc-commands-check.mjs +92 -0
  508. package/40-checker/scripts/entry-scan.mjs +190 -0
  509. package/40-checker/scripts/entry-validate.mjs +291 -0
  510. package/40-checker/scripts/entry18-attribution.mjs +66 -0
  511. package/40-checker/scripts/entry18-ci.mjs +685 -0
  512. package/40-checker/scripts/entry18-realweb-summary.mjs +71 -0
  513. package/40-checker/scripts/entry18-web.mjs +307 -0
  514. package/40-checker/scripts/evidence-chain.mjs +100 -0
  515. package/40-checker/scripts/flow-index.mjs +82 -0
  516. package/40-checker/scripts/flow-sample-ci.mjs +529 -0
  517. package/40-checker/scripts/governance-check.mjs +210 -0
  518. package/40-checker/scripts/host-farm.mjs +165 -0
  519. package/40-checker/scripts/journey-config-observe.mjs +109 -0
  520. package/40-checker/scripts/journey-disclosure-shape.mjs +83 -0
  521. package/40-checker/scripts/journey-runtime.mjs +178 -0
  522. package/40-checker/scripts/journey.mjs +76 -0
  523. package/40-checker/scripts/label-drift.mjs +74 -0
  524. package/40-checker/scripts/label-sync.mjs +87 -0
  525. package/40-checker/scripts/label-verify.mjs +90 -0
  526. package/40-checker/scripts/landlock-exec.c +101 -0
  527. package/40-checker/scripts/level-audit.mjs +336 -0
  528. package/40-checker/scripts/m1-sidecar.mjs +126 -0
  529. package/40-checker/scripts/m2-runner.mjs +213 -0
  530. package/40-checker/scripts/round-robin.mjs +88 -0
  531. package/40-checker/scripts/sample-frame.mjs +72 -0
  532. package/40-checker/scripts/sample20-ci.mjs +25 -0
  533. package/40-checker/scripts/sample60-ci.mjs +25 -0
  534. package/40-checker/scripts/stale-check.mjs +59 -0
  535. package/40-checker/scripts/surveillance.mjs +88 -0
  536. package/40-checker/scripts/web-probe.mjs +504 -0
  537. package/40-checker/src/cli.mjs +300 -0
  538. package/40-checker/src/client-shape.mjs +37 -0
  539. package/40-checker/src/declarations.mjs +242 -0
  540. package/40-checker/src/index.mjs +8 -0
  541. package/40-checker/src/install-spec.mjs +67 -0
  542. package/40-checker/src/label.mjs +130 -0
  543. package/40-checker/src/manifest.mjs +364 -0
  544. package/40-checker/src/permissions.mjs +60 -0
  545. package/40-checker/src/report.mjs +204 -0
  546. package/40-checker/src/result.mjs +60 -0
  547. package/40-checker/src/runtime.mjs +299 -0
  548. package/40-checker/src/semver.mjs +128 -0
  549. package/40-checker/src/util.mjs +148 -0
  550. package/40-checker/test/attestation.test.mjs +59 -0
  551. package/40-checker/test/checks.test.mjs +172 -0
  552. package/40-checker/test/claim.test.mjs +28 -0
  553. package/40-checker/test/client-shape.test.mjs +35 -0
  554. package/40-checker/test/dco.test.mjs +51 -0
  555. package/40-checker/test/entry-validate.test.mjs +172 -0
  556. package/40-checker/test/governance.test.mjs +76 -0
  557. package/40-checker/test/label.test.mjs +97 -0
  558. package/40-checker/test/level-audit.test.mjs +99 -0
  559. package/40-checker/test/levels.test.mjs +31 -0
  560. package/40-checker/test/ops.test.mjs +117 -0
  561. package/40-checker/test/permissions.test.mjs +40 -0
  562. package/40-checker/test/semver.test.mjs +32 -0
  563. package/40-checker/test/verify.test.mjs +57 -0
  564. package/LICENSE +28 -0
  565. package/LICENSE-APACHE +190 -0
  566. package/LICENSE-CC-BY +23 -0
  567. package/NOTICE.md +11 -0
  568. package/README.md +146 -3
  569. package/bin/dsh-levels.mjs +4 -0
  570. package/bin/dsh-standards.mjs +18 -0
  571. package/docs/BOOST-FIXTURES-2026-11-02.md +38 -0
  572. package/docs/DEVELOPER-JOURNEY.md +40 -0
  573. package/docs/HOST-J3-BUG-REPORT-DRAFT.md +27 -0
  574. package/docs/HOST-J3-CONFIG-REPRO-2026-11-02.md +36 -0
  575. package/docs/NAMING-FALLBACK.md +11 -0
  576. package/docs/fork-policy.md +12 -0
  577. package/docs/full-test-plan-2026-11-02.md +207 -0
  578. package/docs/incident.md +37 -0
  579. package/docs/onboarding.md +27 -0
  580. package/docs/privacy.md +12 -0
  581. package/docs/release.md +16 -0
  582. package/docs/scope-security.md +62 -0
  583. package/docs/status-taxonomy.md +54 -0
  584. package/docs/sunset.md +44 -0
  585. package/docs/translating.md +12 -0
  586. package/package.json +49 -12
  587. package/spec/README.md +27 -0
  588. package/spec/boost/README.md +8 -0
  589. package/spec/clauses.json +253 -0
  590. package/spec/entry/README.md +9 -0
  591. package/spec/flow/README.md +8 -0
  592. package/spec/levels.json +371 -0
  593. package/spec/levels.schema.json +45 -0
  594. package/spec/reference-suite.json +35 -0
  595. package/spec/schemas/attestation.schema.json +284 -0
  596. package/spec/schemas/evidence.schema.json +331 -0
  597. package/spec/schemas/report.schema.json +64 -0
@@ -0,0 +1,129 @@
1
+ {
2
+ "schema": "dsh-web-probe/1",
3
+ "ok": true,
4
+ "expected": [
5
+ "dsh-free-search"
6
+ ],
7
+ "expectedEntries": {
8
+ "dsh-free-search": true
9
+ },
10
+ "bootGraph": "ok",
11
+ "bootRev": "b7d64cb39e5f",
12
+ "bootIds": [
13
+ "@deepseek-ai/dsh-api-gateway",
14
+ "@deepseek-ai/dsh-client-ui-open-in-app",
15
+ "@deepseek-ai/dsh-api-job-controller",
16
+ "@deepseek-ai/dsh-api-terminal-controller",
17
+ "@deepseek-ai/dsh-api-workspace-files",
18
+ "@deepseek-ai/dsh-client-ui-settings-account",
19
+ "@deepseek-ai/dsh-client-hmr",
20
+ "@deepseek-ai/dsh-client-modules",
21
+ "@deepseek-ai/dsh-cordis-client-runner",
22
+ "@deepseek-ai/dsh-client-ui-theme",
23
+ "@deepseek-ai/dsh-client-locale",
24
+ "@deepseek-ai/dsh-client-shortcuts",
25
+ "@deepseek-ai/dsh-client-ui-shortcuts",
26
+ "@deepseek-ai/dsh-client-ui-layout",
27
+ "@deepseek-ai/dsh-client-ui-renderer",
28
+ "@deepseek-ai/dsh-client-ui-session",
29
+ "@deepseek-ai/dsh-client-resources",
30
+ "@deepseek-ai/dsh-client-ui-sidebar",
31
+ "@deepseek-ai/dsh-client-ui-sidebar-right",
32
+ "@deepseek-ai/dsh-client-ui-sidebar-documentpreview",
33
+ "@deepseek-ai/dsh-client-ui-sidebar-terminal",
34
+ "@deepseek-ai/dsh-client-ui-sidebar-files",
35
+ "@deepseek-ai/dsh-client-ui-settings",
36
+ "@deepseek-ai/dsh-client-ui-settings-general",
37
+ "@deepseek-ai/dsh-client-ui-settings-models",
38
+ "@deepseek-ai/dsh-client-ui-plugin-manager",
39
+ "@deepseek-ai/dsh-client-ui-settings-plugin-inventory",
40
+ "@deepseek-ai/dsh-client-ui-conversation",
41
+ "@deepseek-ai/dsh-client-ui-approval",
42
+ "@deepseek-ai/dsh-message-quotes",
43
+ "@deepseek-ai/dsh-client-ui-chat",
44
+ "@deepseek-ai/dsh-client-ui-brand-official",
45
+ "@deepseek-ai/dsh-client-ui-attachment",
46
+ "@deepseek-ai/dsh-client-ui-file-drag",
47
+ "@deepseek-ai/dsh-client-ui-tool",
48
+ "@deepseek-ai/dsh-client-ui-cordis",
49
+ "@deepseek-ai/dsh-client-ui-workspace",
50
+ "@deepseek-ai/dsh-client-ui-workflow-run",
51
+ "@deepseek-ai/dsh-client-ui-input-trigger",
52
+ "@deepseek-ai/dsh-client-ui-commands",
53
+ "@deepseek-ai/dsh-client-ui-skill",
54
+ "@deepseek-ai/dsh-client-ui-subagent",
55
+ "@deepseek-ai/dsh-client-ui-reference",
56
+ "@deepseek-ai/dsh-client-ui-secret-mask",
57
+ "@deepseek-ai/dsh-client-ui-jobs",
58
+ "@deepseek-ai/dsh-client-ui-schedule",
59
+ "@deepseek-ai/dsh-client-ui-goal",
60
+ "@deepseek-ai/dsh-client-ui-message-feedback",
61
+ "@deepseek-ai/dsh-client-ui-model-selection",
62
+ "@deepseek-ai/dsh-client-ui-permission-presets",
63
+ "@deepseek-ai/dsh-client-ui-agent-preset",
64
+ "@deepseek-ai/dsh-client-ui-entry-customization",
65
+ "@deepseek-ai/dsh-client-ui-settings-session-log",
66
+ "@deepseek-ai/dsh-client-ui-settings-plugins",
67
+ "@deepseek-ai/dsh-client-ui-settings-shell",
68
+ "@deepseek-ai/dsh-client-ui-settings-agent-loop",
69
+ "@deepseek-ai/dsh-client-ui-settings-subagent",
70
+ "@deepseek-ai/dsh-client-ui-settings-web-search",
71
+ "@deepseek-ai/dsh-client-ui-plan",
72
+ "@deepseek-ai/dsh-client-ui-user-questions",
73
+ "@deepseek-ai/dsh-client-ui-trajectory",
74
+ "@deepseek-ai/dsh-api-remote-access",
75
+ "@deepseek-ai/dsh-session-log-export",
76
+ "@deepseek-ai/dsh-client-file-upload",
77
+ "@deepseek-ai/dsh-api-remotes",
78
+ "@deepseek-ai/dsh-client-ui-deliverables",
79
+ "dsh-free-search",
80
+ "@deepseek-ai/dsh-typert-registry",
81
+ "@deepseek-ai/dsh-client-connection",
82
+ "@deepseek-ai/dsh-api-workspace-controller",
83
+ "@deepseek-ai/dsh-api-session-controller",
84
+ "@deepseek-ai/dsh-client-ui-directory-picker-browse"
85
+ ],
86
+ "loadedEntries": [
87
+ "dsh-free-search"
88
+ ],
89
+ "notLoadedEntries": [],
90
+ "missingEntries": [],
91
+ "entries": [
92
+ {
93
+ "id": "dsh-free-search",
94
+ "booted": true,
95
+ "loaded": true,
96
+ "url": "plugins/??dsh-free-search/client.js&rev=5dc786dc1f56",
97
+ "matchedResource": "http://127.0.0.1:18770/plugins/??@deepseek-ai/dsh-client-ui-plan/client.js,@deepseek-ai/dsh-client-ui-user-questions/client.js,@deepseek-ai/dsh-client-ui-trajectory/client.js,@deepseek-ai/dsh-api-remote-access/client.js,@deepseek-ai/dsh-session-log-export/client.js,@deepseek-ai/dsh-client-file-upload/client.js,@deepseek-ai/dsh-api-remotes/client.js,@deepseek-ai/dsh-client-ui-deliverables/client.js,dsh-free-search/client.js,@deepseek-ai/dsh-typert-registry/client.js,@deepseek-ai/dsh-client-connection/client.js,@deepseek-ai/dsh-api-workspace-controller/client.js,@deepseek-ai/dsh-api-session-controller/client.js,@deepseek-ai/dsh-client-ui-directory-picker-browse/client.js&rev=b023bcac698c"
98
+ }
99
+ ],
100
+ "consoleErrors": [],
101
+ "consoleWarnings": [],
102
+ "pageErrors": [],
103
+ "failedRequests": [],
104
+ "login": false,
105
+ "loginError": null,
106
+ "navigationStatus": 200,
107
+ "finalUrl": "http://127.0.0.1:18770/",
108
+ "title": "DeepSeek Harness",
109
+ "rootChildren": 1,
110
+ "bootPageVisible": false,
111
+ "bootPageText": "",
112
+ "bodyTextLength": 940,
113
+ "bodyText": "New Session\nPlugins\nAutomation tasks\nMore\nWorkspaces\nNo sessions yet\nMore\nInto the Unknown\nPreview\nChoose workspace\nStandard mode\nChoose a workspace to start\nPreview Notice\n\nDeepSeek Harness 0.2 is still in preview, and many areas need continued improvement and refinement. We welcome feedback and suggestions from all developers and users. The new desktop app now targets a broad range of users, while developer-related advanced features can be enabled in the settings. DeepSeek Harness’s product features and plugin APIs are expected to continue rapid iteration and evolution, and will gradually stabilize over time.\n\nWe look forward to exploring the limits of intelligence together with users and developers around the world, building on open-source, reusable, and composable infrastructure. We welcome everyone to bring their ideas to life with DeepSeek Harness and participate in the community to enrich the plugin ecosystem.\n\nContinue",
114
+ "screenshot": "/home/runner/work/dsh-standards/dsh-standards/40-checker/results/webruntime/DDDMUC__dsh-free-search/shot.png",
115
+ "elapsedMs": 1932,
116
+ "error": null,
117
+ "url": "http://127.0.0.1:18770/?token=<redacted>",
118
+ "generatedAt": "2026-10-31T16:11:54.714Z",
119
+ "id": "DDDMUC__dsh-free-search",
120
+ "pkg": "dsh-free-search",
121
+ "webapp": false,
122
+ "hasClient": true,
123
+ "clientClaim": true,
124
+ "skipped": null,
125
+ "installed": {
126
+ "name": "dsh-free-search",
127
+ "version": "0.9.26"
128
+ }
129
+ }
@@ -0,0 +1,16 @@
1
+ # DDDMUC__dsh-free-search
2
+
3
+ - package: `dsh-free-search`
4
+ - webapp: false
5
+ - client export: yes
6
+ - ok: yes
7
+ - bootGraph: ok
8
+ - expected: dsh-free-search
9
+ - loadedEntries: dsh-free-search
10
+ - missingEntries: (none)
11
+ - notLoadedEntries: (none)
12
+ - consoleErrors: 0
13
+ - pageErrors: 0
14
+ - failedRequests: 0
15
+ - rootChildren: 1
16
+ - bootPageVisible: false
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "dsh-our-free-model",
3
+ "version": "2.1.0",
4
+ "hasClientExport": true,
5
+ "clientExport": "./client.js",
6
+ "declaresDshClient": true
7
+ }
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "dsh-our-free-model",
3
+ "version": "2.1.0",
4
+ "type": "module",
5
+ "description": "Our Free Model — 在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型,桌面端另有 EAC 协付渠道;2.0 起接入 CodeArts、CodeBuddy、WorkBuddy、LobsterAI、Qoder、TRAE、Cline、Loomy、Raccoon、MiniMax、ZCode、Gemini 十三个账号渠道(原有匿名免费通道保留)(登录、账号池、积分领取、本地 OpenAI 网关与局域网转发、数据看板与运行日志),六页毛玻璃界面统一呈现。",
6
+ "main": "./index.js",
7
+ "exports": {
8
+ ".": "./index.js",
9
+ "./client": "./client.js",
10
+ "./package.json": "./package.json",
11
+ "./locale/*.json": "./locale/*.json"
12
+ },
13
+ "scripts": {
14
+ "pack:standalone": "node scripts/pack-standalone.mjs",
15
+ "test:package": "node scripts/standalone-package-test.mjs",
16
+ "start:standalone": "node packages/standalone/cli.mjs",
17
+ "test:standalone": "node scripts/standalone-test.mjs",
18
+ "test:management": "node scripts/standalone-management-test.mjs",
19
+ "build:standalone-channels": "node scripts/build-standalone-channels.mjs",
20
+ "build:standalone-ui": "node scripts/build-standalone-ui.mjs",
21
+ "typecheck:standalone": "npm --prefix packages/standalone run typecheck",
22
+ "test:standalone-channels": "node scripts/standalone-channels-test.mjs",
23
+ "test": "node scripts/test-all.mjs",
24
+ "test:contributor": "node scripts/test-all.mjs --mode contributor",
25
+ "test:release": "node scripts/test-all.mjs --mode release",
26
+ "manifest": "node scripts/build-manifest.mjs",
27
+ "channel-pack": "node scripts/build-channel-pack.mjs",
28
+ "manifest:check": "node scripts/build-manifest.mjs --check",
29
+ "selftest": "node scripts/host-selftest.mjs",
30
+ "typecheck": "tsc --noEmit -p tsconfig.json"
31
+ },
32
+ "files": [
33
+ "index.js",
34
+ "client.js",
35
+ "adapter",
36
+ "src",
37
+ "vendor/channel-pack/pack.js",
38
+ "vendor/channel-pack/qoder-auth-wasm.wasm",
39
+ "vendor/channel-pack/NOTICE.md",
40
+ "vendor/channel-pack/LICENSE",
41
+ "locale",
42
+ "icon.svg",
43
+ "cordis.patch.yml",
44
+ "LICENSE"
45
+ ],
46
+ "keywords": [
47
+ "dsh",
48
+ "dsh-plugin",
49
+ "free-model",
50
+ "llm-provider"
51
+ ],
52
+ "engines": {
53
+ "node": "^22.19.0 || >=24.0.0"
54
+ },
55
+ "dsh": {
56
+ "bundle": {
57
+ "patch": "./cordis.patch.yml"
58
+ },
59
+ "client": {
60
+ "platform": "web",
61
+ "immediately": true,
62
+ "inject": []
63
+ }
64
+ },
65
+ "license": "MIT",
66
+ "peerDependencies": {
67
+ "@deepseek-ai/cordis": "^4.0.2",
68
+ "@deepseek-ai/dsh-commands": "^0.1.2-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1",
69
+ "@deepseek-ai/dsh-credentials": "^0.1.2-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1",
70
+ "@deepseek-ai/dsh-llm": "^0.1.2-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1",
71
+ "@deepseek-ai/schemastery": "^3.18.4"
72
+ },
73
+ "devDependencies": {
74
+ "typescript": "^5.9.2"
75
+ }
76
+ }
@@ -0,0 +1,129 @@
1
+ {
2
+ "schema": "dsh-web-probe/1",
3
+ "ok": true,
4
+ "expected": [
5
+ "dsh-our-free-model"
6
+ ],
7
+ "expectedEntries": {
8
+ "dsh-our-free-model": true
9
+ },
10
+ "bootGraph": "ok",
11
+ "bootRev": "902d1016dca0",
12
+ "bootIds": [
13
+ "@deepseek-ai/dsh-api-gateway",
14
+ "@deepseek-ai/dsh-client-ui-open-in-app",
15
+ "@deepseek-ai/dsh-api-job-controller",
16
+ "@deepseek-ai/dsh-api-terminal-controller",
17
+ "@deepseek-ai/dsh-api-workspace-files",
18
+ "@deepseek-ai/dsh-client-ui-settings-account",
19
+ "@deepseek-ai/dsh-client-hmr",
20
+ "@deepseek-ai/dsh-client-modules",
21
+ "@deepseek-ai/dsh-cordis-client-runner",
22
+ "@deepseek-ai/dsh-client-ui-theme",
23
+ "@deepseek-ai/dsh-client-locale",
24
+ "@deepseek-ai/dsh-client-shortcuts",
25
+ "@deepseek-ai/dsh-client-ui-shortcuts",
26
+ "@deepseek-ai/dsh-client-ui-layout",
27
+ "@deepseek-ai/dsh-client-ui-renderer",
28
+ "@deepseek-ai/dsh-client-ui-session",
29
+ "@deepseek-ai/dsh-client-resources",
30
+ "@deepseek-ai/dsh-client-ui-sidebar",
31
+ "@deepseek-ai/dsh-client-ui-sidebar-right",
32
+ "@deepseek-ai/dsh-client-ui-sidebar-documentpreview",
33
+ "@deepseek-ai/dsh-client-ui-sidebar-terminal",
34
+ "@deepseek-ai/dsh-client-ui-sidebar-files",
35
+ "@deepseek-ai/dsh-client-ui-settings",
36
+ "@deepseek-ai/dsh-client-ui-settings-general",
37
+ "@deepseek-ai/dsh-client-ui-settings-models",
38
+ "@deepseek-ai/dsh-client-ui-plugin-manager",
39
+ "@deepseek-ai/dsh-client-ui-settings-plugin-inventory",
40
+ "@deepseek-ai/dsh-client-ui-conversation",
41
+ "@deepseek-ai/dsh-client-ui-approval",
42
+ "@deepseek-ai/dsh-message-quotes",
43
+ "@deepseek-ai/dsh-client-ui-chat",
44
+ "@deepseek-ai/dsh-client-ui-brand-official",
45
+ "@deepseek-ai/dsh-client-ui-attachment",
46
+ "@deepseek-ai/dsh-client-ui-file-drag",
47
+ "@deepseek-ai/dsh-client-ui-tool",
48
+ "@deepseek-ai/dsh-client-ui-cordis",
49
+ "@deepseek-ai/dsh-client-ui-workspace",
50
+ "@deepseek-ai/dsh-client-ui-workflow-run",
51
+ "@deepseek-ai/dsh-client-ui-input-trigger",
52
+ "@deepseek-ai/dsh-client-ui-commands",
53
+ "@deepseek-ai/dsh-client-ui-skill",
54
+ "@deepseek-ai/dsh-client-ui-subagent",
55
+ "@deepseek-ai/dsh-client-ui-reference",
56
+ "@deepseek-ai/dsh-client-ui-secret-mask",
57
+ "@deepseek-ai/dsh-client-ui-jobs",
58
+ "@deepseek-ai/dsh-client-ui-schedule",
59
+ "@deepseek-ai/dsh-client-ui-goal",
60
+ "@deepseek-ai/dsh-client-ui-message-feedback",
61
+ "@deepseek-ai/dsh-client-ui-model-selection",
62
+ "@deepseek-ai/dsh-client-ui-permission-presets",
63
+ "@deepseek-ai/dsh-client-ui-agent-preset",
64
+ "@deepseek-ai/dsh-client-ui-entry-customization",
65
+ "@deepseek-ai/dsh-client-ui-settings-session-log",
66
+ "@deepseek-ai/dsh-client-ui-settings-plugins",
67
+ "@deepseek-ai/dsh-client-ui-settings-shell",
68
+ "@deepseek-ai/dsh-client-ui-settings-agent-loop",
69
+ "@deepseek-ai/dsh-client-ui-settings-subagent",
70
+ "@deepseek-ai/dsh-client-ui-settings-web-search",
71
+ "@deepseek-ai/dsh-client-ui-plan",
72
+ "@deepseek-ai/dsh-client-ui-user-questions",
73
+ "@deepseek-ai/dsh-client-ui-trajectory",
74
+ "@deepseek-ai/dsh-api-remote-access",
75
+ "@deepseek-ai/dsh-session-log-export",
76
+ "@deepseek-ai/dsh-client-file-upload",
77
+ "@deepseek-ai/dsh-api-remotes",
78
+ "@deepseek-ai/dsh-client-ui-deliverables",
79
+ "dsh-our-free-model",
80
+ "@deepseek-ai/dsh-typert-registry",
81
+ "@deepseek-ai/dsh-client-connection",
82
+ "@deepseek-ai/dsh-api-workspace-controller",
83
+ "@deepseek-ai/dsh-api-session-controller",
84
+ "@deepseek-ai/dsh-client-ui-directory-picker-browse"
85
+ ],
86
+ "loadedEntries": [
87
+ "dsh-our-free-model"
88
+ ],
89
+ "notLoadedEntries": [],
90
+ "missingEntries": [],
91
+ "entries": [
92
+ {
93
+ "id": "dsh-our-free-model",
94
+ "booted": true,
95
+ "loaded": true,
96
+ "url": "plugins/??dsh-our-free-model/client.js&rev=edead09bd873",
97
+ "matchedResource": "http://127.0.0.1:18770/plugins/??@deepseek-ai/dsh-client-ui-plan/client.js,@deepseek-ai/dsh-client-ui-user-questions/client.js,@deepseek-ai/dsh-client-ui-trajectory/client.js,@deepseek-ai/dsh-api-remote-access/client.js,@deepseek-ai/dsh-session-log-export/client.js,@deepseek-ai/dsh-client-file-upload/client.js,@deepseek-ai/dsh-api-remotes/client.js,@deepseek-ai/dsh-client-ui-deliverables/client.js,dsh-our-free-model/client.js,@deepseek-ai/dsh-typert-registry/client.js,@deepseek-ai/dsh-client-connection/client.js,@deepseek-ai/dsh-api-workspace-controller/client.js,@deepseek-ai/dsh-api-session-controller/client.js,@deepseek-ai/dsh-client-ui-directory-picker-browse/client.js&rev=5bf7c7c950ce"
98
+ }
99
+ ],
100
+ "consoleErrors": [],
101
+ "consoleWarnings": [],
102
+ "pageErrors": [],
103
+ "failedRequests": [],
104
+ "login": false,
105
+ "loginError": null,
106
+ "navigationStatus": 200,
107
+ "finalUrl": "http://127.0.0.1:18770/",
108
+ "title": "DeepSeek Harness",
109
+ "rootChildren": 1,
110
+ "bootPageVisible": false,
111
+ "bootPageText": "",
112
+ "bodyTextLength": 940,
113
+ "bodyText": "New Session\nPlugins\nAutomation tasks\nMore\nWorkspaces\nNo sessions yet\nMore\nInto the Unknown\nPreview\nChoose workspace\nStandard mode\nChoose a workspace to start\nPreview Notice\n\nDeepSeek Harness 0.2 is still in preview, and many areas need continued improvement and refinement. We welcome feedback and suggestions from all developers and users. The new desktop app now targets a broad range of users, while developer-related advanced features can be enabled in the settings. DeepSeek Harness’s product features and plugin APIs are expected to continue rapid iteration and evolution, and will gradually stabilize over time.\n\nWe look forward to exploring the limits of intelligence together with users and developers around the world, building on open-source, reusable, and composable infrastructure. We welcome everyone to bring their ideas to life with DeepSeek Harness and participate in the community to enrich the plugin ecosystem.\n\nContinue",
114
+ "screenshot": "/home/runner/work/dsh-standards/dsh-standards/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/shot.png",
115
+ "elapsedMs": 2104,
116
+ "error": null,
117
+ "url": "http://127.0.0.1:18770/?token=<redacted>",
118
+ "generatedAt": "2026-10-31T16:11:44.397Z",
119
+ "id": "Ebony-Vinyl__dsh-our-free-model",
120
+ "pkg": "dsh-our-free-model",
121
+ "webapp": false,
122
+ "hasClient": true,
123
+ "clientClaim": true,
124
+ "skipped": null,
125
+ "installed": {
126
+ "name": "dsh-our-free-model",
127
+ "version": "2.1.0"
128
+ }
129
+ }
@@ -0,0 +1,16 @@
1
+ # Ebony-Vinyl__dsh-our-free-model
2
+
3
+ - package: `dsh-our-free-model`
4
+ - webapp: false
5
+ - client export: yes
6
+ - ok: yes
7
+ - bootGraph: ok
8
+ - expected: dsh-our-free-model
9
+ - loadedEntries: dsh-our-free-model
10
+ - missingEntries: (none)
11
+ - notLoadedEntries: (none)
12
+ - consoleErrors: 0
13
+ - pageErrors: 0
14
+ - failedRequests: 0
15
+ - rootChildren: 1
16
+ - bootPageVisible: false
@@ -0,0 +1,253 @@
1
+ # Web runtime evidence — real Chromium client-module probe
2
+
3
+ Status: **measured in CI.** Run
4
+ [41217382935](https://github.com/PerryLink/dsh-standards/actions/runs/41217382935)
5
+ produced 18 row artifacts: **15/15 client-bearing rows `client-module-loaded`**,
6
+ **4/4 web-app rows loaded**, 3 shell-only/skipped rows, and 2 host-gate
7
+ rejections (`telemetry`, `verification`) recorded from the install gate. Run
8
+ 41218358951 re-runs the same matrix with gate rejection recorded as a row rather
9
+ than a job failure; use its artifacts for the cleaner per-row set.
10
+
11
+ Local pre-CI evidence (five rows + one negative) is in `local-pre-ci/`; it is
12
+ kept as an independent reproduction, not as the CI result.
13
+
14
+ The previous blocker was `GET /` returning `401`. That is the intended
15
+ authentication boundary. The real path is the token URL printed by the Web app:
16
+
17
+ ```
18
+ dsh web: http://127.0.0.1:<port>/?token=<process-launch-token>
19
+ ```
20
+
21
+ The token exchange mints the signed `dsh-auth-*` cookie and redirects to `./`;
22
+ the cookie-authenticated page is the real `index.html`. This was re-read from
23
+ `packages/client/connection/src/browser-auth.ts` and rechecked against
24
+ `.github/workflows/web-smoke.yml` (run 41215756898, commit `c0cc157`).
25
+
26
+ ## 1. What a passing row means
27
+
28
+ **Claim:** `client-module-loaded`.
29
+
30
+ A passing row proves all of the following in a real browser host page:
31
+
32
+ 1. the host composed the package's `dsh.client` entry into
33
+ `window.__DSH_BOOT__.entries` (the package id is present);
34
+ 2. the browser fetched the corresponding client bundle (the entry's `url` or id
35
+ appears in `performance.getEntriesByType('resource')`);
36
+ 3. the boot page marker `[data-dsh-boot]` disappeared and `#root` contains the
37
+ mounted shell;
38
+ 4. there were no console errors, no `pageerror` events, and no failed or
39
+ non-2xx same-origin script requests.
40
+
41
+ **Not claimed:** every plugin's UI slot is visually correct, laid out correctly,
42
+ or interactive. The probe does not inspect plugin-specific DOM. Do **not** call
43
+ a passing row `UI-rendered`; it is not a pixel or slot review.
44
+
45
+ **Failure rule:** a package that is in `__DSH_BOOT__` but whose client `apply`
46
+ throws produces a `console.error`/`pageerror` and leaves the boot page visible;
47
+ the probe fails. A missing boot entry is a **real failure**, not a skip.
48
+
49
+ ## 2. CI design
50
+
51
+ Workflow: `.github/workflows/web-runtime.yml`.
52
+
53
+ - `workflow_dispatch`, Ubuntu, Node 24, `timeout-minutes: 30`,
54
+ `fail-fast: false`, `max-parallel: 4`.
55
+ - **18 rows**, one boot per package. The 4 web-app rows are the same rows
56
+ flagged `webapp: true`; they are not booted twice.
57
+ - 15 of the 18 declare `exports["./client"]`. The workflow reads the installed
58
+ `package.json` and records `hasClientExport`; the summary job fails unless it
59
+ sees exactly 15 client-bearing rows, 3 skipped rows, and 4 webapp rows.
60
+ - Rows without `./client` are not failed: they are probed shell-only (empty
61
+ `--expect`) and annotated `skipped: "no ./client export"`,
62
+ `clientClaim: false`.
63
+ - `dsh-ui-auth` gates the whole Web UI. Its row passes
64
+ `--login-file "$RUNNER_TEMP/dsh-ui-auth-bootstrap.txt"`; the probe performs
65
+ `POST /auth/login` through the browser context **before** opening the token
66
+ URL, so the token exchange reaches the real shell. Credentials are generated
67
+ by the plugin on first boot into `$RUNNER_TEMP` (process cwd), never the repo,
68
+ and are deleted after the probe.
69
+ - A host-gate rejection during `dsh plugin add` is recorded as
70
+ `gateRejected: true` / `skipped: "host-gate-reject"` instead of crashing the
71
+ step. It still produces a row artifact; the summary separately requires
72
+ 15 client-bearing rows and 4 webapp rows.
73
+
74
+ Per job:
75
+
76
+ ```sh
77
+ # 1. install
78
+ npm install -g pnpm@10
79
+ npm install -g @deepseek-ai/dsh@0.2.2-alpha.2
80
+ npm install --no-save playwright@1.49.1
81
+ npx playwright install --with-deps chromium
82
+
83
+ # 2. custom profile backed by the shipped web template
84
+ export DSH_HOME="$RUNNER_TEMP/dsh-home"
85
+ dsh --profile wr --from-default-profile web --dump-config
86
+
87
+ # 3. sample install (third-party lifecycle scripts intentionally not run)
88
+ dsh plugin --profile wr add --ignore-scripts "<matrix.spec>"
89
+
90
+ # 4. boot the custom profile; there is NO trailing "web" token
91
+ cd "$RUNNER_TEMP"
92
+ dsh --profile wr --no-open --port 18770 > web.log 2>&1 &
93
+ # wait up to 180 s for: dsh web: http://127.0.0.1:18770/?token=...
94
+
95
+ # 5. real browser
96
+ node 40-checker/scripts/web-probe.mjs \
97
+ --url "$APP_URL" --expect "<package-name>" \
98
+ --out "$EVID/probe.json" --screenshot "$EVID/shot.png" --timeout 90000
99
+ # ui-auth only: --login-file "$RUNNER_TEMP/dsh-ui-auth-bootstrap.txt"
100
+ ```
101
+
102
+ Exact dispatch command once the parent pushes:
103
+
104
+ ```sh
105
+ gh workflow run web-runtime.yml --repo PerryLink/dsh-standard --ref main
106
+ ```
107
+
108
+ Artifacts per row: `40-checker/results/webruntime/<id>/` containing
109
+ `probe.json`, `shot.png`, `web.log` (token/password redacted),
110
+ `client-export.json`, `installed-package.json`, `plugin-add.log`,
111
+ `dump-config.yml`, and `summary.md`. The summary job downloads all 18 and
112
+ prints the denominator table.
113
+
114
+ ## 3. The four web-app rows
115
+
116
+ | row id | source | install spec | expected boot id | local pre-CI |
117
+ |---|---|---|---|---|
118
+ | `SeaOf0__dsh-redteam-model` | `SeaOf0/dsh-redteam-model` | `github:SeaOf0/dsh-redteam-model#ce24bb2…` (`1.1.2`) | `@dsh-external/dsh-redteam-model` | **PASS** (local checkout at the same commit) |
119
+ | `liguobao__ds-harness-remote` | `liguobao/ds-harness-remote` | `ds-harness-remote@0.6.0` | `ds-harness-remote` | CI pending |
120
+ | `shaobeichen__dsh-pocket` | `shaobeichen/dsh-pocket` | `dsh-pocket@2.12.0` | `dsh-pocket` | **PASS** |
121
+ | `ui-auth` | `0QwQ0/dsh-ui-auth` | `dsh-ui-auth@0.7.1` | `dsh-ui-auth` | **PASS** (with bootstrap login) |
122
+
123
+ ## 4. The 15 client-bearing rows
124
+
125
+ Local manifest inspection (`local-pre-ci/client-exports.json`) confirms these 15
126
+ of the 18 identities declare `exports["./client"]`:
127
+
128
+ | # | package | version | expected boot id | local pre-CI |
129
+ |---|---|---|---|---|
130
+ | 1 | `dsh-free-search` | 0.9.26 | `dsh-free-search` | **PASS** |
131
+ | 2 | `dsh-our-free-model` | 2.1.0 | `dsh-our-free-model` | CI pending |
132
+ | 3 | `@dsh-external/dsh-redteam-model` | 1.1.2 | `@dsh-external/dsh-redteam-model` | **PASS** (local checkout) |
133
+ | 4 | `dsh-purge` (YuJunZhiXue) | 1.1.85 | `dsh-purge` | CI pending |
134
+ | 5 | `dsh-ci-diet` | 0.5.2 | `dsh-ci-diet` | CI pending |
135
+ | 6 | `@zzerx/dsh-plugin-daily-log` | 0.4.3 | `@zzerx/dsh-plugin-daily-log` | CI pending |
136
+ | 7 | `@howmp/dsh-pentest` | 0.1.0-rc.37 | `@howmp/dsh-pentest` | CI pending |
137
+ | 8 | `dsh-purge-community` (kingcharleslzy-ai) | 1.6.67 | `dsh-purge-community` | CI pending |
138
+ | 9 | `ds-harness-remote` | 0.6.0 | `ds-harness-remote` | CI pending |
139
+ | 10 | `dsh-purge` (mmparko) | 1.1.71 | `dsh-purge` | CI pending |
140
+ | 11 | `@yolk_vat-y/dsh-project-memory` | 0.6.7 | `@yolk_vat-y/dsh-project-memory` | CI pending |
141
+ | 12 | `dsh-pocket` | 2.12.0 | `dsh-pocket` | **PASS** |
142
+ | 13 | `dsh-status-rotator` | 0.38.0 | `dsh-status-rotator` | CI pending |
143
+ | 14 | `dsh-ui-auth` | 0.7.1 | `dsh-ui-auth` | **PASS** (with bootstrap login) |
144
+ | 15 | `dsh-vision-router` | 3.1.0 | `dsh-vision-router` | CI pending |
145
+
146
+ The 3 identities without `./client` are probed shell-only and recorded as
147
+ skipped, not failed:
148
+
149
+ | package | version | disposition |
150
+ |---|---|---|
151
+ | `qiushi-dsh-evidence-audit` | 0.1.0 | shell-only **PASS**, `skipped: "no ./client export"` |
152
+ | `dsh-telemetry-redactor` | 0.1.0 | skipped for client claim |
153
+ | `dsh-verification-receipt` | 0.1.0 | skipped for client claim |
154
+
155
+ This is why the denominator is **15/18 client-bearing**, not 18/18.
156
+
157
+ ## 5. Local pre-CI browser evidence
158
+
159
+ Real Chromium 131, not a jsdom/mock. The WSL image lacked three shared
160
+ libraries; their `.deb` payloads were extracted under `/tmp` and supplied via
161
+ `LD_LIBRARY_PATH`. CI does not need this workaround (`--with-deps` installs
162
+ them). Raw sanitized JSON is in `local-pre-ci/`.
163
+
164
+ | probe | result | boot entries | loaded | console/page | root | boot page |
165
+ |---|---|---|---|---|---|---|
166
+ | `dsh-ui-auth@0.7.1` + login | **ok** | 72 | 1/1 | 0/0 | 1 child | gone |
167
+ | `dsh-free-search@0.9.26` | **ok** | 72 | 1/1 | 0/0 | 1 child | gone |
168
+ | `@dsh-external/dsh-redteam-model@1.1.2` (local checkout) | **ok** | 72 | 1/1 | 0/0 | 1 child | gone |
169
+ | `dsh-pocket@2.12.0` | **ok** | 72 | 1/1 | 0/0 | 1 child | gone |
170
+ | `qiushi-dsh-evidence-audit@0.1.0` (shell-only) | **ok** | 71 | n/a | 0/0 | 1 child | gone |
171
+ | `dsh-ui-auth` without login (negative) | **fail** | 0 / missing | n/a | 1 console | 0 | n/a |
172
+
173
+ The negative run lands on `/auth/login` (`<title>登录 · DeepSeek Harness</title>`)
174
+ and has no `__DSH_BOOT__`, which is exactly why the workflow passes
175
+ `--login-file` for that row. A second negative check expecting
176
+ `dsh-pocket` in the `dsh-free-search` profile failed with
177
+ `missingEntries: ["dsh-pocket"]`, proving missing boot entries are failures.
178
+
179
+ ## 6. Validation performed
180
+
181
+ - `node --check 40-checker/scripts/web-probe.mjs` passes.
182
+ - Python `yaml.safe_load` parses the workflow; 18 matrix rows, 4 webapp flags,
183
+ 1 login row, unique ids.
184
+ - `bash -n` on all 11 `run:` blocks (GitHub expressions replaced by
185
+ placeholders) — 0 syntax failures.
186
+ - Pure parser fixture: `summarizeBootGraph` on a synthetic graph returns
187
+ `bootGraph: "ok"`, the expected `bootIds`, one loaded entry, and a missing
188
+ entry; `null` returns `bootGraph: "missing"`.
189
+ - The annotation script was run against real and synthetic result JSON; the
190
+ summary script was run against a synthetic 18-row artifact tree and produced
191
+ `15/15 client, 3/3 skipped, 4/4 webapp`, exit 0.
192
+ - Real browser probes as listed in §5.
193
+
194
+ ## 7. Uncertainties / VERIFY notes
195
+
196
+ 1. **GitHub install specs.** `github:SeaOf0/dsh-redteam-model#<sha>` and the
197
+ three `dsh-purge` forks are pinned to commits whose local `package.json`
198
+ versions match the matrix. A local `dsh plugin add github:…` attempt timed
199
+ out on this WSL network; the package content was instead validated from the
200
+ local checkout at the same commit. GitHub-hosted runners should fetch these
201
+ normally.
202
+ 2. **`--ignore-scripts`.** Third-party lifecycle scripts are deliberately not
203
+ run in CI. If a package depends on `postinstall` to insert its root row
204
+ (notably `YuJunZhiXue/dsh-purge`), the client entry may be absent from
205
+ `__DSH_BOOT__` and that row will fail. That is an honest artifact-level
206
+ result under a scripts-disabled install, not a probe bug.
207
+ 3. **`dsh-ui-auth` login.** The probe hardcodes `POST /auth/login`, the
208
+ documented first-run form, and reads the credential file the plugin writes
209
+ into its process cwd (`$RUNNER_TEMP`). If a future version moves the route or
210
+ the file, that one row fails loudly.
211
+ 4. **Custom profile syntax.** Verified locally:
212
+ `dsh --profile wr --from-default-profile web --dump-config` creates the
213
+ profile from the shipped web template, and the boot command is
214
+ `dsh --profile wr --no-open --port 18770` (no trailing `web`). `--profile`
215
+ precedes the app arguments.
216
+ 5. **Port.** Each row uses `18770` on its own runner; no cross-row conflict. A
217
+ local port conflict produced `EADDRINUSE`, which the workflow would surface
218
+ as "did not print its URL within 180 s" with the boot log attached.
219
+
220
+ ## 8. Next step
221
+
222
+ Push and dispatch the workflow, then collect the 18 artifacts. Only after that
223
+ run may the report claim a CI denominator (expected: 15 client rows, 3 skipped,
224
+ 4 webapp rows). Local evidence above is pre-CI only.
225
+
226
+ ---
227
+
228
+ ## 8. Final CI run (2026-11-01)
229
+
230
+ Run [41218358951](https://github.com/PerryLink/dsh-standards/actions/runs/41218358951)
231
+ (`web-runtime`, commit `d68e817`): **19/19 jobs success** (18 rows + denominator
232
+ summary), 0 failures.
233
+
234
+ | Metric | Result |
235
+ |---|---|
236
+ | rows | **18/18** |
237
+ | client-bearing rows | **15/15** |
238
+ | client rows `client-module-loaded` | **15/15** |
239
+ | web-app rows | **4/4** |
240
+ | web-app rows loaded | **4/4** |
241
+ | shell-only rows | **1/1** (`qiushi`, no `./client` export) |
242
+ | host-gate rejections | **2/2** (`telemetry`, `verification`) — install gate, recorded as rows |
243
+ | console errors / page errors on the 16 loaded rows | **0 / 0** |
244
+
245
+ `4/4` web-app rows: `SeaOf0/dsh-redteam-model`, `liguobao/ds-harness-remote`,
246
+ `shaobeichen/dsh-pocket`, `dsh-ui-auth` (the last one after the bootstrap login).
247
+ The two gate rows are **not** probe failures: the host install gate refuses their
248
+ stale peer ranges before boot, which is the correct behavior recorded by the
249
+ `--ignore-scripts` path.
250
+
251
+ Per-row evidence is in `summary.json`, and each `<id>/` directory has
252
+ `probe.json`, `summary.md`, `shot.png`, `web.log`, `client-export.json`.
253
+ The claim remains **`client-module-loaded`**, not `UI-rendered`.
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@dsh-external/dsh-redteam-model",
3
+ "version": "1.1.2",
4
+ "hasClientExport": true,
5
+ "clientExport": "./lib/client.js",
6
+ "declaresDshClient": true
7
+ }