dsh-standards 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/40-checker/README.md +2 -2
- package/40-checker/scripts/runtime-child.mjs +13 -0
- package/40-checker/src/cli.mjs +64 -5
- package/40-checker/src/manifest.mjs +20 -1
- package/40-checker/src/report.mjs +6 -1
- package/40-checker/src/semver.mjs +77 -11
- package/CHANGELOG.md +32 -0
- package/NOTICE +14 -0
- package/README.md +6 -6
- package/bin/dsh-standards.mjs +1 -0
- package/package.json +14 -5
- package/40-checker/.github/workflows/plugin-verify.yml +0 -70
- package/40-checker/results/boost/REPORT.md +0 -304
- package/40-checker/results/boost/lev12458.json +0 -1747
- package/40-checker/results/client/README.md +0 -16
- package/40-checker/results/entry/18/DDDMUC__dsh-free-search.json +0 -381
- package/40-checker/results/entry/18/DDDMUC__dsh-free-search.runtime.json +0 -34
- package/40-checker/results/entry/18/Ebony-Vinyl__dsh-our-free-model.json +0 -361
- package/40-checker/results/entry/18/Ebony-Vinyl__dsh-our-free-model.runtime.json +0 -34
- package/40-checker/results/entry/18/README.md +0 -24
- package/40-checker/results/entry/18/RUNTIME.md +0 -18
- package/40-checker/results/entry/18/SeaOf0__dsh-redteam-model.json +0 -391
- package/40-checker/results/entry/18/YuJunZhiXue__dsh-purge.json +0 -432
- package/40-checker/results/entry/18/ci-diet.json +0 -365
- package/40-checker/results/entry/18/ci-diet.runtime-attempt.json +0 -38
- package/40-checker/results/entry/18/daily-log.json +0 -357
- package/40-checker/results/entry/18/daily-log.runtime.json +0 -519
- package/40-checker/results/entry/18/fullbase/ATTRIBUTION.md +0 -29
- package/40-checker/results/entry/18/fullbase/DDDMUC__dsh-free-search.json +0 -99
- package/40-checker/results/entry/18/fullbase/Ebony-Vinyl__dsh-our-free-model.json +0 -95
- package/40-checker/results/entry/18/fullbase/REPORT.md +0 -261
- package/40-checker/results/entry/18/fullbase/SeaOf0__dsh-redteam-model.json +0 -144
- package/40-checker/results/entry/18/fullbase/YuJunZhiXue__dsh-purge.json +0 -106
- package/40-checker/results/entry/18/fullbase/ci-diet.json +0 -99
- package/40-checker/results/entry/18/fullbase/daily-log.json +0 -94
- package/40-checker/results/entry/18/fullbase/howmp__dsh-pentest.json +0 -104
- package/40-checker/results/entry/18/fullbase/kingcharleslzy-ai__dsh-purge.json +0 -143
- package/40-checker/results/entry/18/fullbase/liguobao__ds-harness-remote.json +0 -134
- package/40-checker/results/entry/18/fullbase/mmparko__dsh-purge.json +0 -138
- package/40-checker/results/entry/18/fullbase/project-memory.json +0 -108
- package/40-checker/results/entry/18/fullbase/qiushi.json +0 -94
- package/40-checker/results/entry/18/fullbase/shaobeichen__dsh-pocket.json +0 -94
- package/40-checker/results/entry/18/fullbase/status-rotator.json +0 -94
- package/40-checker/results/entry/18/fullbase/summary.json +0 -297
- package/40-checker/results/entry/18/fullbase/telemetry.json +0 -94
- package/40-checker/results/entry/18/fullbase/ui-auth.json +0 -94
- package/40-checker/results/entry/18/fullbase/verification.json +0 -94
- package/40-checker/results/entry/18/fullbase/ysr666__dsh-vision-router.json +0 -106
- package/40-checker/results/entry/18/howmp__dsh-pentest.json +0 -361
- package/40-checker/results/entry/18/kingcharleslzy-ai__dsh-purge.json +0 -411
- package/40-checker/results/entry/18/liguobao__ds-harness-remote.json +0 -379
- package/40-checker/results/entry/18/mmparko__dsh-purge.json +0 -441
- package/40-checker/results/entry/18/project-memory.json +0 -361
- package/40-checker/results/entry/18/project-memory.runtime.json +0 -519
- package/40-checker/results/entry/18/qiushi.json +0 -353
- package/40-checker/results/entry/18/qiushi.runtime.json +0 -519
- package/40-checker/results/entry/18/realweb/REPORT.md +0 -73
- package/40-checker/results/entry/18/realweb/SeaOf0__dsh-redteam-model.json +0 -104
- package/40-checker/results/entry/18/realweb/YuJunZhiXue__dsh-purge.json +0 -64
- package/40-checker/results/entry/18/realweb/howmp__dsh-pentest.json +0 -65
- package/40-checker/results/entry/18/realweb/kingcharleslzy-ai__dsh-purge.json +0 -75
- package/40-checker/results/entry/18/realweb/mmparko__dsh-purge.json +0 -70
- package/40-checker/results/entry/18/realweb/shaobeichen__dsh-pocket.json +0 -56
- package/40-checker/results/entry/18/realweb/summary.json +0 -196
- package/40-checker/results/entry/18/realweb/ui-auth.json +0 -56
- package/40-checker/results/entry/18/realweb/ysr666__dsh-vision-router.json +0 -61
- package/40-checker/results/entry/18/richbase/REPORT.md +0 -70
- package/40-checker/results/entry/18/richbase/SeaOf0__dsh-redteam-model.json +0 -61
- package/40-checker/results/entry/18/richbase/SeaOf0__dsh-redteam-model.log +0 -38
- package/40-checker/results/entry/18/shaobeichen__dsh-pocket.json +0 -363
- package/40-checker/results/entry/18/status-rotator.json +0 -362
- package/40-checker/results/entry/18/status-rotator.runtime.json +0 -519
- package/40-checker/results/entry/18/summary.json +0 -266
- package/40-checker/results/entry/18/targetonly/DDDMUC__dsh-free-search.json +0 -34
- package/40-checker/results/entry/18/targetonly/Ebony-Vinyl__dsh-our-free-model.json +0 -34
- package/40-checker/results/entry/18/targetonly/SeaOf0__dsh-redteam-model.json +0 -84
- package/40-checker/results/entry/18/targetonly/YuJunZhiXue__dsh-purge.json +0 -52
- package/40-checker/results/entry/18/targetonly/ci-diet.json +0 -34
- package/40-checker/results/entry/18/targetonly/daily-log.json +0 -34
- package/40-checker/results/entry/18/targetonly/howmp__dsh-pentest.json +0 -46
- package/40-checker/results/entry/18/targetonly/kingcharleslzy-ai__dsh-purge.json +0 -61
- package/40-checker/results/entry/18/targetonly/liguobao__ds-harness-remote.json +0 -39
- package/40-checker/results/entry/18/targetonly/mmparko__dsh-purge.json +0 -57
- package/40-checker/results/entry/18/targetonly/project-memory.json +0 -34
- package/40-checker/results/entry/18/targetonly/qiushi.json +0 -34
- package/40-checker/results/entry/18/targetonly/shaobeichen__dsh-pocket.json +0 -34
- package/40-checker/results/entry/18/targetonly/status-rotator.json +0 -34
- package/40-checker/results/entry/18/targetonly/summary.json +0 -133
- package/40-checker/results/entry/18/targetonly/telemetry.json +0 -34
- package/40-checker/results/entry/18/targetonly/ui-auth.json +0 -34
- package/40-checker/results/entry/18/targetonly/verification.json +0 -34
- package/40-checker/results/entry/18/targetonly/ysr666__dsh-vision-router.json +0 -43
- package/40-checker/results/entry/18/telemetry.json +0 -349
- package/40-checker/results/entry/18/ui-auth.json +0 -369
- package/40-checker/results/entry/18/verification.json +0 -358
- package/40-checker/results/entry/18/ysr666__dsh-vision-router.json +0 -409
- package/40-checker/results/fixtures/bad.json +0 -347
- package/40-checker/results/fixtures/bundle.json +0 -378
- package/40-checker/results/fixtures/good-listing.json +0 -382
- package/40-checker/results/fixtures/good-static.json +0 -322
- package/40-checker/results/fixtures/good.json +0 -375
- package/40-checker/results/fixtures/good.sarif +0 -274
- package/40-checker/results/flow/README.md +0 -19
- package/40-checker/results/flow/j3-j7-fixture.json +0 -51
- package/40-checker/results/flow/j5-j8-client-missing.json +0 -45
- package/40-checker/results/flow/j5-j8-good.json +0 -45
- package/40-checker/results/flow/journey-fixture-bundle.json +0 -90
- package/40-checker/results/flow/journey-fixture-j1-j2-j4-j6.json +0 -107
- package/40-checker/results/flow/real/DDDMUC__dsh-free-search.json +0 -297
- package/40-checker/results/flow/real/REPORT.md +0 -335
- package/40-checker/results/flow/real/YuJunZhiXue__dsh-purge.json +0 -317
- package/40-checker/results/flow/real/ci-diet.json +0 -351
- package/40-checker/results/flow/real/daily-log.json +0 -286
- package/40-checker/results/flow/real/index.json +0 -325
- package/40-checker/results/flow/real/project-memory.json +0 -290
- package/40-checker/results/flow/real/qiushi.json +0 -277
- package/40-checker/results/flow/real/status-rotator.json +0 -275
- package/40-checker/results/flow/real/telemetry.json +0 -178
- package/40-checker/results/flow/real/ui-auth.json +0 -288
- package/40-checker/results/flow/real/verification.json +0 -265
- package/40-checker/results/governance/co-maintainer-packet.md +0 -85
- package/40-checker/results/l1/ci-diet.json +0 -406
- package/40-checker/results/l1/npm-dsh-telemetry-redactor-0.1.0.json +0 -390
- package/40-checker/results/l1/npm-dsh-verification-receipt-0.1.0.json +0 -406
- package/40-checker/results/l1/npm-qiushi-dsh-evidence-audit-0.1.0.json +0 -394
- package/40-checker/results/l1/npm-zzerx-dsh-plugin-daily-log-0.4.3.json +0 -405
- package/40-checker/results/l1/project-memory.json +0 -402
- package/40-checker/results/l1/source-DDDMUC__dsh-free-search.json +0 -422
- package/40-checker/results/l1/source-Ebony-Vinyl__dsh-our-free-model.json +0 -421
- package/40-checker/results/l1/source-SeaOf0__dsh-redteam-model.json +0 -432
- package/40-checker/results/l1/source-YuJunZhiXue__dsh-purge.json +0 -473
- package/40-checker/results/l1/source-howmp__dsh-pentest.json +0 -402
- package/40-checker/results/l1/source-kingcharleslzy-ai__dsh-purge.json +0 -452
- package/40-checker/results/l1/source-liguobao__ds-harness-remote.json +0 -420
- package/40-checker/results/l1/source-mmparko__dsh-purge.json +0 -482
- package/40-checker/results/l1/source-shaobeichen__dsh-pocket.json +0 -404
- package/40-checker/results/l1/source-ysr666__dsh-vision-router.json +0 -384
- package/40-checker/results/l1/status-rotator.json +0 -403
- package/40-checker/results/l1/ui-auth.json +0 -429
- package/40-checker/results/l1/ysr666__dsh-vision-router.published.json +0 -384
- package/40-checker/results/lev3/REPORT.md +0 -342
- package/40-checker/results/lev3/lev3.json +0 -4835
- package/40-checker/results/lev6/REPORT.md +0 -460
- package/40-checker/results/lev6/capture-sample.json +0 -241
- package/40-checker/results/lev6/capture.jsonl +0 -4
- package/40-checker/results/lev6/lev6.json +0 -245
- package/40-checker/results/lev6/replication-r1.json +0 -245
- package/40-checker/results/levels/README.md +0 -16
- package/40-checker/results/levels/dsh-plugin-doctor.json +0 -141
- package/40-checker/results/levels/dsh-plugin-guide.json +0 -136
- package/40-checker/results/m1/dsh-ci-diet-0.5.2.json +0 -352
- package/40-checker/results/m1/dsh-status-rotator-0.38.0.json +0 -349
- package/40-checker/results/m1/dsh-telemetry-redactor-0.1.0.json +0 -336
- package/40-checker/results/m1/dsh-ui-auth-0.7.1.json +0 -356
- package/40-checker/results/m1/dsh-verification-receipt-0.1.0.json +0 -344
- package/40-checker/results/m1/index-level.json +0 -13
- package/40-checker/results/m1/levels.json +0 -72100
- package/40-checker/results/m1/qiushi-dsh-evidence-audit-0.1.0.json +0 -339
- package/40-checker/results/m1/yolk_vat-y-dsh-project-memory-0.6.7.json +0 -348
- package/40-checker/results/m1/zzerx-dsh-plugin-daily-log-0.4.3.json +0 -344
- package/40-checker/results/m2/dsh-ci-diet.json +0 -421
- package/40-checker/results/m2/dsh-ci-diet.unshare-landlock.json +0 -424
- package/40-checker/results/m2/dsh-ci-diet.unshare.json +0 -423
- package/40-checker/results/m2/fixture-bundle.image.json +0 -404
- package/40-checker/results/m2/fixture-bundle.json +0 -392
- package/40-checker/results/m2/fixture-bundle.landlock.json +0 -396
- package/40-checker/results/m2/fixture-bundle.unshare.json +0 -395
- package/40-checker/results/m2/fs-write.json +0 -338
- package/40-checker/results/m2/hang.json +0 -31
- package/40-checker/results/m2/hang.unshare-landlock.json +0 -34
- package/40-checker/results/m2/hang.unshare.json +0 -33
- package/40-checker/results/m2/project-memory.json +0 -417
- package/40-checker/results/m2/status-rotator.json +0 -418
- package/40-checker/results/m2/ui-auth.json +0 -444
- package/40-checker/results/negative/bad-entry.json +0 -345
- package/40-checker/results/negative/no-entry.json +0 -345
- package/40-checker/results/negative/no-patch.json +0 -344
- package/40-checker/results/negative/root-missing.json +0 -344
- package/40-checker/results/negative/root-missing.runtime.json +0 -30
- package/40-checker/results/negative/summary.json +0 -51
- package/40-checker/results/negative/workspace.json +0 -344
- package/40-checker/results/patched/Ebony-Vinyl__dsh-our-free-model.json +0 -334
- package/40-checker/results/patched/Ebony-Vinyl__dsh-our-free-model.overlay.json +0 -335
- package/40-checker/results/patched/SeaOf0__dsh-redteam-model.json +0 -315
- package/40-checker/results/patched/SeaOf0__dsh-redteam-model.overlay.json +0 -316
- package/40-checker/results/patched/mmparko__dsh-purge.json +0 -357
- package/40-checker/results/patched/mmparko__dsh-purge.overlay.json +0 -358
- package/40-checker/results/patched/shaobeichen__dsh-pocket.json +0 -315
- package/40-checker/results/patched/shaobeichen__dsh-pocket.overlay.json +0 -316
- package/40-checker/results/real/DDDMUC__dsh-free-search.json +0 -344
- package/40-checker/results/real/Ebony-Vinyl__dsh-our-free-model.json +0 -343
- package/40-checker/results/real/SeaOf0__dsh-redteam-model.json +0 -354
- package/40-checker/results/real/YuJunZhiXue__dsh-purge.json +0 -395
- package/40-checker/results/real/howmp__dsh-pentest.json +0 -324
- package/40-checker/results/real/kingcharleslzy-ai__dsh-purge.json +0 -374
- package/40-checker/results/real/liguobao__ds-harness-remote.json +0 -342
- package/40-checker/results/real/mmparko__dsh-purge.json +0 -404
- package/40-checker/results/real/shaobeichen__dsh-pocket.json +0 -326
- package/40-checker/results/real/ysr666__dsh-vision-router.json +0 -372
- package/40-checker/results/real/ysr666__dsh-vision-router.listing.json +0 -378
- package/40-checker/results/round-robin/compare.json +0 -52
- package/40-checker/results/round-robin/runner-a.json +0 -9
- package/40-checker/results/round-robin/runner-b.json +0 -9
- package/40-checker/results/sample20/123dbl__dsh-side-session.json +0 -344
- package/40-checker/results/sample20/173787247__dsh-wsl-dns.json +0 -360
- package/40-checker/results/sample20/863683348__dsh-insight.json +0 -375
- package/40-checker/results/sample20/Ansellwan__DSH-Custom-Wallpaper.json +0 -344
- package/40-checker/results/sample20/Jamailar__beav-deepseek-harness.json +0 -341
- package/40-checker/results/sample20/ManoloRemiddi__DSH-Metafolder-Plugin.json +0 -344
- package/40-checker/results/sample20/NEAZ71eve__dsh-tool-github.json +0 -384
- package/40-checker/results/sample20/README.md +0 -3
- package/40-checker/results/sample20/RINGOLINK__dsh-desktop-shell.json +0 -352
- package/40-checker/results/sample20/Zxznb666__dsh-qoder-cn-subagent.json +0 -349
- package/40-checker/results/sample20/agent-mobile__dsh-mobile-gateway.json +0 -353
- package/40-checker/results/sample20/fangqiing__dsh-knowledge-lite.json +0 -359
- package/40-checker/results/sample20/fzy0517__deepseek-harness-session-cleaner.json +0 -344
- package/40-checker/results/sample20/gjy1992__dsh-diagram.json +0 -350
- package/40-checker/results/sample20/mrme000m__dsh-prime-orchestrator.json +0 -414
- package/40-checker/results/sample20/redstonedust__dsh-solidworks-copilot.json +0 -362
- package/40-checker/results/sample20/summary.json +0 -234
- package/40-checker/results/sample20/w2112515__dsh-remote-host.json +0 -344
- package/40-checker/results/sample20/wkfedor__deepseek-harness-voice-input.json +0 -350
- package/40-checker/results/sample20/xfgil__dsh-hot-reloader.json +0 -344
- package/40-checker/results/sample20/yizhiyizhi0128__dsh-peak-scheduler.json +0 -360
- package/40-checker/results/sample20-ci/123dbl__dsh-side-session.json +0 -344
- package/40-checker/results/sample20-ci/173787247__dsh-wsl-dns.json +0 -360
- package/40-checker/results/sample20-ci/863683348__dsh-insight.json +0 -375
- package/40-checker/results/sample20-ci/Ansellwan__DSH-Custom-Wallpaper.json +0 -344
- package/40-checker/results/sample20-ci/Jamailar__beav-deepseek-harness.json +0 -367
- package/40-checker/results/sample20-ci/ManoloRemiddi__DSH-Metafolder-Plugin.json +0 -344
- package/40-checker/results/sample20-ci/NEAZ71eve__dsh-tool-github.json +0 -392
- package/40-checker/results/sample20-ci/README.md +0 -5
- package/40-checker/results/sample20-ci/RINGOLINK__dsh-desktop-shell.json +0 -361
- package/40-checker/results/sample20-ci/Zxznb666__dsh-qoder-cn-subagent.json +0 -349
- package/40-checker/results/sample20-ci/agent-mobile__dsh-mobile-gateway.json +0 -384
- package/40-checker/results/sample20-ci/fangqiing__dsh-knowledge-lite.json +0 -360
- package/40-checker/results/sample20-ci/fzy0517__deepseek-harness-session-cleaner.json +0 -354
- package/40-checker/results/sample20-ci/gjy1992__dsh-diagram.json +0 -381
- package/40-checker/results/sample20-ci/mrme000m__dsh-prime-orchestrator.json +0 -452
- package/40-checker/results/sample20-ci/redstonedust__dsh-solidworks-copilot.json +0 -371
- package/40-checker/results/sample20-ci/summary.json +0 -195
- package/40-checker/results/sample20-ci/w2112515__dsh-remote-host.json +0 -399
- package/40-checker/results/sample20-ci/wkfedor__deepseek-harness-voice-input.json +0 -358
- package/40-checker/results/sample20-ci/xfgil__dsh-hot-reloader.json +0 -344
- package/40-checker/results/sample20-ci/yizhiyizhi0128__dsh-peak-scheduler.json +0 -370
- package/40-checker/results/sample20-ci/zed1902209846-dotcom__DPwhale-plugin.json +0 -231
- package/40-checker/results/sample60/123dbl__dsh-side-session.json +0 -344
- package/40-checker/results/sample60/173787247__dsh-wsl-dns.json +0 -360
- package/40-checker/results/sample60/863683348__dsh-insight.json +0 -375
- package/40-checker/results/sample60/Anionex__dsh-turn-rewind.json +0 -349
- package/40-checker/results/sample60/Ansellwan__DSH-Custom-Wallpaper.json +0 -344
- package/40-checker/results/sample60/Ebony-Vinyl__EAC-Pack.json +0 -352
- package/40-checker/results/sample60/EricWang1358__dsh-web-studyhub.json +0 -376
- package/40-checker/results/sample60/GanyuanRan__Aegis.json +0 -349
- package/40-checker/results/sample60/HiSeax__dsh-codely.json +0 -358
- package/40-checker/results/sample60/Jamailar__beav-deepseek-harness.json +0 -341
- package/40-checker/results/sample60/ManoloRemiddi__DSH-Metafolder-Plugin.json +0 -344
- package/40-checker/results/sample60/MichengAI__dsh-archive-manager.json +0 -357
- package/40-checker/results/sample60/MichengAI__dsh-im-connect.json +0 -347
- package/40-checker/results/sample60/MindLab-Research__dsh-generative-ui.json +0 -350
- package/40-checker/results/sample60/NEAZ71eve__dsh-tool-github.json +0 -384
- package/40-checker/results/sample60/README.md +0 -7
- package/40-checker/results/sample60/RINGOLINK__dsh-desktop-shell.json +0 -352
- package/40-checker/results/sample60/SeanTolstoyevski__dsh-code-review.json +0 -352
- package/40-checker/results/sample60/Tasihi89__dsh-talk-map.json +0 -344
- package/40-checker/results/sample60/Tyan66666__billion-context-dsh.json +0 -469
- package/40-checker/results/sample60/V1ki__dsh-plugin-subscriptions.json +0 -350
- package/40-checker/results/sample60/Yu-tao-Li__dsh-computer-use-win.json +0 -341
- package/40-checker/results/sample60/ZSeven-W__dsh-ios.json +0 -344
- package/40-checker/results/sample60/Zxznb666__dsh-qoder-cn-subagent.json +0 -349
- package/40-checker/results/sample60/agent-mobile__dsh-mobile-gateway.json +0 -353
- package/40-checker/results/sample60/c3cvld7aag__fujiang-dsh.json +0 -361
- package/40-checker/results/sample60/cxzrdxy__dsh-file-explorer.json +0 -389
- package/40-checker/results/sample60/dhicoc__dsh-reverse-skill.json +0 -341
- package/40-checker/results/sample60/fangqiing__dsh-knowledge-lite.json +0 -359
- package/40-checker/results/sample60/fwerkor__local-shell-mcp.json +0 -369
- package/40-checker/results/sample60/fzy0517__deepseek-harness-session-cleaner.json +0 -344
- package/40-checker/results/sample60/gjy1992__dsh-diagram.json +0 -350
- package/40-checker/results/sample60/howmp__dsh-pentest.json +0 -341
- package/40-checker/results/sample60/linhay__harmony-next.skills.json +0 -344
- package/40-checker/results/sample60/liustack__modsearch.json +0 -371
- package/40-checker/results/sample60/mmparko__dsh-purge.json +0 -372
- package/40-checker/results/sample60/mrme000m__dsh-prime-orchestrator.json +0 -414
- package/40-checker/results/sample60/omdsh-dev__dsh_workflow.json +0 -439
- package/40-checker/results/sample60/redstonedust__dsh-solidworks-copilot.json +0 -362
- package/40-checker/results/sample60/seriousz158__dsh-memory.json +0 -350
- package/40-checker/results/sample60/shanliuling__dsh-image-gen.json +0 -353
- package/40-checker/results/sample60/shanliuling__skills-link.json +0 -344
- package/40-checker/results/sample60/shengsheng90__DSH-taskboard.json +0 -341
- package/40-checker/results/sample60/sjh9714__dsh-win32.json +0 -374
- package/40-checker/results/sample60/skymecode__deepseek-harness-for-vscode.json +0 -351
- package/40-checker/results/sample60/sopaco__terrain.json +0 -352
- package/40-checker/results/sample60/summary.json +0 -658
- package/40-checker/results/sample60/tinqiao-oss__engramory.json +0 -352
- package/40-checker/results/sample60/tong-io__tongflow.json +0 -359
- package/40-checker/results/sample60/vibeinging__dsh-desktop.json +0 -382
- package/40-checker/results/sample60/w2112515__dsh-remote-host.json +0 -344
- package/40-checker/results/sample60/wkfedor__deepseek-harness-voice-input.json +0 -350
- package/40-checker/results/sample60/wz20__dsh-dafeiyu-dot.json +0 -349
- package/40-checker/results/sample60/xfgil__dsh-hot-reloader.json +0 -344
- package/40-checker/results/sample60/yi-yezhiqiu__dsh-prompt-market.json +0 -360
- package/40-checker/results/sample60/yizhiyizhi0128__dsh-peak-scheduler.json +0 -360
- package/40-checker/results/sample60/yjh051108__dsh-routing-suite.json +0 -366
- package/40-checker/results/sample60-ci/123dbl__dsh-side-session.json +0 -344
- package/40-checker/results/sample60-ci/173787247__dsh-wsl-dns.json +0 -360
- package/40-checker/results/sample60-ci/863683348__dsh-insight.json +0 -375
- package/40-checker/results/sample60-ci/Anionex__dsh-turn-rewind.json +0 -379
- package/40-checker/results/sample60-ci/Ansellwan__DSH-Custom-Wallpaper.json +0 -344
- package/40-checker/results/sample60-ci/Ebony-Vinyl__EAC-Pack.json +0 -362
- package/40-checker/results/sample60-ci/EricWang1358__dsh-web-studyhub.json +0 -378
- package/40-checker/results/sample60-ci/GanyuanRan__Aegis.json +0 -349
- package/40-checker/results/sample60-ci/HiSeax__dsh-codely.json +0 -368
- package/40-checker/results/sample60-ci/Jamailar__beav-deepseek-harness.json +0 -367
- package/40-checker/results/sample60-ci/LiarMTTT__TavernWeave.json +0 -231
- package/40-checker/results/sample60-ci/ManoloRemiddi__DSH-Metafolder-Plugin.json +0 -344
- package/40-checker/results/sample60-ci/MichengAI__dsh-archive-manager.json +0 -395
- package/40-checker/results/sample60-ci/MichengAI__dsh-im-connect.json +0 -404
- package/40-checker/results/sample60-ci/MindLab-Research__dsh-generative-ui.json +0 -410
- package/40-checker/results/sample60-ci/NEAZ71eve__dsh-tool-github.json +0 -392
- package/40-checker/results/sample60-ci/README.md +0 -7
- package/40-checker/results/sample60-ci/RINGOLINK__dsh-desktop-shell.json +0 -361
- package/40-checker/results/sample60-ci/Ruler4396__dsh-launcher.json +0 -231
- package/40-checker/results/sample60-ci/SeanTolstoyevski__dsh-code-review.json +0 -363
- package/40-checker/results/sample60-ci/Tasihi89__dsh-talk-map.json +0 -372
- package/40-checker/results/sample60-ci/Tyan66666__billion-context-dsh.json +0 -469
- package/40-checker/results/sample60-ci/V1ki__dsh-plugin-subscriptions.json +0 -368
- package/40-checker/results/sample60-ci/Yu-tao-Li__dsh-computer-use-win.json +0 -349
- package/40-checker/results/sample60-ci/ZSeven-W__dsh-ios.json +0 -344
- package/40-checker/results/sample60-ci/Zxznb666__dsh-qoder-cn-subagent.json +0 -349
- package/40-checker/results/sample60-ci/agent-mobile__dsh-mobile-gateway.json +0 -384
- package/40-checker/results/sample60-ci/c3cvld7aag__fujiang-dsh.json +0 -361
- package/40-checker/results/sample60-ci/cxzrdxy__dsh-file-explorer.json +0 -399
- package/40-checker/results/sample60-ci/dhicoc__dsh-reverse-skill.json +0 -352
- package/40-checker/results/sample60-ci/fangqiing__dsh-knowledge-lite.json +0 -360
- package/40-checker/results/sample60-ci/fwerkor__local-shell-mcp.json +0 -387
- package/40-checker/results/sample60-ci/fzy0517__deepseek-harness-session-cleaner.json +0 -354
- package/40-checker/results/sample60-ci/gjy1992__dsh-diagram.json +0 -381
- package/40-checker/results/sample60-ci/howmp__dsh-pentest.json +0 -361
- package/40-checker/results/sample60-ci/linhay__harmony-next.skills.json +0 -344
- package/40-checker/results/sample60-ci/liustack__modsearch.json +0 -382
- package/40-checker/results/sample60-ci/mmparko__dsh-purge.json +0 -441
- package/40-checker/results/sample60-ci/mrme000m__dsh-prime-orchestrator.json +0 -452
- package/40-checker/results/sample60-ci/omdsh-dev__dsh_workflow.json +0 -439
- package/40-checker/results/sample60-ci/plastic-labs__honcho.json +0 -231
- package/40-checker/results/sample60-ci/redstonedust__dsh-solidworks-copilot.json +0 -371
- package/40-checker/results/sample60-ci/seriousz158__dsh-memory.json +0 -351
- package/40-checker/results/sample60-ci/shanliuling__dsh-image-gen.json +0 -382
- package/40-checker/results/sample60-ci/shanliuling__skills-link.json +0 -344
- package/40-checker/results/sample60-ci/shengsheng90__DSH-taskboard.json +0 -370
- package/40-checker/results/sample60-ci/sjh9714__dsh-win32.json +0 -410
- package/40-checker/results/sample60-ci/skymecode__deepseek-harness-for-vscode.json +0 -391
- package/40-checker/results/sample60-ci/sopaco__deepwiki-rs.json +0 -231
- package/40-checker/results/sample60-ci/sopaco__terrain.json +0 -352
- package/40-checker/results/sample60-ci/summary.json +0 -555
- package/40-checker/results/sample60-ci/tinqiao-oss__engramory.json +0 -362
- package/40-checker/results/sample60-ci/tong-io__tongflow.json +0 -393
- package/40-checker/results/sample60-ci/vibeinging__dsh-desktop.json +0 -555
- package/40-checker/results/sample60-ci/w2112515__dsh-remote-host.json +0 -399
- package/40-checker/results/sample60-ci/wkfedor__deepseek-harness-voice-input.json +0 -358
- package/40-checker/results/sample60-ci/wz20__dsh-dafeiyu-dot.json +0 -390
- package/40-checker/results/sample60-ci/xfgil__dsh-hot-reloader.json +0 -344
- package/40-checker/results/sample60-ci/yi-yezhiqiu__dsh-prompt-market.json +0 -373
- package/40-checker/results/sample60-ci/yizhiyizhi0128__dsh-peak-scheduler.json +0 -370
- package/40-checker/results/sample60-ci/yjh051108__dsh-routing-suite.json +0 -437
- package/40-checker/results/sample60-ci/zed1902209846-dotcom__DPwhale-plugin.json +0 -231
- package/40-checker/results/triage/REPORT.md +0 -317
- package/40-checker/results/triage/evidence/g2-rejections.txt +0 -63
- package/40-checker/results/triage/evidence/purge-baseline-0.2.1-rc.5.json +0 -51
- package/40-checker/results/triage/evidence/purge-baseline-0.2.2-alpha.2.json +0 -51
- package/40-checker/results/triage/evidence/purge-postinstall.txt +0 -62
- package/40-checker/results/triage/evidence/purge-with-profile-0.2.1-rc.5.json +0 -71
- package/40-checker/results/triage/evidence/purge-with-profile-0.2.2-alpha.2.json +0 -71
- package/40-checker/results/triage/evidence/semver-matrix.json +0 -32
- package/40-checker/results/triage/triage.json +0 -295
- package/40-checker/results/webapp/README.md +0 -10
- package/40-checker/results/webapp/summary.json +0 -46
- package/40-checker/results/webapp/web-auth.json +0 -19
- package/40-checker/results/webruntime/DDDMUC__dsh-free-search/client-export.json +0 -7
- package/40-checker/results/webruntime/DDDMUC__dsh-free-search/installed-package.json +0 -123
- package/40-checker/results/webruntime/DDDMUC__dsh-free-search/probe.json +0 -129
- package/40-checker/results/webruntime/DDDMUC__dsh-free-search/shot.png +0 -0
- package/40-checker/results/webruntime/DDDMUC__dsh-free-search/summary.md +0 -16
- package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/client-export.json +0 -7
- package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/installed-package.json +0 -76
- package/40-checker/results/webruntime/Ebony-Vinyl__dsh-our-free-model/probe.json +0 -129
- 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 +0 -16
- package/40-checker/results/webruntime/REPORT.md +0 -253
- package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/client-export.json +0 -7
- package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/installed-package.json +0 -97
- package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/probe.json +0 -129
- package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/shot.png +0 -0
- package/40-checker/results/webruntime/SeaOf0__dsh-redteam-model/summary.md +0 -16
- package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/client-export.json +0 -7
- package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/installed-package.json +0 -98
- package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/probe.json +0 -136
- package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/shot.png +0 -0
- package/40-checker/results/webruntime/YuJunZhiXue__dsh-purge/summary.md +0 -16
- package/40-checker/results/webruntime/ci-diet/client-export.json +0 -10
- package/40-checker/results/webruntime/ci-diet/installed-package.json +0 -100
- package/40-checker/results/webruntime/ci-diet/probe.json +0 -129
- package/40-checker/results/webruntime/ci-diet/shot.png +0 -0
- package/40-checker/results/webruntime/ci-diet/summary.md +0 -16
- package/40-checker/results/webruntime/daily-log/client-export.json +0 -10
- package/40-checker/results/webruntime/daily-log/installed-package.json +0 -113
- package/40-checker/results/webruntime/daily-log/probe.json +0 -129
- package/40-checker/results/webruntime/daily-log/shot.png +0 -0
- package/40-checker/results/webruntime/daily-log/summary.md +0 -16
- package/40-checker/results/webruntime/howmp__dsh-pentest/client-export.json +0 -7
- package/40-checker/results/webruntime/howmp__dsh-pentest/installed-package.json +0 -90
- package/40-checker/results/webruntime/howmp__dsh-pentest/probe.json +0 -129
- package/40-checker/results/webruntime/howmp__dsh-pentest/shot.png +0 -0
- package/40-checker/results/webruntime/howmp__dsh-pentest/summary.md +0 -16
- package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/client-export.json +0 -7
- package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/installed-package.json +0 -164
- package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/probe.json +0 -129
- package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/shot.png +0 -0
- package/40-checker/results/webruntime/kingcharleslzy-ai__dsh-purge/summary.md +0 -16
- package/40-checker/results/webruntime/liguobao__ds-harness-remote/client-export.json +0 -7
- package/40-checker/results/webruntime/liguobao__ds-harness-remote/installed-package.json +0 -166
- package/40-checker/results/webruntime/liguobao__ds-harness-remote/probe.json +0 -129
- package/40-checker/results/webruntime/liguobao__ds-harness-remote/shot.png +0 -0
- package/40-checker/results/webruntime/liguobao__ds-harness-remote/summary.md +0 -16
- package/40-checker/results/webruntime/local-pre-ci/README.md +0 -67
- package/40-checker/results/webruntime/local-pre-ci/client-exports.json +0 -158
- package/40-checker/results/webruntime/local-pre-ci/dsh-free-search.probe.json +0 -119
- package/40-checker/results/webruntime/local-pre-ci/dsh-pocket.probe.json +0 -119
- package/40-checker/results/webruntime/local-pre-ci/dsh-redteam-model.probe.json +0 -119
- package/40-checker/results/webruntime/local-pre-ci/qiushi-shell-only.probe.json +0 -104
- package/40-checker/results/webruntime/local-pre-ci/ui-auth-no-login.fail.json +0 -52
- package/40-checker/results/webruntime/local-pre-ci/ui-auth.probe.json +0 -123
- package/40-checker/results/webruntime/mmparko__dsh-purge/client-export.json +0 -7
- package/40-checker/results/webruntime/mmparko__dsh-purge/installed-package.json +0 -95
- package/40-checker/results/webruntime/mmparko__dsh-purge/probe.json +0 -136
- package/40-checker/results/webruntime/mmparko__dsh-purge/shot.png +0 -0
- package/40-checker/results/webruntime/mmparko__dsh-purge/summary.md +0 -16
- package/40-checker/results/webruntime/project-memory/client-export.json +0 -7
- package/40-checker/results/webruntime/project-memory/installed-package.json +0 -118
- package/40-checker/results/webruntime/project-memory/probe.json +0 -129
- package/40-checker/results/webruntime/project-memory/shot.png +0 -0
- package/40-checker/results/webruntime/project-memory/summary.md +0 -16
- package/40-checker/results/webruntime/qiushi/client-export.json +0 -7
- package/40-checker/results/webruntime/qiushi/installed-package.json +0 -84
- package/40-checker/results/webruntime/qiushi/probe.json +0 -114
- package/40-checker/results/webruntime/qiushi/shot.png +0 -0
- package/40-checker/results/webruntime/qiushi/summary.md +0 -16
- package/40-checker/results/webruntime/shaobeichen__dsh-pocket/client-export.json +0 -7
- package/40-checker/results/webruntime/shaobeichen__dsh-pocket/installed-package.json +0 -85
- package/40-checker/results/webruntime/shaobeichen__dsh-pocket/probe.json +0 -129
- package/40-checker/results/webruntime/shaobeichen__dsh-pocket/shot.png +0 -0
- package/40-checker/results/webruntime/shaobeichen__dsh-pocket/summary.md +0 -16
- package/40-checker/results/webruntime/status-rotator/client-export.json +0 -7
- package/40-checker/results/webruntime/status-rotator/installed-package.json +0 -107
- package/40-checker/results/webruntime/status-rotator/probe.json +0 -129
- package/40-checker/results/webruntime/status-rotator/shot.png +0 -0
- package/40-checker/results/webruntime/status-rotator/summary.md +0 -16
- package/40-checker/results/webruntime/summary.json +0 -323
- package/40-checker/results/webruntime/telemetry/probe.json +0 -20
- package/40-checker/results/webruntime/telemetry/summary.md +0 -4
- package/40-checker/results/webruntime/ui-auth/client-export.json +0 -7
- package/40-checker/results/webruntime/ui-auth/installed-package.json +0 -94
- package/40-checker/results/webruntime/ui-auth/probe.json +0 -129
- package/40-checker/results/webruntime/ui-auth/shot.png +0 -0
- package/40-checker/results/webruntime/ui-auth/summary.md +0 -16
- package/40-checker/results/webruntime/verification/probe.json +0 -20
- package/40-checker/results/webruntime/verification/summary.md +0 -4
- package/40-checker/results/webruntime/ysr666__dsh-vision-router/client-export.json +0 -7
- package/40-checker/results/webruntime/ysr666__dsh-vision-router/installed-package.json +0 -142
- package/40-checker/results/webruntime/ysr666__dsh-vision-router/probe.json +0 -129
- package/40-checker/results/webruntime/ysr666__dsh-vision-router/shot.png +0 -0
- package/40-checker/results/webruntime/ysr666__dsh-vision-router/summary.md +0 -16
|
@@ -1,317 +0,0 @@
|
|
|
1
|
-
# 三项「非 web 阻塞/失败」复核报告
|
|
2
|
-
|
|
3
|
-
> **范围**:18 包运行时集中被 92 号文档判为「plugin FAIL / host gate blocked」的 3 个非 web 项。
|
|
4
|
-
> **环境**:本机 DSH `0.2.1-rc.5`(`$D`)+标准锚 `0.2.2-alpha.2`(`/tmp/dsh022`,父级 fullbase 使用的同一份安装);Node `v24.22.1`;pnpm `12.15.0`。
|
|
5
|
-
> **方法**:直接 import 已安装 `@deepseek-ai/dsh-app-boot/lib/index.js` 的 `loadOverlayPatches` / `composeEntries` / `boot` / `evaluatePluginCompatibility` / `getDshRuntimeVersion`;真实跑 postinstall;真实跑 `dsh plugin add`;未授予任何 version exemption;未改动上游仓库、`92-*`、`81-*`。
|
|
6
|
-
> **原始证据**:`evidence/`(baseline 与含 profile 层的 G0–G4 JSON、G2 rejection 原文、semver 矩阵、postinstall 记录)。
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 〇、结论先行
|
|
11
|
-
|
|
12
|
-
| 项 | 先前分类 | 核实分类 | 一句话依据 |
|
|
13
|
-
|---|---|---|---|
|
|
14
|
-
| `YuJunZhiXue/dsh-purge@1.1.85` | **plugin FAIL**(主行未插入) | **fixture-limitation** | 根行由 `postinstall` 写进 profile 的 `cordis.patch.yml`;把它作为组合的最后一层后,`dsh-purge` 根行 **ACTIVE**,G4 `ok=true`。夹具以 `--ignore-scripts` 安装并删除 `scripts`,所以永远看不到这一行 |
|
|
15
|
-
| `dsh-telemetry-redactor@0.1.0` | host/gate blocked(G2 reject,文档写成 SKIP) | **host-incompatible** | 精确 reject:`@deepseek-ai/dsh-session-telemetry >=0.1.0-rc.5 <0.2.0` 不满足 0.2.x;gate 行为正确,属上游 peer range 过窄 |
|
|
16
|
-
| `dsh-verification-receipt@0.1.0` | host/gate blocked(G2 reject,文档写成 SKIP) | **host-incompatible** | 精确 reject:`@deepseek-ai/dsh-session >=0.1.0-rc.5 <0.1.0`;该 range 只接受 0.1.0 预发布版,连 0.1.0 正式版都不接受,是上游元数据 bug,不是对 0.2.x 的有意硬停 |
|
|
17
|
-
|
|
18
|
-
**一句话**:3 项里 **0 个是 plugin-defect**,1 个是夹具没建模安装期写入,2 个是上游 peer 元数据过窄(宿主 gate 拒绝正确)。先前文档的「3 个明确不可运行」应改为 **2 个 host-gate REJECT + 1 个待 web-app 判定**。
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 一、`YuJunZhiXue/dsh-purge@1.1.85`:不是 plugin FAIL
|
|
23
|
-
|
|
24
|
-
### 1.1 先前说法
|
|
25
|
-
|
|
26
|
-
`92-兼容运行时实测.md`:
|
|
27
|
-
|
|
28
|
-
- §二:`FAIL | PASS | ADMIT | 2/3 | FAIL(plugin;主行未插入)`
|
|
29
|
-
- §三-A:「`cordis.patch.yml` 只 `insert` 了 `dsh-purge/redteam`、`/store`、`/ui`,**从未插入 `name: dsh-purge` 根行**……**不是宿主/noise,是 patch 形态缺陷**」
|
|
30
|
-
- §四:「G4 14/15 有 client 的包有 root row(YuJun 无)」
|
|
31
|
-
|
|
32
|
-
### 1.2 postinstall 到底做什么、写到哪个文件
|
|
33
|
-
|
|
34
|
-
`/tmp/yj-purge`(commit `9716ca3e8711c7bb680668d34cc2e93e184028ad`,v1.1.85):
|
|
35
|
-
|
|
36
|
-
- `package.json`:`"postinstall": "node scripts/ensure-profile-bundle.mjs"`
|
|
37
|
-
- `scripts/ensure-profile-bundle.mjs`:
|
|
38
|
-
- `findProfileDir()` 以 `INIT_CWD` → `npm_config_local_prefix` → `cwd` 为种子向上找 8 层,命中 `name` 以 `dsh-profile-` 开头、或带 `dsh.profile.bundles` 数组的 `package.json`;
|
|
39
|
-
- `ensureProfileBundles(profileDir)`:把 `"dsh-purge"` 追加进 **`<profile>/package.json` 的 `dsh.profile.bundles`**;
|
|
40
|
-
- `ensureProfileBodyInsert(profileDir)`:把 `INSERT_BLOCK` 写进 **`<profile>/cordis.patch.yml`**(对宿主生成的 `[]` 空 flow 序列有 #191 特判,不会追加成第二个 YAML 文档);
|
|
41
|
-
- `ensurePnpmAllowBuild(profileDir)`:在 `<profile>/pnpm-workspace.yaml` 写 `allowBuilds:` 下的 `dsh-purge: true`。
|
|
42
|
-
- `cordis.patch.yml` 顶部注释明确写:**本体 insert 写在用户层 `profile/cordis.patch.yml`(postinstall / 演练台自愈补);这里只改已入队条目的 inject/config;再 insert 一次会 already queued(#152/#154/#159)**。
|
|
43
|
-
|
|
44
|
-
`INSERT_BLOCK` 的实际内容(真实跑出来的文件):
|
|
45
|
-
|
|
46
|
-
```yaml
|
|
47
|
-
- insert:
|
|
48
|
-
- id: dsh-purge
|
|
49
|
-
name: dsh-purge
|
|
50
|
-
inject: [systemPrompt, tools]
|
|
51
|
-
config:
|
|
52
|
-
enabled: true
|
|
53
|
-
stripMnemon: true
|
|
54
|
-
capabilityProtocol: true
|
|
55
|
-
hooksDenyBypass: true
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### 1.3 真实 postinstall 路径(两条独立证据)
|
|
59
|
-
|
|
60
|
-
**(A) 直接按生命周期调用脚本**(cwd=包目录,`INIT_CWD`=合成 profile):
|
|
61
|
-
|
|
62
|
-
```text
|
|
63
|
-
$ cd /tmp/triage-farm/plugins/dsh-purge
|
|
64
|
-
$ INIT_CWD=/tmp/triage-profile node scripts/ensure-profile-bundle.mjs
|
|
65
|
-
dsh-purge: appended to bundles (/tmp/triage-profile)
|
|
66
|
-
dsh-purge: wrote body insert (/tmp/triage-profile/cordis.patch.yml)
|
|
67
|
-
dsh-purge: allowed pnpm build for dsh-purge
|
|
68
|
-
exit=0
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
**(B) 真实 `dsh plugin add`**(隔离 `DSH_HOME`,按 README 的 codeload 地址 + 两个 allow-build 键):
|
|
72
|
-
|
|
73
|
-
```text
|
|
74
|
-
$ DSH_HOME=/tmp/triage-dsh-home3 dsh plugin --profile web add \
|
|
75
|
-
--allow-build=dsh-purge \
|
|
76
|
-
--allow-build='dsh-purge@https://codeload.github.com/YuJunZhiXue/dsh-purge/tar.gz/refs/heads/master' \
|
|
77
|
-
'https://codeload.github.com/YuJunZhiXue/dsh-purge/tar.gz/refs/heads/master'
|
|
78
|
-
...
|
|
79
|
-
node_modules/dsh-purge postinstall$ node scripts/ensure-profile-bundle.mjs
|
|
80
|
-
node_modules/dsh-purge postinstall: dsh-purge: appended to bundles (/tmp/triage-dsh-home3/profiles/web)
|
|
81
|
-
node_modules/dsh-purge postinstall: dsh-purge: wrote body insert (/tmp/triage-dsh-home3/profiles/web/cordis.patch.yml)
|
|
82
|
-
node_modules/dsh-purge postinstall: dsh-purge: allowed pnpm build for dsh-purge
|
|
83
|
-
node_modules/dsh-purge postinstall: Done
|
|
84
|
-
...
|
|
85
|
-
exit=0
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
安装后 profile:`dsh.profile.bundles = ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-purge"]`;`cordis.patch.yml` 含上面的 insert 块;`node_modules/dsh-purge/package.json` 为 1.1.85。postinstall 生成的内容与 (A) 一致(只多宿主自带的三行文件头注释)。
|
|
89
|
-
|
|
90
|
-
### 1.4 组合 + 真实 boot:根行到底激活不激活
|
|
91
|
-
|
|
92
|
-
用真实 `loadOverlayPatches` + `composeEntries` + `boot`,按宿主真实层序组合:
|
|
93
|
-
|
|
94
|
-
```text
|
|
95
|
-
[base patch] → [包 cordis.patch.yml] → [profile cordis.patch.yml(postinstall 写的用户层)]
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**基线(只看包 patch,等于 bundle-smoke 现状)**,0.2.2-alpha.2:
|
|
99
|
-
|
|
100
|
-
```json
|
|
101
|
-
"g1": { "rows": 100, "targetRows": 3,
|
|
102
|
-
"warnings": [ ..., "patch: entry \"dsh-purge\" not found" ] },
|
|
103
|
-
"g3": { "state": "partial", "active": 2,
|
|
104
|
-
"rows": [ redteam=2, redteam-store=2, redteam-ui=0 ] },
|
|
105
|
-
"g4": { "rootRows": [], "ok": false }
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
**加入 postinstall 的 profile 层后**,0.2.2-alpha.2:
|
|
109
|
-
|
|
110
|
-
```json
|
|
111
|
-
"g1": { "rows": 101, "targetRows": 4,
|
|
112
|
-
"warnings": [ ..., "patch: entry \"dsh-purge\" not found" ] },
|
|
113
|
-
"g3": { "state": "partial", "active": 3,
|
|
114
|
-
"rows": [
|
|
115
|
-
{ "id": "include:dsh-purge-redteam", "state": 2 },
|
|
116
|
-
{ "id": "include:dsh-purge-redteam-store", "state": 2 },
|
|
117
|
-
{ "id": "include:dsh-purge-redteam-ui", "state": 0 },
|
|
118
|
-
{ "id": "include:dsh-purge", "state": 2 } // ← 根行 ACTIVE
|
|
119
|
-
] },
|
|
120
|
-
"g4": { "rootRows": [ { "id": "dsh-purge", "name": "dsh-purge",
|
|
121
|
-
"inject": ["systemPrompt","tools"],
|
|
122
|
-
"config": { "enabled": true, "stripMnemon": true,
|
|
123
|
-
"capabilityProtocol": true, "hooksDenyBypass": true } } ],
|
|
124
|
-
"ok": true }
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
0.2.1-rc.5 上的激活结果相同(`include:dsh-purge state=2`,active 3/4,g4 ok=true;行数因 base 层不同为 100 而非 101)。唯一 pending 的 `dsh-purge-redteam-ui` 在等 `webServer`——这是 base-only 组合的已知缺口,不是插件缺陷(与 king/mmparko 的 redteam-ui 同类)。
|
|
128
|
-
|
|
129
|
-
> 备注:包 overlay 里的 `- id: dsh-purge` override 在 postinstall 路径上会被跳过(`patch: entry "dsh-purge" not found`),因为**bundle 层先于用户层应用**。但 overlay 里 16 个 config 值与 `lib/index.js` 的 `DEFAULTS` 完全相同,所以行为无差别;这是作者的一处小不一致(overlay config 在该路径上无效),不是「主行未插入」。
|
|
130
|
-
|
|
131
|
-
### 1.5 夹具为什么必然判错
|
|
132
|
-
|
|
133
|
-
父级当前 fullbase 结果(`40-checker/results/entry/18/fullbase/YuJunZhiXue__dsh-purge.json`,0.2.2-alpha.2)自己记录:
|
|
134
|
-
|
|
135
|
-
```json
|
|
136
|
-
"installScripts": "skipped",
|
|
137
|
-
"installCommand": "npm install --omit=dev --ignore-scripts --legacy-peer-deps --no-package-lock --no-audit --no-fund",
|
|
138
|
-
"manifestRewrite": "removed scripts"
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
即:夹具**以 `--ignore-scripts` 安装,并且从 manifest 里删掉 `scripts`**。postinstall 永远不可能运行,profile 层永远是 `[]`,根行当然不存在。这是夹具的已知安全取舍,不是插件的 patch 缺陷。
|
|
142
|
-
|
|
143
|
-
### 1.6 结论与最小改动
|
|
144
|
-
|
|
145
|
-
- **verified classification:`fixture-limitation`**。
|
|
146
|
-
- 证据链:postinstall 源码与真实运行 → 真实 `dsh plugin add` 写出 profile 根行 → 含 profile 层的真实 composition/boot 中根行 `state=2`、G4 `ok=true` → fullbase 结果自述 `installScripts: skipped`。
|
|
147
|
-
- **最小上游改动:无**(就「从未插入根行」这个断言而言)。需要改的是 **checker 夹具**:在组合里加入安装期生成的 profile `cordis.patch.yml`(或先跑一次 postinstall),否则这类「安装期 profile 写入」的 bundle 都会被误判。
|
|
148
|
-
- 插件侧可选打磨(不影响本次结论):把完整 16 项 config 放进 `INSERT_BLOCK`,或删掉在 postinstall 路径上无效的 overlay override。
|
|
149
|
-
- **安装前提(需在文档里保留)**:pnpm 12 默认拦 build script;不带 `--allow-build` 的普通 `dsh plugin add` 会以 `ERR_PNPM_IGNORED_BUILDS` 退出且不写根行。README 已给出 allow-build 与手动 `ensure-profile-bundle.mjs` 兜底;这是安装前提,不是补丁形态缺陷。file-tarball 场景下裸包名键与 full spec 键都未放行(两次实测均失败),README 的 codeload 写法可用。
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
## 二、`dsh-telemetry-redactor@0.1.0`:精确拒绝原因
|
|
154
|
-
|
|
155
|
-
### 2.1 真实 G2 调用
|
|
156
|
-
|
|
157
|
-
```js
|
|
158
|
-
import { evaluatePluginCompatibility, getDshRuntimeVersion }
|
|
159
|
-
from '<dsh>/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js'
|
|
160
|
-
evaluatePluginCompatibility(manifest, {}, getDshRuntimeVersion())
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
manifest 来自 `npm pack dsh-telemetry-redactor@0.1.0`(解包于 `/tmp/triage-pkgs/telemetry`)。
|
|
164
|
-
|
|
165
|
-
0.2.2-alpha.2 下的**完整返回对象**(0.2.1-rc.5 只差 `runtimeVersion` 字段):
|
|
166
|
-
|
|
167
|
-
```json
|
|
168
|
-
{
|
|
169
|
-
"name": "dsh-telemetry-redactor",
|
|
170
|
-
"version": "0.1.0",
|
|
171
|
-
"runtimeVersion": "0.2.2-alpha.2",
|
|
172
|
-
"requirements": {
|
|
173
|
-
"@deepseek-ai/dsh-session-telemetry": ">=0.1.0-rc.5 <0.2.0"
|
|
174
|
-
},
|
|
175
|
-
"exempted": false
|
|
176
|
-
}
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
宿主给出的完整诊断原文:
|
|
180
|
-
|
|
181
|
-
```text
|
|
182
|
-
Plugin dsh-telemetry-redactor@0.1.0 is incompatible with dsh 0.2.2-alpha.2: requirements {"@deepseek-ai/dsh-session-telemetry":">=0.1.0-rc.5 <0.2.0"}. Running it may cause crashes or data loss. Update the plugin or install a plugin version compatible with this dsh runtime. To accept this risk explicitly, grant the exact-version exemption for dsh-telemetry-redactor@0.1.0 on dsh 0.2.2-alpha.2 with `dsh plugin allow-version` or the plugin manager, then retry the installation or restart dsh. Exact-version exemption: not active.
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
### 2.2 哪个 peer 失败、为什么
|
|
186
|
-
|
|
187
|
-
- 失败 peer:**`@deepseek-ai/dsh-session-telemetry`**,range `>=0.1.0-rc.5 <0.2.0`。
|
|
188
|
-
- 安装的运行时 peer 版本:本机 0.2.1-rc.5 安装为 `0.2.1-rc.5`,锚 0.2.2-alpha.2 安装为 `0.2.2-alpha.2`;两者都在 range 之外。
|
|
189
|
-
- semver(`includePrerelease: true`,宿主就是这么传的):
|
|
190
|
-
|
|
191
|
-
| 版本 | 满足 `>=0.1.0-rc.5 <0.2.0` |
|
|
192
|
-
|---|---|
|
|
193
|
-
| `0.1.0-rc.5` / `0.1.0` | ✅ |
|
|
194
|
-
| `0.2.0-rc.1` | ✅(预发布 < `0.2.0`) |
|
|
195
|
-
| `0.2.0` / `0.2.1-rc.5` / `0.2.2-alpha.2` | ❌ |
|
|
196
|
-
|
|
197
|
-
- 归因:**上游 peer range 的 upper bound 停在 0.1.x**,因此整个 0.2 稳定线都被排除;插件运行时不 import 这个 peer(`lib/index.js` 只 import `@deepseek-ai/schemastery`,通过 `ctx.on('session-telemetry/record', …)` 接入),所以这是**兼容声明过期**,不是模块链接问题。宿主 gate 的拒绝是**正确行为**。
|
|
198
|
-
- 判定:**`host-incompatible`**(gate 正确,原因在上游元数据)。
|
|
199
|
-
|
|
200
|
-
### 2.3 最小上游修复
|
|
201
|
-
|
|
202
|
-
```jsonc
|
|
203
|
-
"@deepseek-ai/dsh-session-telemetry": ">=0.1.0-rc.5 <0.3.0" // 在 0.2.x 上实测后
|
|
204
|
-
// 或仅支持现代运行时:">=0.2.1-rc.5 <0.3.0"
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
**不得**授予 exemption;本次也未授予。
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
|
|
211
|
-
## 三、`dsh-verification-receipt@0.1.0`:精确拒绝原因
|
|
212
|
-
|
|
213
|
-
### 3.1 真实返回对象
|
|
214
|
-
|
|
215
|
-
manifest 来自 `npm pack dsh-verification-receipt@0.1.0`(`/tmp/triage-pkgs/verification`):
|
|
216
|
-
|
|
217
|
-
```json
|
|
218
|
-
{
|
|
219
|
-
"name": "dsh-verification-receipt",
|
|
220
|
-
"version": "0.1.0",
|
|
221
|
-
"runtimeVersion": "0.2.2-alpha.2",
|
|
222
|
-
"requirements": {
|
|
223
|
-
"@deepseek-ai/dsh-session": ">=0.1.0-rc.5 <0.1.0"
|
|
224
|
-
},
|
|
225
|
-
"exempted": false
|
|
226
|
-
}
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
完整诊断原文:
|
|
230
|
-
|
|
231
|
-
```text
|
|
232
|
-
Plugin dsh-verification-receipt@0.1.0 is incompatible with dsh 0.2.2-alpha.2: requirements {"@deepseek-ai/dsh-session":">=0.1.0-rc.5 <0.1.0"}. Running it may cause crashes or data loss. Update the plugin or install a plugin version compatible with this dsh runtime. To accept this risk explicitly, grant the exact-version exemption for dsh-verification-receipt@0.1.0 on dsh 0.2.2-alpha.2 with `dsh plugin allow-version` or the plugin manager, then retry the installation or restart dsh. Exact-version exemption: not active.
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
### 3.2 `<0.1.0` 到底是什么 range
|
|
236
|
-
|
|
237
|
-
- semver:`>=0.1.0-rc.5 <0.1.0` **不是空集**,但它只接受 **0.1.0 的预发布版**(`0.1.0-rc.5` … `0.1.0-rc.8`);`0.1.0` 正式版、`0.1.7-rc.2`、`0.2.x` 全部为 false。
|
|
238
|
-
- 若不加 `includePrerelease`,该 range 才是空集;宿主固定传 `{ includePrerelease: true }`,所以它恰好放行 0.1.0-rc.*。
|
|
239
|
-
- npm 上 `@deepseek-ai/dsh-session` **从未发布过 `0.1.0` 正式版**:版本序列是 `0.1.0-rc.2/3/6/7/8 → 0.1.1-rc.1 …`。包发布于 2026-08-14(0.1.0-rc.6 之后一天),当时这个 range 等价于「当前 0.1.0 预发布线」。
|
|
240
|
-
- 但这是一个**永远无法容纳后续版本**的写法:连 `0.1.0` 正式版都不接受,更不用说 0.2.x。0.2.x 在发布时还不存在,因此**不是针对 0.2.x 的有意硬停**,而是 upper bound 写错(应为 `<0.2.0`,更现实是 `<0.3.0`)。
|
|
241
|
-
- 另一个细节:`package.json` 的 `peerDependenciesMeta` 把 `@deepseek-ai/dsh-session` 标成 `optional: true`,但宿主 `unmetRequirements` 对**所有** `@deepseek-ai/dsh*` peer 一视同仁(`dsh-app-boot/lib/index.js` 约 291 行),不看 optional,所以 gate 仍然触发。插件运行时不 import `@deepseek-ai/dsh-session`(只用 `sessions` 服务与 `session/event`),peer 是纯声明。
|
|
242
|
-
- 判定:**`host-incompatible`**;子归因「上游元数据 bug(over-tight upper bound),不是 intentional hard stop」。gate 拒绝正确。
|
|
243
|
-
|
|
244
|
-
### 3.3 最小上游修复
|
|
245
|
-
|
|
246
|
-
```jsonc
|
|
247
|
-
"@deepseek-ai/dsh-session": ">=0.1.0-rc.5 <0.3.0" // 在 0.2.x 上实测后
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
只把 `<0.1.0` 改成 `<0.2.0` 是最小笔误修复,但**仍然拒绝 0.2.1/0.2.2 锚**,不足以让当前标准锚通过。也可在确认无运行时依赖后删掉这个 optional peer(但会失去兼容声明)。**不得**授予 exemption。
|
|
251
|
-
|
|
252
|
-
---
|
|
253
|
-
|
|
254
|
-
## 四、18 包汇总应怎么改
|
|
255
|
-
|
|
256
|
-
> 计数中标注 **derived** 的需要全量重跑确认;其余有本次实测或父级 fullbase 分片直接支持。
|
|
257
|
-
|
|
258
|
-
| 92 号文档位置 | 现文 | 建议改为 | 依据 |
|
|
259
|
-
|---|---|---|---|
|
|
260
|
-
| §一 总表 | 明确不可运行 **3/18**(1 plugin FAIL + 2 host/gate) | **2/18**(0 plugin FAIL + 2 host-gate **REJECT**);YuJun 移入「无法判定/partial(等 webServer)」 | 本次实测 |
|
|
261
|
-
| §一 总表 | 无法判定(缺 web-app)**4/18** | **5/18**(+YuJun;其 redteam-ui 等 webServer) | 本次实测 |
|
|
262
|
-
| §二 明细 YuJun 行 | `FAIL … 2/3 … FAIL(plugin;主行未插入)` | `核心真跑 … root row ACTIVE(含 install-time profile layer);3/4 active,redteam-ui 等 webServer … fixture-limitation` | `include:dsh-purge state=2` |
|
|
263
|
-
| §一 总表 | 主行(root row)ACTIVE **11/18** | **12/18**(derived,+YuJun) | YuJun 根行现为 ACTIVE |
|
|
264
|
-
| §四 本轮结果 | G4 **14/15** 有 client 的包有 root row(YuJun 无) | **15/15**(YuJun 有;前提是组合含 install-time profile layer) | `g4.rootRows=[dsh-purge]`, `ok=true` |
|
|
265
|
-
| §一/§二 gate 列 | 2 个 **SKIP**(telemetry、verification) | 2 个 **REJECT**;SKIP 与宿主 gate 语义不符 | `evaluatePluginCompatibility` 返回 rejection 对象,不是 `undefined` |
|
|
266
|
-
| §六 最小验收 | `interop-failed 3`,`interop-unavailable 4`,`interop-runtime (root only) 11/18` | `interop-failed 2`(均 host-gate REJECT),`interop-unavailable 5`(+YuJun),`interop-runtime (root only) 12/18`(derived) | 同上 |
|
|
267
|
-
| §三-A 标题与正文 | 「补丁本身(唯一装完也不能跑的补丁类)… patch 形态缺陷」 | 改为「安装期 profile 写入(fixture 未建模)」:bundle patch 只负责 redteam 子行与已入队行 override;根行由 postinstall 写 profile;`--ignore-scripts` 夹具看不到 | fullbase `installScripts: skipped` + profile-aware boot |
|
|
268
|
-
|
|
269
|
-
**不需要改的**:`真实 boot 18/18 BOOT_OK`;`G3 base-only 全行 ACTIVE 9/18`(YuJun 由 2/3 变 3/4,仍非全 ACTIVE);`施加 gate 后全 ACTIVE 7/18`(YuJun 仍有一行等 webServer);`interop-runtime 7/18`。
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
## 五、复现命令
|
|
274
|
-
|
|
275
|
-
```bash
|
|
276
|
-
D=/mnt/c/Users/zzhdz/AppData/Roaming/npm/node_modules/@deepseek-ai/dsh
|
|
277
|
-
D2=/tmp/dsh022 # 0.2.2-alpha.2 锚
|
|
278
|
-
|
|
279
|
-
# 1) 基线:只组合 base + 包 patch(现有 bundle-smoke 语义)
|
|
280
|
-
node 40-checker/scripts/bundle-smoke.mjs \
|
|
281
|
-
--package /tmp/triage-farm022/plugins/dsh-purge \
|
|
282
|
-
--host $D2/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js \
|
|
283
|
-
--base $D2/node_modules/@deepseek-ai/dsh-base/cordis.patch.yml \
|
|
284
|
-
--bare /tmp/triage-farm022 --json --timeout 200000
|
|
285
|
-
|
|
286
|
-
# 2) 加入 postinstall 生成的 profile 层(/tmp/triage 里对 bundle-smoke 的最小副本加了 --profile)
|
|
287
|
-
node /tmp/triage/bundle-smoke-profile.mjs \
|
|
288
|
-
--package /tmp/triage-farm022/plugins/dsh-purge \
|
|
289
|
-
--host $D2/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js \
|
|
290
|
-
--base $D2/node_modules/@deepseek-ai/dsh-base/cordis.patch.yml \
|
|
291
|
-
--profile /tmp/triage-dsh-home3/profiles/web/cordis.patch.yml \
|
|
292
|
-
--bare /tmp/triage-farm022 --json --timeout 200000
|
|
293
|
-
|
|
294
|
-
# 3) G2:真实 evaluatePluginCompatibility
|
|
295
|
-
node /tmp/triage/g2-eval-022.mjs # 锚 0.2.2-alpha.2
|
|
296
|
-
node /tmp/triage/g2-eval.mjs # 本机 0.2.1-rc.5
|
|
297
|
-
|
|
298
|
-
# 4) 真实 postinstall / dsh plugin add(隔离 DSH_HOME)
|
|
299
|
-
cd /tmp/triage-farm/plugins/dsh-purge
|
|
300
|
-
INIT_CWD=/tmp/triage-profile node scripts/ensure-profile-bundle.mjs
|
|
301
|
-
DSH_HOME=/tmp/triage-dsh-home3 dsh plugin --profile web add \
|
|
302
|
-
--allow-build=dsh-purge \
|
|
303
|
-
--allow-build='dsh-purge@https://codeload.github.com/YuJunZhiXue/dsh-purge/tar.gz/refs/heads/master' \
|
|
304
|
-
'https://codeload.github.com/YuJunZhiXue/dsh-purge/tar.gz/refs/heads/master'
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
说明:`/tmp/triage/bundle-smoke-profile.mjs` 是 `40-checker/scripts/bundle-smoke.mjs` 的**临时副本**,只加了一个 `--profile <patch>` 参数把用户层并入组合;仓库里的 checker 未改动。
|
|
308
|
-
|
|
309
|
-
---
|
|
310
|
-
|
|
311
|
-
## 六、边界与未验证项
|
|
312
|
-
|
|
313
|
-
1. **没有 boot 完整 web profile**(会 bind 端口/起前端)。已证明根行在 base-only 下 ACTIVE;`redteam-ui` 仍 pending on `webServer`,不声称其在完整 web profile 下 ACTIVE。
|
|
314
|
-
2. 真实 `dsh plugin add` 用的是本机 0.2.1-rc.5 CLI + 内置 pnpm 12.15.0(Linux)。Windows/pnpm 11 的 allow-build 键匹配未测;README 同时给了两个键。
|
|
315
|
-
3. `/tmp/dsh022` 是父级提供的 0.2.2-alpha.2 安装,app-boot 与 base patch 按原样使用。
|
|
316
|
-
4. 未修改上游仓库;`/tmp/yj-purge` 只是本地 clone(npm pack 产物已移出该目录)。
|
|
317
|
-
5. 未授予、也未申请任何 version exemption。
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# G2 host-gate evaluation — exact output
|
|
2
|
-
# Generated by importing evaluatePluginCompatibility/getDshRuntimeVersion from the installed dsh-app-boot.
|
|
3
|
-
|
|
4
|
-
## Runtime A: local install 0.2.1-rc.5
|
|
5
|
-
# host: /mnt/c/Users/zzhdz/AppData/Roaming/npm/node_modules/@deepseek-ai/dsh/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js
|
|
6
|
-
|
|
7
|
-
host: /mnt/c/Users/zzhdz/AppData/Roaming/npm/node_modules/@deepseek-ai/dsh/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js
|
|
8
|
-
getDshRuntimeVersion(): 0.2.1-rc.5
|
|
9
|
-
host package version: 0.2.1-rc.5
|
|
10
|
-
|
|
11
|
-
=== dsh-telemetry-redactor@0.1.0 ===
|
|
12
|
-
{
|
|
13
|
-
"name": "dsh-telemetry-redactor",
|
|
14
|
-
"version": "0.1.0",
|
|
15
|
-
"runtimeVersion": "0.2.1-rc.5",
|
|
16
|
-
"requirements": {
|
|
17
|
-
"@deepseek-ai/dsh-session-telemetry": ">=0.1.0-rc.5 <0.2.0"
|
|
18
|
-
},
|
|
19
|
-
"exempted": false
|
|
20
|
-
}
|
|
21
|
-
pluginCompatibilityWarning():
|
|
22
|
-
Plugin dsh-telemetry-redactor@0.1.0 is incompatible with dsh 0.2.1-rc.5: requirements {"@deepseek-ai/dsh-session-telemetry":">=0.1.0-rc.5 <0.2.0"}. Running it may cause crashes or data loss. Update the plugin or install a plugin version compatible with this dsh runtime. To accept this risk explicitly, grant the exact-version exemption for dsh-telemetry-redactor@0.1.0 on dsh 0.2.1-rc.5 with `dsh plugin allow-version` or the plugin manager, then retry the installation or restart dsh. Exact-version exemption: not active.
|
|
23
|
-
|
|
24
|
-
=== dsh-verification-receipt@0.1.0 ===
|
|
25
|
-
{
|
|
26
|
-
"name": "dsh-verification-receipt",
|
|
27
|
-
"version": "0.1.0",
|
|
28
|
-
"runtimeVersion": "0.2.1-rc.5",
|
|
29
|
-
"requirements": {
|
|
30
|
-
"@deepseek-ai/dsh-session": ">=0.1.0-rc.5 <0.1.0"
|
|
31
|
-
},
|
|
32
|
-
"exempted": false
|
|
33
|
-
}
|
|
34
|
-
pluginCompatibilityWarning():
|
|
35
|
-
Plugin dsh-verification-receipt@0.1.0 is incompatible with dsh 0.2.1-rc.5: requirements {"@deepseek-ai/dsh-session":">=0.1.0-rc.5 <0.1.0"}. Running it may cause crashes or data loss. Update the plugin or install a plugin version compatible with this dsh runtime. To accept this risk explicitly, grant the exact-version exemption for dsh-verification-receipt@0.1.0 on dsh 0.2.1-rc.5 with `dsh plugin allow-version` or the plugin manager, then retry the installation or restart dsh. Exact-version exemption: not active.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
## Runtime B: standards anchor 0.2.2-alpha.2
|
|
39
|
-
# host: /tmp/dsh022/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js
|
|
40
|
-
|
|
41
|
-
runtime: 0.2.2-alpha.2
|
|
42
|
-
=== dsh-telemetry-redactor@0.1.0 ===
|
|
43
|
-
{
|
|
44
|
-
"name": "dsh-telemetry-redactor",
|
|
45
|
-
"version": "0.1.0",
|
|
46
|
-
"runtimeVersion": "0.2.2-alpha.2",
|
|
47
|
-
"requirements": {
|
|
48
|
-
"@deepseek-ai/dsh-session-telemetry": ">=0.1.0-rc.5 <0.2.0"
|
|
49
|
-
},
|
|
50
|
-
"exempted": false
|
|
51
|
-
}
|
|
52
|
-
Plugin dsh-telemetry-redactor@0.1.0 is incompatible with dsh 0.2.2-alpha.2: requirements {"@deepseek-ai/dsh-session-telemetry":">=0.1.0-rc.5 <0.2.0"}. Running it may cause crashes or data loss. Update the plugin or install a plugin version compatible with this dsh runtime. To accept this risk explicitly, grant the exact-version exemption for dsh-telemetry-redactor@0.1.0 on dsh 0.2.2-alpha.2 with `dsh plugin allow-version` or the plugin manager, then retry the installation or restart dsh. Exact-version exemption: not active.
|
|
53
|
-
=== dsh-verification-receipt@0.1.0 ===
|
|
54
|
-
{
|
|
55
|
-
"name": "dsh-verification-receipt",
|
|
56
|
-
"version": "0.1.0",
|
|
57
|
-
"runtimeVersion": "0.2.2-alpha.2",
|
|
58
|
-
"requirements": {
|
|
59
|
-
"@deepseek-ai/dsh-session": ">=0.1.0-rc.5 <0.1.0"
|
|
60
|
-
},
|
|
61
|
-
"exempted": false
|
|
62
|
-
}
|
|
63
|
-
Plugin dsh-verification-receipt@0.1.0 is incompatible with dsh 0.2.2-alpha.2: requirements {"@deepseek-ai/dsh-session":">=0.1.0-rc.5 <0.1.0"}. Running it may cause crashes or data loss. Update the plugin or install a plugin version compatible with this dsh runtime. To accept this risk explicitly, grant the exact-version exemption for dsh-verification-receipt@0.1.0 on dsh 0.2.2-alpha.2 with `dsh plugin allow-version` or the plugin manager, then retry the installation or restart dsh. Exact-version exemption: not active.
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema": "dsh-bundle-smoke/1",
|
|
3
|
-
"package": "dsh-purge",
|
|
4
|
-
"version": "1.1.85",
|
|
5
|
-
"g0": {
|
|
6
|
-
"patchFiles": 1,
|
|
7
|
-
"parsed": true
|
|
8
|
-
},
|
|
9
|
-
"g1": {
|
|
10
|
-
"rows": 99,
|
|
11
|
-
"targetRows": 3,
|
|
12
|
-
"warnings": [
|
|
13
|
-
"patch: entry \"redteam-store\" not found",
|
|
14
|
-
"patch: entry \"redteam-ui\" not found",
|
|
15
|
-
"patch: entry \"redteam-mode\" not found",
|
|
16
|
-
"patch: entry \"redteam-mode-store\" not found",
|
|
17
|
-
"patch: entry \"redteam-mode-ui\" not found",
|
|
18
|
-
"patch: entry \"dsh-purge\" not found"
|
|
19
|
-
]
|
|
20
|
-
},
|
|
21
|
-
"g2": {
|
|
22
|
-
"compatibility": "admit"
|
|
23
|
-
},
|
|
24
|
-
"g3": {
|
|
25
|
-
"state": "partial",
|
|
26
|
-
"rows": [
|
|
27
|
-
{
|
|
28
|
-
"id": "include:dsh-purge-redteam",
|
|
29
|
-
"state": 2,
|
|
30
|
-
"disabled": false
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"id": "include:dsh-purge-redteam-store",
|
|
34
|
-
"state": 2,
|
|
35
|
-
"disabled": false
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"id": "include:dsh-purge-redteam-ui",
|
|
39
|
-
"state": 0,
|
|
40
|
-
"disabled": false
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
"active": 2
|
|
44
|
-
},
|
|
45
|
-
"g4": {
|
|
46
|
-
"hasClient": true,
|
|
47
|
-
"clientExport": true,
|
|
48
|
-
"rootRows": [],
|
|
49
|
-
"ok": false
|
|
50
|
-
}
|
|
51
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema": "dsh-bundle-smoke/1",
|
|
3
|
-
"package": "dsh-purge",
|
|
4
|
-
"version": "1.1.85",
|
|
5
|
-
"g0": {
|
|
6
|
-
"patchFiles": 1,
|
|
7
|
-
"parsed": true
|
|
8
|
-
},
|
|
9
|
-
"g1": {
|
|
10
|
-
"rows": 100,
|
|
11
|
-
"targetRows": 3,
|
|
12
|
-
"warnings": [
|
|
13
|
-
"patch: entry \"redteam-store\" not found",
|
|
14
|
-
"patch: entry \"redteam-ui\" not found",
|
|
15
|
-
"patch: entry \"redteam-mode\" not found",
|
|
16
|
-
"patch: entry \"redteam-mode-store\" not found",
|
|
17
|
-
"patch: entry \"redteam-mode-ui\" not found",
|
|
18
|
-
"patch: entry \"dsh-purge\" not found"
|
|
19
|
-
]
|
|
20
|
-
},
|
|
21
|
-
"g2": {
|
|
22
|
-
"compatibility": "admit"
|
|
23
|
-
},
|
|
24
|
-
"g3": {
|
|
25
|
-
"state": "partial",
|
|
26
|
-
"rows": [
|
|
27
|
-
{
|
|
28
|
-
"id": "include:dsh-purge-redteam",
|
|
29
|
-
"state": 2,
|
|
30
|
-
"disabled": false
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"id": "include:dsh-purge-redteam-store",
|
|
34
|
-
"state": 2,
|
|
35
|
-
"disabled": false
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"id": "include:dsh-purge-redteam-ui",
|
|
39
|
-
"state": 0,
|
|
40
|
-
"disabled": false
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
"active": 2
|
|
44
|
-
},
|
|
45
|
-
"g4": {
|
|
46
|
-
"hasClient": true,
|
|
47
|
-
"clientExport": true,
|
|
48
|
-
"rootRows": [],
|
|
49
|
-
"ok": false
|
|
50
|
-
}
|
|
51
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# dsh-purge 1.1.85 — install-time profile writes (postinstall) evidence
|
|
2
|
-
# Source clone: /tmp/yj-purge @ 9716ca3e8711c7bb680668d34cc2e93e184028ad (2026-10-31)
|
|
3
|
-
# No tokens appear in any command output below.
|
|
4
|
-
|
|
5
|
-
## A. Direct postinstall run against a synthetic profile
|
|
6
|
-
# package.json: {"name":"dsh-profile-web",...,"dsh":{"profile":{"bundles":[]}}}
|
|
7
|
-
# cordis.patch.yml before: []
|
|
8
|
-
$ cd /tmp/triage-farm/plugins/dsh-purge
|
|
9
|
-
$ INIT_CWD=/tmp/triage-profile node scripts/ensure-profile-bundle.mjs
|
|
10
|
-
dsh-purge: appended to bundles (/tmp/triage-profile)
|
|
11
|
-
dsh-purge: wrote body insert (/tmp/triage-profile/cordis.patch.yml)
|
|
12
|
-
dsh-purge: allowed pnpm build for dsh-purge
|
|
13
|
-
exit=0
|
|
14
|
-
|
|
15
|
-
# /tmp/triage-profile/cordis.patch.yml after:
|
|
16
|
-
- insert:
|
|
17
|
-
- id: dsh-purge
|
|
18
|
-
name: dsh-purge
|
|
19
|
-
inject: [systemPrompt, tools]
|
|
20
|
-
config:
|
|
21
|
-
enabled: true
|
|
22
|
-
stripMnemon: true
|
|
23
|
-
capabilityProtocol: true
|
|
24
|
-
hooksDenyBypass: true
|
|
25
|
-
|
|
26
|
-
# /tmp/triage-profile/package.json after:
|
|
27
|
-
# "dsh": { "profile": { "bundles": ["dsh-purge"] } }
|
|
28
|
-
|
|
29
|
-
# /tmp/triage-profile/pnpm-workspace.yaml after:
|
|
30
|
-
allowBuilds:
|
|
31
|
-
dsh-purge: true
|
|
32
|
-
|
|
33
|
-
## B. Real `dsh plugin add` (documented codeload command + documented allow-build flags)
|
|
34
|
-
$ DSH_HOME=/tmp/triage-dsh-home3 dsh plugin --profile web add \
|
|
35
|
-
--allow-build=dsh-purge \
|
|
36
|
-
--allow-build='dsh-purge@https://codeload.github.com/YuJunZhiXue/dsh-purge/tar.gz/refs/heads/master' \
|
|
37
|
-
'https://codeload.github.com/YuJunZhiXue/dsh-purge/tar.gz/refs/heads/master'
|
|
38
|
-
...
|
|
39
|
-
node_modules/dsh-purge postinstall$ node scripts/ensure-profile-bundle.mjs
|
|
40
|
-
node_modules/dsh-purge postinstall: dsh-purge: appended to bundles (/tmp/triage-dsh-home3/profiles/web)
|
|
41
|
-
node_modules/dsh-purge postinstall: dsh-purge: wrote body insert (/tmp/triage-dsh-home3/profiles/web/cordis.patch.yml)
|
|
42
|
-
node_modules/dsh-purge postinstall: dsh-purge: allowed pnpm build for dsh-purge
|
|
43
|
-
node_modules/dsh-purge postinstall: Done
|
|
44
|
-
...
|
|
45
|
-
exit=0
|
|
46
|
-
|
|
47
|
-
# Installed profile state:
|
|
48
|
-
# dsh.profile.bundles = ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-purge"]
|
|
49
|
-
# cordis.patch.yml = host header comments + the same `- insert: id: dsh-purge` block
|
|
50
|
-
# node_modules/dsh-purge/package.json = dsh-purge 1.1.85
|
|
51
|
-
|
|
52
|
-
## C. Negative control: plain add without allow-build
|
|
53
|
-
$ DSH_HOME=/tmp/triage-dsh-home dsh plugin --profile web add /tmp/yj-purge/dsh-purge-1.1.85.tgz
|
|
54
|
-
Error: ERR_PNPM_IGNORED_BUILDS
|
|
55
|
-
x adding a new package
|
|
56
|
-
`- Ignored build scripts: dsh-purge@file:../../../yj-purge/dsh-purge-1.1.85.tgz
|
|
57
|
-
exit=1
|
|
58
|
-
# Profile after: bundles unchanged, cordis.patch.yml still `[]` -> no root insert.
|
|
59
|
-
|
|
60
|
-
# Also failed: file-tarball + --allow-build=dsh-purge (pnpm's key for a file
|
|
61
|
-
# tarball is the full spec, not the bare name). The documented codeload URL
|
|
62
|
-
# plus both documented allow-build keys is the invocation that works (B).
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema": "dsh-bundle-smoke/1",
|
|
3
|
-
"package": "dsh-purge",
|
|
4
|
-
"version": "1.1.85",
|
|
5
|
-
"g0": {
|
|
6
|
-
"patchFiles": 1,
|
|
7
|
-
"parsed": true
|
|
8
|
-
},
|
|
9
|
-
"g1": {
|
|
10
|
-
"rows": 100,
|
|
11
|
-
"targetRows": 4,
|
|
12
|
-
"warnings": [
|
|
13
|
-
"patch: entry \"redteam-store\" not found",
|
|
14
|
-
"patch: entry \"redteam-ui\" not found",
|
|
15
|
-
"patch: entry \"redteam-mode\" not found",
|
|
16
|
-
"patch: entry \"redteam-mode-store\" not found",
|
|
17
|
-
"patch: entry \"redteam-mode-ui\" not found",
|
|
18
|
-
"patch: entry \"dsh-purge\" not found"
|
|
19
|
-
]
|
|
20
|
-
},
|
|
21
|
-
"g2": {
|
|
22
|
-
"compatibility": "admit"
|
|
23
|
-
},
|
|
24
|
-
"g3": {
|
|
25
|
-
"state": "partial",
|
|
26
|
-
"rows": [
|
|
27
|
-
{
|
|
28
|
-
"id": "include:dsh-purge-redteam",
|
|
29
|
-
"state": 2,
|
|
30
|
-
"disabled": false
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"id": "include:dsh-purge-redteam-store",
|
|
34
|
-
"state": 2,
|
|
35
|
-
"disabled": false
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"id": "include:dsh-purge-redteam-ui",
|
|
39
|
-
"state": 0,
|
|
40
|
-
"disabled": false
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"id": "include:dsh-purge",
|
|
44
|
-
"state": 2,
|
|
45
|
-
"disabled": false
|
|
46
|
-
}
|
|
47
|
-
],
|
|
48
|
-
"active": 3
|
|
49
|
-
},
|
|
50
|
-
"g4": {
|
|
51
|
-
"hasClient": true,
|
|
52
|
-
"clientExport": true,
|
|
53
|
-
"rootRows": [
|
|
54
|
-
{
|
|
55
|
-
"id": "dsh-purge",
|
|
56
|
-
"name": "dsh-purge",
|
|
57
|
-
"inject": [
|
|
58
|
-
"systemPrompt",
|
|
59
|
-
"tools"
|
|
60
|
-
],
|
|
61
|
-
"config": {
|
|
62
|
-
"enabled": true,
|
|
63
|
-
"stripMnemon": true,
|
|
64
|
-
"capabilityProtocol": true,
|
|
65
|
-
"hooksDenyBypass": true
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
],
|
|
69
|
-
"ok": true
|
|
70
|
-
}
|
|
71
|
-
}
|