Files
deepseek-harness/docs/rfc/INDEX.md
2026-07-19 13:30:45 +08:00

24 KiB

RFC index

Generated by pnpm run gen-rfc-index from the RFC tree — never edit by hand; verify-rfc-classification fails when this file is stale. The curated front door — layout, classification, when to write one, and the in-file format — is README.md.

Proposed

Feature

Title First proposed
Pre-tool input rewrite — a consistent design 2026-06-30
Recallable compaction — index checkpoints, a state checkpoint, and in-session history recall 2026-07-06
Claude Code and Codex subagent backends (out-of-process delegation to external coding agents) 2026-07-07
Interactive side sessions and merge-back 2026-07-08
SQLite FTS5 session search 2026-07-10
Stream workflow progress through tool calls 2026-07-13
Developer-owned SDK projects 2026-07-14

Simplification

Title First proposed
Prune dead public and result surface 2026-07-04
Make JSON-RPC completion and transport directional 2026-07-19

Architecture

Title First proposed
Runtime schemas for the event vocabulary (Zod vs the merge-extensible-map pattern) 2026-06-16
SDK project editing architecture 2026-07-15

Process

Title First proposed
API extractor reports 2026-06-11
Architectural conformance — dependency rules and the adapter kit 2026-06-11
Supply chain checks and vendor drift verification 2026-06-11
Discover package inventories instead of maintaining static lists 2026-06-20
Periodic human-review maintenance for dsh-code-review 2026-07-13

Testing

Title First proposed
Deterministic tests, the replay invariant fixture, and race stress 2026-06-11
Mutation testing as the coverage counterweight 2026-06-11

Implemented

Feature

Title First proposed
Agent Client Protocol (ACP) support — drive the coding agent from external editors 2026-06-14
Multiplex concurrent ACP sessions over one connection 2026-06-14
Code Mode — the model writes TypeScript against the tool registry 2026-06-15
Filesystem tool schemas — model-facing read/write/edit shapes 2026-06-17
Rich ACP bash rendering — the terminal card via the _meta convention 2026-06-18
Compaction as a capability seam (abstract contract + basic backend) 2026-06-18
Subagent capability seam 2026-06-21
ACP subagent backend (out-of-process delegation) 2026-06-22
Workspace context instruction files 2026-06-24
Ask-user question capability 2026-06-25
The todo_write tool — model task list as event-sourced session state 2026-06-29
dsh-hooks-claude + dsh-hooks-codex — the Claude Code / Codex hook bridges 2026-06-30
dsh-hook-protocol — the shared Claude Code / Codex hook wire-protocol core 2026-06-30
Interception seams — the typed-Decision surface a hook programs against 2026-06-30
SessionStore fork API 2026-06-30
Subagent lifecycle enrichment — lastAssistantMessage (observe-only) 2026-06-30
Dynamic workflows — a script-driven multi-agent orchestration seam 2026-07-05
Skill system — progressive disclosure instructions for agents 2026-07-05
The approval seam — one-shot permission decisions over a waterfall of answerers 2026-07-06
Explicit model-facing tool order 2026-07-06
The subprocess sandbox — confinement seam, native runners, escalation, and per-session modes 2026-07-06
MCP client plugin — connect to external MCP servers and bridge their tools 2026-07-07
The session prefix — request-only messages in front of the derived history 2026-07-07
Background subagent tasks 2026-07-08
Repeat-tool-call guard plugin 2026-07-08
The self-referential cordis toolset 2026-07-08
Bash-backed grep and glob discovery tools 2026-07-09
Expose agent session identity and JSONL location to tools and hooks 2026-07-10
Parallel tool-call execution by per-call safety 2026-07-10
Exact session query service 2026-07-10
Configure subagent persona, tool visibility, and depth 2026-07-12
Session query relationship tracing 2026-07-13
Optional time-context plugin 2026-07-14
Durable per-step time context 2026-07-16
Dedicated full-screen TUI front door 2026-07-17

Simplification

Title First proposed
Drop the mutable session summary 2026-06-19
Fold trace-only session facts into load-bearing events 2026-06-20
Drop the unconsumed llm/adapter-change event 2026-06-20
Drop unconsumed assembled LLM convenience surfaces 2026-06-20
Prune dead methods from the persistence seam 2026-06-20
Keep one public stop primitive 2026-06-20
Stop mirroring durable boundaries as agent events 2026-06-20
Unify the agent id and the session id 2026-06-20
Split the filesystem seam — provider text mutations plus the dsh-fs-policy plugin 2026-06-26
Stop mirroring the token stream as an agent event 2026-07-02
Drop the image content block until a path can honor it 2026-07-04
Drop GenerateOptions.prefill and ToolSchema.strict — request knobs with no working end-to-end path 2026-07-04
Drop the unconsumed web observation surface — the providers-change event and the status methods 2026-07-04
Fold the stdio UI helper into the stdio app 2026-07-04
Prune producer-less vocabulary variants (block cache hints, the agent message source, the continuation turn trigger) 2026-07-04
Prune write-only fields and a dead routing knob from the fs seam 2026-07-04
Remove the agent/steering mirror emit 2026-07-04
Share the app bins' boot glue instead of maintaining twin copies 2026-07-04
Tighten the hook-protocol contract — dialect, discarded fields, double defaults, and lib-owned hook/result semantics 2026-07-04
Trim unreachable ACP bridge surface — the branding knobs and the kind-sniffing fallback 2026-07-04
Drop unconsumed skill provider events 2026-07-12
Prune unused web seam fields 2026-07-12
Simplify session-log representation 2026-07-12
Retire the standalone subagent mock package 2026-07-19
Use one surface manager per session 2026-07-19

Architecture

Title First proposed
Provider-neutral content-block vocabulary owned by dsh-llm 2026-06-11
Custom typed tool-schema DSL instead of schemastery 2026-06-11
Source-owned session immutability and dev-mode invariants 2026-06-11
Event-sourced sessions with derived message history 2026-06-11
Microkernel — extension via Cordis event taxonomy, one concrete loop 2026-06-11
Runtime arg validation at the model boundary 2026-06-11
Structured error taxonomy 2026-06-11
Tool schemas are part of the system-prompt assembly 2026-06-11
Capability seams — interface / implementation / consumer split 2026-06-13
Two LLM adapters as a design-verification twin 2026-06-13
Session persistence as an abstract service over the existing SessionEvent 2026-06-14
Every session event is enclosed in a turn 2026-06-15
Filesystem capability seam — ctx.fs, local backend, and model-facing filesystem tools 2026-06-17
Agent lifecycle and ownership seams 2026-06-18
Session surface — an ordered projection over the event log 2026-06-18
Shared persistence write coordinator 2026-06-18
Branded IDs everywhere they belong 2026-06-20
Extract example apps into packages 2026-06-20
The background task runtime (ctx.tasks) and generic task control tools 2026-06-20
Reorganize packages into a modular hierarchy 2026-06-20
Mandatory User-Agent attribution for provider requests 2026-06-21
Web capability seam - stable tools over multiple providers 2026-06-24
Make dsh-fs-policy an event-gate plugin, not a method interface 2026-06-26
stdin + extra env on the bash seam 2026-06-30
Event-domain semantics — session is the fact log, agent is the live surface 2026-06-30
Resolve filesystem paths against the caller's session cwd 2026-07-02
Result-time applied-hunk diffs for file mutations 2026-07-02
Tagged render-intent union for tool-call presentation 2026-07-02
Add direct directory listing to the filesystem seam 2026-07-03
Prompt variables and tool-guidance ownership 2026-07-05
Every LLM request is reconstructable from the session log 2026-07-05
Subagent provider-lifecycle events — subagent/provider-added / subagent/provider-removed 2026-07-05
A shared timeout/deadline primitive, with hard-kill left to each capability 2026-07-06
Tool result retention library 2026-07-06
Tool-call timeout policy as a plugin 2026-07-07
The agent is a registration scope 2026-07-08
Tool output spill policy 2026-07-08
Single-file executable SDK runtime distribution (single-exe) 2026-07-10
Agent-scope runtime design and correctness 2026-07-12
Provider-routed LLM adapters and a generic pi-ai backend 2026-07-14
Initiating Agent scope over AsyncLocalStorage 2026-07-15
Advisory LLM catalogs and per-session ACP model selection 2026-07-15
Replay token meter service 2026-07-15

Process

Title First proposed
Doc-sync enforcement 2026-06-11
Mechanical quality gates over prose guidelines 2026-06-11
tsdown for JS bundling instead of dumble 2026-06-11
Vendor Cordis as source, not npm dependencies 2026-06-11
pnpm as the package manager instead of Yarn 4 2026-06-16
TSC-first build and one tsconfig 2026-06-17
Markdown cross-link validity linting 2026-06-18
Core-data-structures catalog and the ts type-equiv drift gate 2026-06-20
Generated cordis events + services catalog 2026-06-20
Classify RFCs by kind via path-encoded subdirectories 2026-06-20
Bilingual documentation via paired sibling files and a pairing gate 2026-07-02
Generated tool-schema catalog (boot-and-harvest) 2026-07-02
Documentation graph index for maintainers and SDK users 2026-07-03
JSDoc completeness gate for the cordis surface 2026-07-04
Documentation tiers, budgets, and the ceiling gate 2026-07-04
Generate the RFC index tables 2026-07-04
Generated persistence log event catalog 2026-07-04
One gated in-file format for RFCs 2026-07-05
Export-surface JSDoc gate 2026-07-06
Generated plugin config catalog 2026-07-06
Raise the Node LTS engine floor to 22.19 2026-07-06
Parallel GitHub CI gates 2026-07-06
Parallel pre-push gates 2026-07-06
A gated Known-Limitations section in every package README 2026-07-10
Package Model Experience contract 2026-07-12
TypeScript Program-backed semantic gates 2026-07-14
Run CI examples from built lib 2026-07-17

Testing

Title First proposed
Property-based testing for protocol-shaped code 2026-06-11
ACP snapshot tests — record-once / replay-deterministic 2026-06-19
Real-API e2e in CI against the external DeepSeek API 2026-06-19
Use session.jsonl as the only snapshot session-log artifact 2026-06-20
Persist the seed boundary so fork-child replay routes correctly 2026-06-22
Record fork and mixed spawn+fork snapshot scenarios 2026-06-22
Per-session snapshot replay for nested agents 2026-06-22
Hook snapshot matrix — end-to-end goldens for both bridges 2026-07-04
Single-source the acp-agent replay config 2026-07-04
Pin request-header content in one snapshot scenario 2026-07-06
Extract the ACP snapshot suite into a support package 2026-07-08
Snapshot semantic terminal state for the TUI 2026-07-18

Rejected

Simplification

Title First proposed
Persist assembled assistant messages, not stream chunks 2026-06-20
Drop ACP session/load until resume has a product shape 2026-06-20
Drop ACP terminal _meta rendering 2026-06-20
Drop bash full-output spill files 2026-06-20
Drop durable step boundary events 2026-06-20
Drop unused session lineage metadata 2026-06-20
Fold the persistence interface into dsh-session 2026-06-20
Collapse tool-owned UI presentation 2026-06-20
Retire mid-turn steering 2026-06-20
Return the ACP bridge to one live session per connection 2026-06-20
Truncate interrupted final turns on load 2026-06-20
Prune the unimplemented subagent seam vocabulary 2026-07-04
Collapse workflows to the exercised foreground core 2026-07-12
Prune unused skill registry surface 2026-07-12
Fold the single compaction backend into its service package 2026-07-19

Architecture

Title First proposed
Deep-readonly public surfaces 2026-06-11
Make the shared example base providerless 2026-06-20