2nd dokployH
Find a file
Tianyi Cui 90a19f072d docs(acp,rfc): fix stale ownership wording + propose unifying agent/session id (review)
Review follow-ups on the bash owner-token PR:

- packages/acp/README.md still described task isolation in object-identity terms
  ("records each background task's owning agent", "a different agent"). Rewrite
  to the session-token model: ownership is by `session.header.id`, stored on the
  executor's task, so a different Agent object on the same session may access it
  and ownership survives a tool-bash HMR reload.

- The reviewer flagged that the notice routes by `session.header.id` while the
  registry only enforces unique `agent.id`, so a programmatic caller could
  register two agents sharing a session token and mis-route a notice (not
  reachable via ACP). Rather than bolt a session-id invariant onto the generic
  registry, add a proposed RFC (2026-06-20-unify-agent-and-session-id) to remove
  the precondition by construction — an agent IS its session, one id — with a
  full risks discussion (forecloses multi-session-actor / fork futures, makes the
  config resume-or-create policy load-bearing, migration churn). The actual
  unification ships as its own Codex-converged PR. Cross-linked from the
  agent-lifecycle RFC's seam-precondition note.

- Reframe the tool-bash module-doc ownership paragraph to current-state (per the
  new AGENTS.md doc convention): contrast storing the token on the executor vs
  in the plugin as a standing rationale, not as "closing the old gap".
2026-06-20 13:38:48 +08:00
.agents/skills/dsh-code-review docs(dsh-code-review): test sufficiency — real usage, not just 100% coverage 2026-06-20 07:12:52 +08:00
.claude docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
.github/workflows docs(rfc): record real-API e2e CI decision + security model 2026-06-19 18:42:27 +08:00
docs docs(acp,rfc): fix stale ownership wording + propose unifying agent/session id (review) 2026-06-20 13:38:48 +08:00
examples feat(acp): dispose each session's agent on disconnect/teardown 2026-06-20 06:44:58 +08:00
packages docs(acp,rfc): fix stale ownership wording + propose unifying agent/session id (review) 2026-06-20 13:38:48 +08:00
scripts refactor(examples): extract reusable logic into tested packages 2026-06-19 12:42:28 +08:00
vendor feat: migrate to pnpm 2026-06-16 14:55:37 +08:00
.gitignore fix(ui-stdio): cancel EOF-exit timer on dispose; harden config defaults; doc fixes 2026-06-19 14:53:07 +08:00
AGENTS.md docs(agents): add doc-current-state convention + sharpen the summary worked example (review) 2026-06-20 12:42:53 +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 refactor(examples): extract reusable logic into tested packages 2026-06-19 12:42:28 +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 Merge remote-tracking branch 'origin/master' into feat/acp-snapshot-tests 2026-06-19 10:03:04 +08:00
pnpm-lock.yaml refactor(examples): extract reusable logic into tested packages 2026-06-19 12:42:28 +08:00
pnpm-workspace.yaml docs: tighten allowBuilds comments 2026-06-16 16:25:24 +08:00
README.md feat: migrate to pnpm 2026-06-16 14:55:37 +08:00
tsconfig.base.json refactor(examples): extract reusable logic into tested packages 2026-06-19 12:42:28 +08:00
tsconfig.build.json refactor(examples): extract reusable logic into tested packages 2026-06-19 12:42:28 +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 refactor(examples): extract reusable logic into tested packages 2026-06-19 12:42:28 +08:00
tsdown.config.ts feat: migrate to pnpm 2026-06-16 14:55:37 +08:00
vitest.config.ts feat(acp-example): add record/replay llm/stream plugin for snapshot tests 2026-06-19 01:10:30 +08:00
vitest.e2e.config.ts feat: migrate to pnpm 2026-06-16 14:55:37 +08:00
vitest.snapshot.config.ts ci+fix: run snapshot tests in CI and load .env only when recording 2026-06-19 04:28:09 +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.

pnpm install
pnpm run test          # vitest
pnpm run demo:echo     # runnable echo-agent example (no API key needed)
pnpm run demo:coding   # the real DeepSeek coding agent (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 before package work. Local context lives in packages/ and vendor/.

For agents, follow AGENTS.md.