Commit Graph
21 Commits
Author SHA1 Message Date
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
Tianyi Cui 3ecd4a569a test(skill-local): cover root unlink rewatch 2026-07-30 12:02:21 +08:00
Tianyi Cui fca0c05155 Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729
# Conflicts:
#	docs/config-catalog.md
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/skills.i18n.yaml
#	docs/core-data-structures/skills.md
#	docs/core-data-structures/skills.zh.md
#	packages/host/apiproxy/README.i18n.yaml
#	packages/skill/skill-local/README.i18n.yaml
#	packages/skill/skill/README.i18n.yaml
#	packages/skill/skill/README.md
#	packages/skill/skill/README.zh.md
#	packages/skill/skill/src/index.ts
#	packages/skill/skill/tests/skill.spec.ts
#	packages/skill/tool-skill/README.i18n.yaml
#	packages/skill/tool-skill/src/index.ts
#	packages/ui/tui/README.i18n.yaml
#	packages/ui/tui/README.md
#	packages/ui/tui/README.zh.md
#	packages/ui/tui/src/index.ts
#	packages/ui/tui/tests/tui.spec.ts
2026-07-29 23:36:49 +08:00
Tianyi Cui 12832886c5 refactor(skill): canonicalize invocation policy 2026-07-29 22:51:47 +08:00
Tianyi Cui c10c72837b fix(skill): close watchers after probe disposal 2026-07-29 22:13:57 +08:00
Tianyi Cui 502e64c00d Merge origin/master at ecbf75a5e7 into skill catalog hot refresh 2026-07-29 21:42:18 +08:00
Tianyi Cui 52d68a5383 fix(skill): retain candidates across watcher failures 2026-07-29 21:17:27 +08:00
Tianyi Cui 48cf50fc55 fix(skill): cancel opening watchers on dispose 2026-07-29 21:17:04 +08:00
Tianyi Cui e9233123eb fix(skill): ignore unchanged missing-root probes 2026-07-29 21:12:01 +08:00
Tianyi Cui 709d545e7c fix(skill): re-probe retained root watchers 2026-07-29 16:53:47 +08:00
Tianyi Cui 979fa8ab33 refactor(skill): scope provider invalidation 2026-07-29 02:06:07 +08:00
Yichen Jiang babb8f1496 fix(skill): normalize invocation policy 2026-07-28 17:55:49 +08:00
Yichen Jiang 09d14e344f test(skill-local): cover quoted booleans 2026-07-28 17:38:45 +08:00
Yichen Jiang e133e4bddb feat(skill): add invocation controls 2026-07-28 17:22:41 +08:00
Tianyi Cui 2612a4b587 Merge latest master into skill catalog hot refresh 2026-07-28 01:10:33 +08:00
Turtle 5d2329e207 feat(skills): bundle and harden personal maintenance workflows 2026-07-27 18:53:30 +08:00
Yichen Jiang b76659aa57 feat(skill): hot-refresh skill catalogs 2026-07-27 16:50:56 +08:00
Tianyi Cui f1202d0dd8 ci: enforce bounded build lanes 2026-07-21 20:15:09 +08:00
Yichen Jiang 1a3113ebb0 Merge remote-tracking branch 'origin/master' into codex/project-instruction-files 2026-07-11 23:02:24 +08:00
Yichen Jiang c2c238d36d fix(skill): forward cancellation to local reads 2026-07-10 17:47:28 +08:00
Yichen Jiang 6292d52236 feat(skill): move catalogs into session prefixes 2026-07-10 14:19:06 +08:00