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