Skip to content

feat(dsh): add verified skill discovery - #100

Merged
phodal merged 9 commits into
QoderAI:mainfrom
Cobb04:fix/dsh-verified-skill-discovery
Aug 22, 2026
Merged

feat(dsh): add verified skill discovery#100
phodal merged 9 commits into
QoderAI:mainfrom
Cobb04:fix/dsh-verified-skill-discovery

Conversation

@Cobb04

@Cobb04 Cobb04 commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a verified DeepSeek Harness (DSH) installation and discovery path for the canonical Better Harness Skill, with direct-user-only /better-harness invocation enforced by a DSH host policy.

Why

Traceability and Scope

  • Spec/ADR, if applicable: docs/specs/2026-08-22-99-deepseek-harness-skill-discovery.md
  • Acceptance criteria addressed: AC1–AC10, including native DSH discovery, direct-user invocation, model-call rejection, root integrity, shadow/fallback behavior, Headless and selected Web preset composition, documentation, and CI coverage.
  • Canonical owners changed: DSH discovery policy/smoke owner, DSH adapter documentation, installation guide, and CI native-smoke ordering.
  • Explicit non-goals: DSH upstream changes; configured assets, report routing, rendering, lifecycle, MCP/profile product support, session analysis, persistence, minimal Web preset support, Quickstart promotion, shared Skill metadata changes, and unrelated cleanup.

Change Type

  • Feature
  • Bug fix
  • Tests only
  • Documentation/community
  • Refactor with no intended behavior change
  • Dependency, packaging, or infrastructure

Test and Review Evidence

Check Result
npm run test:dsh-native Pass; DSH 0.1.1-rc.2, credential-free native owners, global Headless and scoped Web discovery, explicit injection, model rejection, shadows/fallbacks, and path semantics verified
npm test -- --run test/skills-docs/doc-link-graph.test.mjs test/skills-docs/dsh-skill-discovery.test.mjs test/skills-docs/better-harness-skill.test.mjs Pass: 3 files, 16 tests
Cross-host asset/plugin test selection Pass: 5 files, 37 tests
npm run harness:generated Pass
npm run pack:verify Pass: npm 568 entries; runtime zip 597 entries
Harness build/test Pass: 17 files, 156 tests
UI build/test Pass: 3 files, 29 tests
Studio build/test Pass: 30 files, 189 tests
npm --prefix packages/harness-studio run test:browser Pass: 26 tests after installing the pinned Playwright Chromium runtime
Docs npm run build Pass: English and zh-Hans
Codex Skill validator Pass
git diff --check Pass
Full root Vitest suite Issue branch matches current main: 101/102 files pass, 1482 passed, 1 skipped; the two failures are pre-existing stale Antigravity closure counts (expected 93/290/96, actual 102/299/105) and reproduce at upstream SHA 465e9bd / CI run 32552933452
PR CI run 32556739754 Native DSH smoke passes on all four lanes; each lane then reproduces only the same two current-main Antigravity assertions in the shared Vitest step

Manual or visual evidence: reviewed the complete policy owner, native smoke, tests, docs, workflow diff, package diff, commit trace, and current upstream CI logs. The branch preserves the same closure graph as upstream/main (102 nodes, 299 edges, 105 files).

Risk and Recovery

  • Compatibility and cross-platform impact: Native smoke runs on Ubuntu 22.04/24.04, macOS 22, and Windows 2022. Path tests cover POSIX and Windows roots with spaces and Unicode. Relative paths remain cwd-relative and literal ~ is not expanded.
  • Package, plugin, schema, or generated-file impact: No lockfile, shared Skill, plugin manifest, schema, or generated artifact changed. CI installs exact native DSH component versions in an isolated temporary prefix.
  • Rollback or recovery path: Remove the host policy from the DSH composition and remove the custom Skill directory entry; reverting these eight commits restores the prior docs and CI workflow.
  • Residual risk or unverified boundary: DSH Web minimal remains unsupported because it lacks the scoped Skill loader. Repository-wide CI also inherits the unrelated current-main Antigravity closure-count failure described above.

AI Involvement

  • Level: Assisted
  • Human review and validation: Cobb04 remains the author and committer; source ownership, scope, repository state, native runtime behavior, full build/test evidence, and attribution were explicitly audited before publication.

Checklist

  • I followed AGENTS.md, CONTRIBUTING.md, and the relevant canonical-owner guidance.
  • The change is focused and does not include unrelated local or generated state.
  • Tests and documentation match the behavior actually delivered.
  • Markdown links were checked when documentation moved or changed.
  • Cross-platform behavior was considered for Windows, macOS, and Linux.
  • Package/runtime verification was run when shipped files or dependencies changed.
  • User-facing or compatibility changes are recorded in CHANGELOG.md (explicit Issue [Feature]: Add verified DeepSeek Harness Skill discovery with explicit-only invocation #99 non-goal; canonical adapter and installation docs are updated instead).
  • I have the right to contribute this work under the repository's MIT License.

Cobb04 and others added 9 commits August 22, 2026 13:32
Define Story QoderAI#99 as the DSH move from Partial adapter toward Verified install/discovery. The native customSkillDirs route and credential-free evidence boundary are fixed while the cross-host-safe explicit-only mechanism remains implementation research.

Validated with the repository Spec Preparation contract, structured specification review, documentation link tests, and attribution gates.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Define the canonical winner, trust, path, and explicit-only behavior that the DSH integration must satisfy. The tests were observed failing before the DSH policy owner existed.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Add a DSH-native Cordis policy that verifies the winning Better Harness Skill against the complete configured root before direct slash invocation and rejects model-facing Skill tool calls. Add a pinned credential-free native smoke to CI.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Exercise the real DSH scoped registry used by selected Web presets, while retaining the unsupported no-loader boundary represented by Web minimal.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Document the single canonical customSkillDirs route, the headless and supported Web preset owners, explicit-only policy, trust failures, path rules, and the capabilities that remain unsupported.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Keep the DSH installation reference as prose so the Antigravity Markdown artifact closure remains byte-for-byte equivalent to the current upstream/main closure rather than absorbing unrelated site pages.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Run the credential-free DSH owner smoke immediately after install so its macOS, Linux, Windows, and Node matrix evidence is reported independently of later repository-wide gates.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Run npm through its JavaScript CLI entrypoint when the smoke is started by npm, avoiding Node 22.20 spawn EINVAL for npm.cmd on Windows while retaining a shell fallback for direct execution.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Align the traceability status with the completed Story QoderAI#99 acceptance evidence before PR QoderAI#100 is merged. Validated with the focused DSH and documentation link tests.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
@phodal
phodal merged commit 6f3081b into QoderAI:main Aug 22, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants