deepseek-harness/docs
Tianyi Cui 0664b25cd9 fix(review): validate skill roots at mount and isolate provider default roots
ds-review-bot round 1 on the repository-plugin runtime:
- a manifest-declared skill root absent or non-directory in the installed
  package now fails the plugin load (skill-local treats a missing root as
  legitimately empty, which silently mounted a skill-less plugin)
- includeDefaultRoots: false no longer inherits $DSH_BUNDLED_SKILL_DIR, so
  isolated repository providers see only their explicit roots
- prepared wrapper baseUrl schema requires the file: scheme, failing hostile
  URLs at the declared validation boundary
- preparedPath reuses format.ts's isOutside; SERVER_NAME_PATTERN is exported
  and pinned equal to dsh-mcp-client's, with the restatement justified (the
  prepare bin keeps a zod-only module graph); the unexplained `as never`
  cast now carries its schemastery rationale
- the import-free wrapper assertion also rejects dynamic import(
- the headless fixture wrapper is regenerated by the real prepareDshPlugin
  and a drift test pins fixture == generator output
- prepareDshPlugin JSDoc states the non-atomic publish repair contract
2026-08-02 01:25:02 +08:00
..
cookbook Merge remote-tracking branch 'origin/master' into feat/search-presenter 2026-07-31 11:31:32 +08:00
cordis-catalog fix(cordis): make config reload transactional 2026-08-02 01:25:01 +08:00
cordis-tutorial fix(cli): close shared config review gaps 2026-07-30 14:56:39 +08:00
core-data-structures Merge latest master into manual compaction 2026-07-31 17:57:11 +08:00
i18n Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config 2026-07-30 15:18:26 +08:00
postmortem Merge fix/web-agent-runtime-context into fix/web-gui-feedback-loop 2026-08-01 22:15:36 +08:00
user Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config 2026-07-30 20:15:40 +08:00
agent-lifecycle.md refactor(agent): return request retry action 2026-07-27 21:17:49 +08:00
AGENTS.md docs(notes): archive low-value decision records 2026-07-26 23:06:00 +08:00
architecture.i18n.yaml Merge latest master into manual compaction 2026-07-31 17:57:11 +08:00
architecture.md Merge latest master into manual compaction 2026-07-31 17:57:11 +08:00
architecture.zh.md Merge latest master into manual compaction 2026-07-31 17:57:11 +08:00
capability-seams.md Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config 2026-07-30 20:15:40 +08:00
config-catalog.md fix(review): validate skill roots at mount and isolate provider default roots 2026-08-02 01:25:02 +08:00
cordis-paper.pdf docs: add cordis paper 2026-07-31 15:54:36 +08:00
cordis-primer.i18n.yaml docs(i18n): clarify Cordis and test wording 2026-07-24 14:21:15 +08:00
cordis-primer.md Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-23 13:40:29 +08:00
cordis-primer.zh.md docs(i18n): clarify Cordis and test wording 2026-07-24 14:21:15 +08:00
defensive-patterns.i18n.yaml docs(security): include password names in scrub rule 2026-07-28 09:40:33 -07:00
defensive-patterns.md docs(security): include password names in scrub rule 2026-07-28 09:40:33 -07:00
defensive-patterns.zh.md docs(security): include password names in scrub rule 2026-07-28 09:40:33 -07:00
development.i18n.yaml docs: evaluate SPDX conjunctions and read every Python manifest 2026-07-30 19:54:27 -07:00
development.md docs: evaluate SPDX conjunctions and read every Python manifest 2026-07-30 19:54:27 -07:00
development.zh.md docs: evaluate SPDX conjunctions and read every Python manifest 2026-07-30 19:54:27 -07:00
event-producer-consumer.md Merge latest master into manual compaction 2026-07-31 17:57:11 +08:00
glossary.i18n.yaml docs: align Goal Round step cardinality 2026-07-24 12:10:40 +08:00
glossary.md docs: align Goal Round step cardinality 2026-07-24 12:10:40 +08:00
glossary.zh.md docs(i18n): allow zero-step Goal Rounds 2026-07-23 21:13:34 +08:00
graph-atlas.md fix(docs): align catalogs with consolidated CLI 2026-07-30 10:34:21 +08:00
module-graph.md feat: add static repository plugin format 2026-08-02 01:25:02 +08:00
persistence-catalog.md Merge latest master into manual compaction 2026-07-31 17:57:11 +08:00
testing.i18n.yaml Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation 2026-07-30 15:00:42 +08:00
testing.md Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation 2026-07-30 15:00:42 +08:00
testing.zh.md Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation 2026-07-30 15:00:42 +08:00
tool-catalog.md fix(fs-search): make glob sampling an explicit choice 2026-07-30 21:14:03 +08:00
tool-execution-pipeline.md Merge remote-tracking branch 'origin/master' into feat/send-unify 2026-07-23 22:41:45 +08:00
typert-catalog-integration-design.i18n.yaml refactor(cordis): generate catalogs from Typert models 2026-07-29 23:55:12 +08:00
typert-catalog-integration-design.md refactor(cordis): generate catalogs from Typert models 2026-07-29 23:55:12 +08:00
typert-catalog-integration-design.zh.md refactor(cordis): generate catalogs from Typert models 2026-07-29 23:55:12 +08:00
web-styling.i18n.yaml docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
web-styling.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
web-styling.zh.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00