deepseek-harness/packages
Tianyi Cui fb0d4ba564 fix(process): close review gaps from Codex round 1
- Mount LocalProcessManager in the sandbox e2e compositions (bwrap/landlock/
  seatbelt + the spine multi-project e2e) and add the spine demo's
  dsh-process-local devDependency, so SandboxBashExecutor's new inject
  resolves when those suites are enabled.
- Extend the Windows test/coverage skip to packages/process/* — the POSIX
  process-group suite moved there from packages/bash.
- Update the stale disposal contract: the bash seam JSDoc, BashProcess JSDoc,
  and core bash doc (en+zh) now state that composition teardown (the process
  manager's disposal) owns kill-and-await, and an executor-only reload leaves
  background processes running.
- Record ctx.processes in the architecture capability table and extension map
  (en+zh) and the root AGENTS.md layout tree; reword the timeout-library note
  so it describes where the plumbing and classification live today.
2026-07-26 07:54:42 +08:00
..
acp Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol 2026-07-24 23:43:10 +08:00
bash fix(process): close review gaps from Codex round 1 2026-07-26 07:54:42 +08:00
client Merge remote-tracking branch 'origin/master' into web-e2e-lane 2026-07-25 18:19:22 +08:00
code-runtime docs(code-runtime): cover captured error construction 2026-07-23 03:51:25 +08:00
compact refactor(agent): align delivery method names 2026-07-24 15:08:36 +08:00
context Merge remote-tracking branch 'origin/master' into session-query-tool 2026-07-25 14:17:24 +08:00
cordis refactor(process): split the process manager out of the bash executor 2026-07-26 06:59:01 +08:00
core Merge branch 'master' into worktree/dsh-arg-parser 2026-07-26 00:05:16 +08:00
examples fix(process): close review gaps from Codex round 1 2026-07-26 07:54:42 +08:00
fs refactor(process): split the process manager out of the bash executor 2026-07-26 06:59:01 +08:00
goal Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol 2026-07-24 23:43:10 +08:00
guard Trim redundant source comments 2026-07-25 13:02:37 +08:00
hooks refactor(process): split the process manager out of the bash executor 2026-07-26 06:59:01 +08:00
host fix(session-query): keep model tools opt-in 2026-07-25 18:14:36 +08:00
llm fix(llm-mock-server): harden fault boundaries 2026-07-25 22:45:58 +08:00
lsp refactor(acp): reduce bridge to automation protocol 2026-07-24 01:40:25 +08:00
mcp Trim redundant source comments 2026-07-25 13:02:37 +08:00
plan docs(agent-notes): consolidate superseded decisions 2026-07-25 16:43:07 +08:00
process refactor(process): split the process manager out of the bash executor 2026-07-26 06:59:01 +08:00
pty fix(tasks): fail loud when the abstract seam is mounted directly 2026-07-26 07:25:47 +08:00
sandbox Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol 2026-07-25 02:07:28 +08:00
sdk refactor(process): split the process manager out of the bash executor 2026-07-26 06:59:01 +08:00
session-persistence Merge remote-tracking branch 'origin/master' into session-query-tool 2026-07-25 15:43:45 +08:00
session-query fix(session-query): keep model tools opt-in 2026-07-25 18:14:36 +08:00
session-title fix(web): generate model-backed session titles 2026-07-23 18:20:17 +08:00
skill Merge refreshed schema DSL into canonical tool output 2026-07-22 21:31:16 +08:00
spill Merge branch 'codex/canonical-tool-output' into codex/code-mode-typed-results 2026-07-22 17:07:49 +08:00
storage test(web): cover workspace UI branches 2026-07-25 17:46:05 +08:00
subagent refactor(process): split the process manager out of the bash executor 2026-07-26 06:59:01 +08:00
support Merge branch 'master' into worktree/llm-mock-fault-server 2026-07-26 00:45:44 +08:00
tasks fix(tasks): fail loud when the abstract seam is mounted directly 2026-07-26 07:25:47 +08:00
timeout Merge branch 'codex/tool-json-schema-dsl' into codex/canonical-tool-output 2026-07-21 23:39:03 +08:00
todo Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol 2026-07-24 23:43:10 +08:00
ui Merge branch 'master' into worktree/dsh-arg-parser 2026-07-26 00:05:16 +08:00
util Merge master into worktree-windows-runtime 2026-07-21 23:39:14 +08:00
web Merge branch 'codex/tool-json-schema-dsl' into codex/canonical-tool-output 2026-07-22 17:05:38 +08:00
workflow refactor(agent): align delivery method names 2026-07-24 15:08:36 +08:00
workspace docs(web): finalize workspace UI product flow 2026-07-25 17:46:04 +08:00
AGENTS.md docs(ts): document the solution-root TypeScript project layout 2026-07-23 03:59:35 +08:00
CLAUDE.md
README.md refactor(process): split the process manager out of the bash executor 2026-07-26 06:59:01 +08:00

Packages

Packages use the @deepseek-ai/dsh-* scope. Each is a Cordis Service subclass or function plugin; contributions use ctx.effect(), ctx.on(), or ctx.waterfall(). Authoring rules: package and root.

Hierarchy

Packages live at packages/<group>/<pkg>/; groups are containers, while names remain @deepseek-ai/dsh-<pkg>. Each group README is the canonical package/ctx-key map.

Group Role Release expectation
core/ Product API spine: sessions, prompts, tools, agent services, and the concrete loop Product — stable surface
goal/ Persisted same-session goal state and lifecycle Product — stable surface
llm/ LLM capability family: the abstract service + provider adapters Product — stable surface
process/ Child-process manager capability family: spawn seam + local process-group implementation Product — stable surface
bash/ Bash capability family: executor seam, local impl, model-facing tool Product — stable surface
pty/ Persistent PTY capability family: owner-scoped sessions, local implementation, and model-facing tools Product — stable surface
code-runtime/ Code-execution capability family: the runtime seam for model-written programs + a worker-thread backend Product — stable surface
sandbox/ Process-confinement seam; bwrap/Landlock/Seatbelt backends Product — stable surface
fs/ Filesystem capability family: seam, local impl, model-facing file tools, bash-backed discovery tools Product — stable surface
lsp/ LSP capability family: seam, generic stdio provider, and the lsp tool Product — stable surface
skill/ Skill capability family: the provider registry, local provider, and model-facing catalog/loader Product — stable surface
compact/ Compaction capability family: the abstract seam + a basic backend (tool deferred) Product — stable surface
context/ Model-visible request context, including workspace instructions and time context Product — stable surface
subagent/ Subagent capability family: the provider-registry seam and the model-facing delegation tool Product — stable surface
tasks/ Generic background-task runtime and model-facing task_* control tools Product — stable surface
workflow/ Workflow capability family: the script-engine seam, worker-thread engine, and model-facing workflow and fresh-agent ralph tools Product — stable surface
web/ Web capability family: seam, search/fetch provider impls, and the model-facing web tools Product — stable surface
spill/ Spill capability family: storage seam, local impl, tool-result spill policy Product — stable surface
todo/ Todo/planning family: the model-facing todo_write tool Product — stable surface
plan/ Plan collaboration state with a direct entry command and reviewed exit Product — stable surface
timeout/ Tool-call timeout policy: the tools/execute deadline enforcer Product — stable surface
guard/ Loop-hygiene guards: advisory repeat-call reminders Product — stable surface
cordis/ Self-referential runtime toolset: inspect the live runtime's plugins and services, mount/unmount model-written plugins (design) Product — stable surface
hooks/ Hook bridges + the shared Claude Code / Codex wire-protocol library Product — stable surface
session-persistence/ Persistence capability family: the seam + JSONL/SQLite backends Product — stable surface
session-query/ Session retrieval family: logical corpus, bounded reads, lineage, event relationships, semantic filtering, and SQLite full-text search Product — stable surface
session-title/ Log-backed session titles: fallback service, shared LLM policy, and opt-in providers Product — stable surface
storage/ Non-session storage hub + backends + domain form Product — stable surface
workspace/ Workspace entity Product — stable surface
sdk/ Project SDK tooling Product — stable surface
acp/ Automation-only Agent Client Protocol server Product — stable surface
ui/ Human/client integrations: TUI and JSON-RPC, approval/interaction seams, ask-user tool Product — stable surface
examples/ Demo bundles (agent-spine + TUI/CLI/ACP/JSON-RPC bins) leaves load Support — example infra
support/ Support infrastructure (testkits, invariants, replay, Loader smokes) Support — lower compatibility expectations
util/ Low-level zero-dependency utilities shared across groups (Branded<B>, Harness home/path helpers, timeout, retention) Support — small, stable, harness-dep-free

Groups distinguish product API from support infrastructure. New packages join an existing group; a new group updates its README and this table.

Dependencies

The dependency graph is generated: docs/module-graph.md (pnpm run gen-module-graph, freshness-gated in CI).

Extension plugins depend on interfaces, never the concrete loop. dsh-agent-loop is swappable; UI, hook, and tool plugins use dsh-agent. Composition bundles, including dsh-agent-spine-demo, may depend on spine plugins. Capabilities split into interface / implementation / consumer packages; see capability seams.

Package READMEs cover purpose, APIs, extension points, and Model Experience unless on the model-agnostic omission allowlist. They also carry ## Known Limitations and Deferred Work or use its allowlist.