2nd dokployH
Find a file
Tianyi Cui db4a39b024 workflow: close the review-found cancellation and child-lifecycle gaps
Three review findings on the engine's child seam, one mechanism each:

- Cancellation now bridges to run.cancel() on every in-flight child, not
  just the shared request signal — the subagent seam leaves a provider
  free to honor either channel, so the consumer drives both (listener
  removed in the child finally).
- A child result REJECTION (an infrastructure fault the seam allows) now
  emits the paired workflow/agent-end before propagating, and propagates
  as a fatal WorkflowError with the new AGENT_RESULT code — previously it
  skipped agent-end (permanently open child for seq-matching observers)
  and dissolved to a per-item null inside parallel()/pipeline(), letting
  a broken provider read as an ordinary failed child. A rejection landing
  after cancel stays a cancellation (cancelled outcome + CANCELLED).
- Every hook now guards its entry with a shared throwIfCancelled():
  phase()/log() no longer emit observer events after a script caught an
  earlier cancelled rejection, and parallel()/pipeline() refuse entry —
  cancellation is the next HOOK boundary, not just the next agent().
2026-07-06 21:02:41 +08:00
.agents/skills docs: state the dependent check's contract as zero-versus-non-zero 2026-07-06 01:19:46 +08:00
.claude docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
.github/workflows docs(graphs): verify mermaid syntax 2026-07-03 01:32:01 +08:00
docs workflow: close the review-found cancellation and child-lifecycle gaps 2026-07-06 21:02:41 +08:00
examples Merge remote-tracking branch 'origin/master' into worktree-dynamic-workflows 2026-07-06 03:14:07 +08:00
packages workflow: close the review-found cancellation and child-lifecycle gaps 2026-07-06 21:02:41 +08:00
scripts Merge remote-tracking branch 'origin/master' into worktree-dynamic-workflows 2026-07-06 03:14:07 +08:00
vendor Use explicit ts specifiers for declarations 2026-06-22 06:11:00 +08:00
.gitignore Add web capability seam: ctx.web, search/fetch providers, web tools 2026-06-26 19:12:13 +08:00
AGENTS.md Merge remote-tracking branch 'origin/master' into worktree-dynamic-workflows 2026-07-06 03:14:07 +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 fix: make constraints, lint and md-links happy 2026-06-22 01:38:44 +08:00
knip.json chore: undo the knip.json reformat noise 2026-07-06 00:53:17 +08:00
lefthook.yml feat(acp-example): snapshot harness, normalizers, wiring, and handshake scenario 2026-06-19 03:36:12 +08:00
LICENSE Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
package.json docs(rfc): define and enforce a uniform RFC format; adopt it across the corpus 2026-07-05 22:58:25 +08:00
pnpm-lock.yaml Merge remote-tracking branch 'origin/master' into worktree-dynamic-workflows 2026-07-06 03:14:07 +08:00
pnpm-workspace.yaml Reorganize packages into a modular hierarchy 2026-06-20 22:55:20 +08:00
README.i18n.yaml docs: revise graph docs from review 2026-07-05 01:25:58 +08:00
README.md docs: revise graph docs from review 2026-07-05 01:25:58 +08:00
README.zh.md docs: revise graph docs from review 2026-07-05 01:25:58 +08:00
tsconfig.base.json workflow: dynamic workflows — script-driven multi-agent orchestration 2026-07-05 13:29:35 +08:00
tsconfig.build.json workflow: dynamic workflows — script-driven multi-agent orchestration 2026-07-05 13:29:35 +08:00
tsconfig.json workflow: dynamic workflows — script-driven multi-agent orchestration 2026-07-05 13:29:35 +08:00
tsdown.config.ts Merge remote-tracking branch 'origin/master' into feat/adr0016-type-build-check 2026-06-22 00:35:51 +08:00
vitest.config.ts fix(docs): address Codex review round 3 — last three moved-policy citations 2026-07-04 16:02:39 +08:00
vitest.e2e.config.ts Merge remote-tracking branch 'origin/master' into feat/adr0016-type-build-check 2026-06-22 00:35:51 +08:00
vitest.snapshot.config.ts feat: one tsconfig.json and different rules 2026-06-19 23:35:47 +08:00

DeepSeek Harness

English | 中文

The DeepSeek Harness SDK is a plugin-based SDK for building agent harnesses.

Development

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

pnpm install
pnpm run test          # vitest
pnpm run demo:repl     # REPL agent demo (needs DEEPSEEK_API_KEY)
pnpm run demo:acp      # ACP server agent demo (needs DEEPSEEK_API_KEY)

For humans, start with the development guide for local setup, hooks, environment variables, and quality gates, then read the architecture design and documentation graph index before package work. Local context lives in packages/ and vendor/.

For agents, follow AGENTS.md.