deepseek-harness/docs
Tianyi Cui fb3f3a69ec fix: extend the schema cross-check to nested key paths; scope the catalog framing
Review findings on the config catalog:

The schema-subset check compared only top-level z.object keys against
top-level type members, so a nested loader-accepted key (agents[].id,
agentOptions.model, capabilities.*) missing from the declared type would
pass the gate unseen. The walk now collects nested object/array
compositions as key paths and resolves each against the declared config
type — through interfaces (heritage included), aliases, literals,
intersections, unions, arrays, indexed access, Partial-style wrappers, and
type references across package-local and workspace imports (re-export
chains included). The check stays presence-only and one-directional, and
only a definite miss is a violation: a path crossing a type the walk
cannot enumerate (an external package's) is skipped, never mis-reported.
The recursion guard applies at named declarations only — a structural
first child shares its span start with its parent, so a span-keyed guard
on every node mistakes ordinary descent for a cycle and silently turns
definite misses into unknowns.

The page and RFC framing also overstated the catalog as the exact
cordis.yml-settable surface: the paste is the plugin's full declared
config type, and a field the runtime schema deliberately excludes (the ACP
bridge's test-injected stream) is a runtime-only seam its own JSDoc marks.
Both now say so.

Five spec cases pin the new behavior: nested hidden key, workspace
intersection via star re-export, Partial wrapper, indexed-access
composition, and the external-type unknown path.
2026-07-06 23:06:03 +08:00
..
cookbook docs: the governing principle — every LLM request is reconstructable from the session log 2026-07-06 03:49:35 +08:00
cordis-catalog feat: generated plugin config catalog (docs/config-catalog.md) 2026-07-06 21:57:17 +08:00
core-data-structures docs: the governing principle — every LLM request is reconstructable from the session log 2026-07-06 03:49:35 +08:00
i18n docs: equal-authority pairing with sidecar consistency records 2026-07-03 07:41:24 -07:00
persistence-catalog compact: the summary's provenance records its call envelope 2026-07-06 03:21:29 +08:00
postmortem fix(docs): address Codex review round 3 — last three moved-policy citations 2026-07-04 16:02:39 +08:00
rfc fix: extend the schema cross-check to nested key paths; scope the catalog framing 2026-07-06 23:06:03 +08:00
tool-catalog Merge remote-tracking branch 'origin/master' into codex/docs-graph-brainstorm 2026-07-05 02:16:26 +08:00
agent-lifecycle.md docs: address graph review placement 2026-07-05 02:54:01 +08:00
AGENTS.md feat: generated plugin config catalog (docs/config-catalog.md) 2026-07-06 21:57:17 +08:00
architecture.md fix review findings: one frozen seed through the waterfall; stale agent/request docs 2026-07-06 04:17:29 +08:00
capability-seams.md docs: address graph review placement 2026-07-05 02:54:01 +08:00
config-catalog.md fix: extend the schema cross-check to nested key paths; scope the catalog framing 2026-07-06 23:06:03 +08:00
cordis-primer.md docs: split cordis primer from architecture map 2026-07-05 19:07:34 +08:00
defensive-patterns.md docs(AGENTS): rewrite the root standing orders to the 1,500-word budget 2026-07-04 14:22:47 +08:00
development.i18n.yaml Merge remote-tracking branch 'origin/master' into codex/docs-graph-brainstorm 2026-07-05 02:16:26 +08:00
development.md Merge remote-tracking branch 'origin/master' into codex/docs-graph-brainstorm 2026-07-05 02:16:26 +08:00
development.zh.md Merge remote-tracking branch 'origin/master' into codex/docs-graph-brainstorm 2026-07-05 02:16:26 +08:00
event-producer-consumer.md docs: the governing principle — every LLM request is reconstructable from the session log 2026-07-06 03:49:35 +08:00
graph-atlas.md Move ACP snapshot replay doc into package 2026-07-06 00:52:06 +08:00
module-graph.md Merge origin/master: adopt the DeepSeek Harness SDK product name 2026-07-05 20:54:48 +08:00
testing.md fix(docs): address ds-review-bot — the e2e tier is not DeepSeek-only 2026-07-04 16:43:23 +08:00
tool-execution-pipeline.md docs: address graph review placement 2026-07-05 02:54:01 +08:00