2nd dokployH
Find a file
Tianyi Cui 825b57aff9 feat(llm): structured error taxonomy with a shared HarnessError base (RFC 005 pt 2)
Introduce HarnessError in dsh-llm (the leaf package): a stable machine-routable
code distinct from the message, cause chaining, name from the subclass, plus
isHarnessError. LlmError, ToolArgsError, and InvariantError now extend it.

Tool failures carry the structure end-to-end: ToolExecutionResult gains
error: { name, code } (populated from a thrown HarnessError), and the loop
forwards it onto the tool/result session event (which gained the same optional
field) for retry/sandbox plugins and replay. The loop's toError wraps non-Error
throws in a HarnessError(code: UNKNOWN, cause) instead of a bare Error.

Landed last and in isolation so it's a pure upgrade over the plain Error+code
the earlier PRs used — independently revertible. Graduates RFC 005 pt 2 ->
ADR 0015; RFC 005 now fully implemented.
2026-06-14 01:07:28 +08:00
.agents/skills/dsh-code-review docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
.claude docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
.github/workflows build: doc-sync gates — typecheck doc code blocks + verify event taxonomy (RFC 006 pts 1-2) 2026-06-14 00:47:38 +08:00
docs feat(llm): structured error taxonomy with a shared HarnessError base (RFC 005 pt 2) 2026-06-14 01:07:28 +08:00
examples feat(invariants): dev-mode event-contract assertions + session-log freeze (RFC 005 pt 3, RFC 008) 2026-06-13 23:25:12 +08:00
packages feat(llm): structured error taxonomy with a shared HarnessError base (RFC 005 pt 2) 2026-06-14 01:07:28 +08:00
scripts fix(scripts): harden event-taxonomy brace walk against JSDoc braces (PR 4) 2026-06-14 00:54:47 +08:00
vendor docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
.gitignore build: doc-sync gates — typecheck doc code blocks + verify event taxonomy (RFC 006 pts 1-2) 2026-06-14 00:47:38 +08:00
.yarnrc.yml Set up monorepo infra: Yarn 4 workspaces, tsc -b + dumble build, vitest 2026-06-11 10:52:45 +08:00
AGENTS.md docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
CLAUDE.md Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
eslint.config.mjs Replace dumble with tsdown for JS bundling 2026-06-11 22:34:43 +08:00
knip.json Add examples/coding-agent and the docs cookbook 2026-06-13 18:30:50 +08:00
lefthook.yml Add lefthook git hooks with a vendor-manifest guard 2026-06-11 15:07:55 +08:00
LICENSE Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
package.json build: doc-sync gates — typecheck doc code blocks + verify event taxonomy (RFC 006 pts 1-2) 2026-06-14 00:47:38 +08:00
README.md docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
tsconfig.base.json feat(invariants): dev-mode event-contract assertions + session-log freeze (RFC 005 pt 3, RFC 008) 2026-06-13 23:25:12 +08:00
tsconfig.build.json feat(invariants): dev-mode event-contract assertions + session-log freeze (RFC 005 pt 3, RFC 008) 2026-06-13 23:25:12 +08:00
tsconfig.json Fix CI: order steps by artifact dependency, resolve fresh-clone builds 2026-06-11 23:10:43 +08:00
tsconfig.test.json Set up monorepo infra: Yarn 4 workspaces, tsc -b + dumble build, vitest 2026-06-11 10:52:45 +08:00
tsconfig.typecheck.json feat(invariants): dev-mode event-contract assertions + session-log freeze (RFC 005 pt 3, RFC 008) 2026-06-13 23:25:12 +08:00
tsdown.config.ts Replace dumble with tsdown for JS bundling 2026-06-11 22:34:43 +08:00
vitest.config.ts Document why vite-tsconfig-paths can't be replaced by resolve.tsconfigPaths 2026-06-11 23:24:41 +08:00
vitest.e2e.config.ts Add examples/coding-agent and the docs cookbook 2026-06-13 18:30:50 +08:00
yarn.config.cjs Add repo hygiene gates: knip, publint, yarn constraints 2026-06-11 15:04:50 +08:00
yarn.lock feat(llm): structured error taxonomy with a shared HarnessError base (RFC 005 pt 2) 2026-06-14 01:07:28 +08:00

DeepSeek Harness

Monorepo for the DeepSeek Harness group.

Projects

  • DeepSeek Code — DeepSeek's coding agent product.

Development

This monorepo is built on the Cordis framework (vendored as source under vendor/), microkernel-style: everything is a plugin.

yarn install
yarn test          # vitest
yarn demo:echo     # runnable echo-agent example (no API key needed)
yarn demo:coding   # the real DeepSeek coding agent (needs DEEPSEEK_API_KEY)

For agent instructions see AGENTS.md. For the architecture design see docs/architecture.md. Each subdirectory has its own README.md with local context: packages/, vendor/.