deepseek-harness/scripts
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
..
check-vendor-manifest.sh Add lefthook git hooks with a vendor-manifest guard 2026-06-11 15:07:55 +08:00
check-workspace-constraints.ts scripts: ignore local artifacts in constraints 2026-07-04 00:57:35 +08:00
doc-budgets.manifest.json Clarify condensing in doc budget guidance 2026-07-06 16:31:18 +08:00
doc-typecheck.ts feat: generated plugin config catalog (docs/config-catalog.md) 2026-07-06 21:57:17 +08:00
gen-config-catalog.ts fix: extend the schema cross-check to nested key paths; scope the catalog framing 2026-07-06 23:06:03 +08:00
gen-cordis-catalog.ts feat: generated plugin config catalog (docs/config-catalog.md) 2026-07-06 21:57:17 +08:00
gen-doc-graphs.ts Move ACP snapshot replay doc into package 2026-07-06 00:52:06 +08:00
gen-module-graph.ts docs: revise graph docs from review 2026-07-05 01:25:58 +08:00
gen-persistence-catalog.ts Split the cordis catalog into separate events and services documents 2026-07-05 00:45:06 +08:00
gen-rfc-index.ts docs(rfc): define and enforce a uniform RFC format; adopt it across the corpus 2026-07-05 22:58:25 +08:00
gen-tool-catalog.ts Merge remote-tracking branch 'origin/master' into codex/docs-graph-brainstorm 2026-07-05 02:16:26 +08:00
install-lefthook.mjs fix(dev): make hooks and bash seams safer 2026-06-17 21:26:44 +08:00
publint-all.ts scripts: lint only package directories 2026-07-04 00:54:31 +08:00
rfc-index.ts docs(rfc): define and enforce a uniform RFC format; adopt it across the corpus 2026-07-05 22:58:25 +08:00
translation-pairing.manifest.json Add generated persistence log event catalog with freshness + completeness gates 2026-07-04 22:58:28 +08:00
type-equiv.manifest.json docs: the governing principle — every LLM request is reconstructable from the session log 2026-07-06 03:49:35 +08:00
verify-doc-budgets.ts docs(budgets): ceilings carry at least 5% working headroom 2026-07-04 17:20:18 +08:00
verify-doc-refs.ts docs: split cordis primer from architecture map 2026-07-05 19:07:34 +08:00
verify-md-links.ts docs: bilingual docs contract, translation skill, and pairing gate 2026-07-02 23:12:25 -07:00
verify-md-wrap.ts docs(AGENTS): rewrite the root standing orders to the 1,500-word budget 2026-07-04 14:22:47 +08:00
verify-mermaid.ts docs: revise graph docs from review 2026-07-05 01:25:58 +08:00
verify-node-next-types.ts docs: update rewriteRelativeImportExtensions to current rfc 2026-06-22 09:03:28 +08:00
verify-package-paths.ts fix review findings: don't treat disabled entries as load failures; scope the verify-package-paths lib skip to a real package root 2026-06-21 19:47:22 +08:00
verify-rfc-classification.ts docs(rfc): define and enforce a uniform RFC format; adopt it across the corpus 2026-07-05 22:58:25 +08:00
verify-rfc-format.ts docs(rfc): address Codex review — fence-aware format gate, exact corpus counts 2026-07-05 23:45:34 +08:00
verify-translation-pairing.ts docs: equal-authority pairing with sidecar consistency records 2026-07-03 07:41:24 -07:00
verify-type-equiv.ts Reorganize packages into a modular hierarchy 2026-06-20 22:55:20 +08:00