Commit Graph
2957 Commits
Author SHA1 Message Date
Tianyi Cui d447a7efb8 Merge branch 'master' into feat/website-docs 2026-07-17 21:19:33 +08:00
Tianyi Cui 92b8abdd88 Merge remote-tracking branch 'origin/master' into codex/pr199-merge-master-20260717
# Conflicts:
#	docs/rfc/INDEX.md
2026-07-17 21:13:43 +08:00
Tianyi Cui cf872d002f Merge pull request #339 from deepseek-harness/worktree-fast-gates
perf: speed up local pre-push gates
2026-07-17 20:46:20 +08:00
Tianyi Cui e9a1f63ebd Merge latest master into worktree-fast-gates 2026-07-17 20:39:05 +08:00
Tianyi Cui 8f859686f2 Merge pull request #352 from deepseek-harness/time-context-history
Make time context durable per step
2026-07-17 20:38:25 +08:00
Tianyi Cui 8462bdb041 Merge latest master into worktree-fast-gates 2026-07-17 20:33:24 +08:00
Tianyi Cui 256300c58d Merge branch 'master' into time-context-history 2026-07-17 20:32:55 +08:00
Tianyi Cui 83a80caa09 Merge pull request #350 from deepseek-harness/worktree/agent-loop-testkit
test(support): add shared AgentLoop testkit
2026-07-17 20:28:21 +08:00
Tianyi Cui 7caa723aeb Merge branch 'master' into worktree-fast-gates 2026-07-17 20:22:34 +08:00
Tianyi Cui dc3f61e78b Merge branch 'master' into time-context-history 2026-07-17 20:22:31 +08:00
Tianyi Cui 322a7e0709 Merge remote-tracking branch 'origin/master' into worktree/agent-loop-testkit 2026-07-17 20:17:27 +08:00
Tianyi Cui 863f59a1df Merge pull request #251 from deepseek-harness/codex/agent-session-jsonl-location
feat(bash): add extensible DSH_* environment context
2026-07-17 19:23:01 +08:00
Yichen Jiang 7960bce274 Merge remote-tracking branch 'origin/codex/agent-session-jsonl-location' into codex/agent-session-jsonl-location 2026-07-17 19:17:41 +08:00
Yichen Jiang 559939623a Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
# Conflicts:
#	docs/capability-seams.md
#	packages/cordis/tool-cordis/src/api-catalog.ts
2026-07-17 19:16:15 +08:00
Yichen Jiang 46a6c77beb Merge remote-tracking branch 'origin/master' into worktree/agent-loop-testkit
# Conflicts:
#	packages/README.md
2026-07-17 19:13:37 +08:00
Tianyi Cui 68ebc89f1b Merge pull request #306 from deepseek-harness/session-query-trace
feat(session-query): add relationship tracing
2026-07-17 18:52:48 +08:00
Tianyi Cui 235742729f Merge branch 'master' into codex/agent-session-jsonl-location 2026-07-17 18:51:08 +08:00
Tianyi Cui d6f1f102f1 Merge remote-tracking branch 'origin/master' into codex/pr306-conflict-resolution 2026-07-17 18:46:04 +08:00
Tianyi Cui 5266905455 test(workspace-context): cite compacted surface source 2026-07-17 18:43:21 +08:00
Tianyi Cui 33a2a0b212 Merge pull request #321 from deepseek-harness/codex/document-host-sandbox-retries
Document host sandbox retry behavior
2026-07-17 18:42:15 +08:00
Tianyi Cui e01b5dc354 Merge origin/master into session-query-trace 2026-07-17 18:41:42 +08:00
Tianyi Cui c71660a747 Merge branch 'master' into codex/document-host-sandbox-retries 2026-07-17 18:39:45 +08:00
Yichen Jiang 7d85d3027d Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
# Conflicts:
#	docs/config-catalog.md
#	docs/module-graph.md
#	docs/rfc/INDEX.md
#	packages/README.md
#	packages/bash/bash-local/README.md
#	packages/bash/bash/README.md
#	packages/bash/tool-bash/README.md
#	packages/bash/tool-bash/tests/tools.spec.ts
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/examples/acp-demo/src/index.ts
#	packages/examples/acp-demo/tests/acp-agent.spec.ts
#	packages/examples/agent-spine-demo/README.md
#	packages/examples/agent-spine-demo/src/index.ts
#	packages/examples/agent-spine-demo/tests/agent-core.spec.ts
#	packages/examples/stdio-demo/src/index.ts
#	packages/examples/stdio-demo/tests/stdio-agent.spec.ts
#	packages/util/README.md
#	pnpm-lock.yaml
#	tsconfig.build.json
#	tsconfig.json
2026-07-17 18:39:05 +08:00
Tianyi Cui 3412eab518 Merge pull request #186 from deepseek-harness/codex/truncated-design
feat(spill): add bounded tool-result retention and spill policy
2026-07-17 18:30:32 +08:00
Tianyi Cui 1b102b7279 Merge branch 'master' into feat/website-docs 2026-07-17 18:23:01 +08:00
Dudu-0223 a3f62478e1 Merge origin/master into codex/truncated-design 2026-07-17 18:21:54 +08:00
Turtle 7f91a05ed7 docs: add TUI screenshots 2026-07-17 17:13:41 +08:00
Tianyi Cui 44e126e306 Merge pull request #106 from deepseek-harness/codex/project-instruction-files
Load project instructions from AGENTS.md
2026-07-17 17:02:32 +08:00
Turtle 87e25ef1fe fix(tui): make the color palette theme-agnostic
The palette used absolute 256-color indices (`38;5;252`, `48;5;236`, …)
that terminals never remap to the active scheme: near-white body text
vanished on light backgrounds and fixed dark bubble fills put default
foreground text on dark blocks. Rebuild it from the standard 16-color
ANSI foregrounds plus SGR attributes, keep body text on the terminal
default foreground, replace filled background bubbles with foreground-only
left-gutter bars, and use reverse video for the active selection so every
grouping reads on any color scheme.
2026-07-17 16:50:53 +08:00
Turtle 12b7ac67ba fix(ui): surface declarative startup failures 2026-07-17 16:44:25 +08:00
Turtle 1119c537d0 feat(ui): add dedicated TUI package
Move the interactive pi-tui front door into @deepseek-ai/dsh-tui while keeping @deepseek-ai/dsh-stdio line-oriented for pipes. Select the terminal package in the demo app, preserve logger ownership, and cover the production Loader composition with a PTY smoke test.
2026-07-17 12:01:37 +08:00
Hypatia May 3cf31113b7 build-review round 2: correct time-context documentation contracts 2026-07-17 10:47:24 +08:00
Yichen Jiang 98ea306c5e fix(session-persistence): retire disposed coordinator state 2026-07-17 10:31:44 +08:00
Hypatia May 760dd8f5de build-review round 1: add durable time refresh scheduling 2026-07-17 10:12:27 +08:00
lintianle 9e9228270a scripts: extract shared cordis-walk and md-fences helpers (jscpd gate)
Master's new duplication gate flagged 4 clones, all from the website scripts
reusing existing gate patterns by copy. Extracted the shared halves instead of
ignoring:
- scripts/cordis-walk.ts — cordisModuleBody / eventMembers / serviceClasses,
  one AST walk consumed by both gen-cordis-catalog and gen-website-api (the
  two renderers must agree on WHAT exists; now they structurally do).
- scripts/md-fences.ts — fence extractor with per-gate info-string
  classification, consumed by doc-typecheck and verify-website-yaml.

Behavior-neutral: regenerated catalogs and website pages are byte-identical
(--check green), doc-typecheck/yaml block counts unchanged. jscpd now reports
0 clones; full pre-push run 34/34 green.
2026-07-16 22:07:06 +08:00
lintianle 2cde2a9032 Merge origin/master into feat/website-docs
Conflict resolution notes:
- package.json/run-gates: both sides' new doc-sync gates kept (master's
  scoped-events/readme gates + this branch's website-api/website-yaml);
  js-yaml devDeps deduped (master added them independently).
- pnpm-workspace/knip: website AND python/sdk-runtime entries kept.
- doc-typecheck/verify-type-equiv: master's condensed headers kept, website
  glob retained in both scan scopes.
- vendor/cordis/src/fiber.ts: master's lifecycle-hardening code taken; this
  branch's richer FiberState JSDoc reapplied on top. vendor/README.md logs
  both local modifications (hardening = 6, JSDoc enrichment = 7).
- pnpm-lock: regenerated from master's side (pnpm install).

Post-merge sync the gates forced (the system working as designed):
- verify-website-yaml caught 4 stale plugin names from master's package
  reorg (dsh-stdio-agent -> dsh-stdio-demo, dsh-acp-agent -> dsh-acp-demo);
  8 references fixed across guide/ and develop/.
- gen-website-api picked up master's 6 new services automatically
  (ctx.approval/permission/sandbox/sessionQuery/skills/tasks -> 6 new pages
  + sidebar); api/index.md hub updated to list them.
- AGENTS.md budget ceiling 1370 -> 1400: the website rows (layout line + two
  command lines) and master's own growth collided with the old ceiling; all
  three website rows are load-bearing (new top-level dir, new CI command).
2026-07-16 21:36:43 +08:00
lintianle fcd9d8c391 website: fix nine review findings (generator coverage, loader facts, mode semantics)
Generator (all four structural gaps):
- harness service pages now render public properties/accessors, not just
  methods (ctx.codeRuntime.language/isolation were missing);
- the class page merges the same-named interface half, so ctx.root/baseUrl/
  events/logger/reflect/registry appear on Context (vendor root JSDoc gains
  prose alongside @experimental);
- Pick<…> heritage on a Context merge resolves to the picked class members,
  giving ctx.effect a documented signature on the Fiber page;
- {@link} tags normalize to code spans; merge sections get their own h2 so
  reflect members no longer nest under 'Static members'.

verify-website-yaml: reject the unloadable 'group:' pseudo-name (tree.import
only special-cases 'cordis:'; no builtin is registered here) and recurse into
@cordisjs/plugin-group nested entry lists instead.

Prose corrected against loader/cordis source: service.md isolation example
uses the real group plugin + group: true + the required isolate map;
config.md documents concurrent entry startup (Promise.all; order via inject)
and the real hmr defaults (root ['.'], base/ignored/debounce); events.md
fixes emit (synchronous, not parallel), bail (null/false also delegate), and
serial (stops at the first bail value).
2026-07-16 21:15:44 +08:00
lintianle 4c49677469 website: render the design essays' TeX (math: true, mathjax3 pinned to v4)
design/revertible-effects and design/context-model carry real TeX that was
showing as literal $$ source. markdown: { math: true } enables
markdown-it-mathjax3; pinned ^4.3.2 deliberately — v5 injects a <style> tag
per formula (31 on one page), which Vue's template compiler rejects, so v5
cannot work under VitePress; v4 emits pure SVG (probed: 0 style tags).
2026-07-16 18:57:44 +08:00
lintianle 20bcd66dbf website: include h3 member headings in the page outline
The generated API pages put each member at h3 under an h2 group; default
outline depth (h2 only) hid them, leaving e.g. the Context page outline with a
single 'Static members' entry.
2026-07-16 18:43:12 +08:00
lintianle efba9fab0a website: generate the API reference from source (cordis + all 15 harness services)
scripts/gen-website-api.ts renders website/zh-CN/api/{cordis,harness}/* and the
api-sidebar.json fragment the VitePress config imports, so pages and navigation
can never drift from the code: signatures, @param/@returns prose, dispatch
modes, and GitHub source links are extracted, never transcribed, and the
generator hard-errors on any rendered member missing docs. verify-website-api
(doc-sync + run-gates) is the freshness gate.

Replaces the hand-written zh api pages (7 pages covering 7 of 15 services,
with phantom APIs: Context.current/Context.events, agent/post-step, tool/call,
compact/*, llm/pre-request none of which exist) with generated English
references: 5 cordis pages, 15 per-service pages, and a 35-event catalog
grouped by scope. The hand-written hub api/index.md stays and now indexes the
full surface; zh for these pages arrives with the unified translation flow.
2026-07-16 18:13:34 +08:00
lintianle da26138592 website: gate every yaml config example against the real plugin surface
New doc-sync gate verify-website-yaml: each ```yaml block under
website/zh-CN (api/ excluded — generator-owned) must parse with the loader's
real schema (JSON_SCHEMA + !!js), use only EntryOptions keys, name only real
workspace packages, and pass only config keys the plugin's declared Config
type / schemastery schema accepts (collectConfigCatalog drives the key sets).
```yaml ignore-check opts out a deliberate-placeholder block (the
capability-trio tutorial keeps its fictional package names).
2026-07-16 18:13:04 +08:00
lintianle 83cb48441e vendor(cordis): document the full plugin-author surface (@param/@returns everywhere)
Comment-only enrichment across cordis/src/*.ts — Context, EventsService (+ the
ctx merges), Fiber, RegistryService, ReflectService, Service, logger — so the
website API generator can render a complete reference and hard-error on any
future undocumented member (vendor sync included). Logged as local
modification 6 in vendor/README.md; retire it when upstreamed to the fork.
INHERITED_SERVICES/EVENTS source pointers refreshed for the shifted lines;
cordis catalogs regenerated.
2026-07-16 18:12:36 +08:00
lintianle 6ce9f16030 website: wire the site into the repo gates; make every tutorial example compile
- website joins the pnpm workspace; root scripts website:dev/website:build;
  run-gates gains a website-build gate (ci-primary + ci-static) — the
  VitePress build doubles as the site's dead-link check; AGENTS.md documents
  the commands.
- doc-typecheck + verify-type-equiv now scan website/zh-CN/**/*.md; every
  ```typescript fence converted to ```ts and made standalone-compilable
  (55 compiled, 1 ignore-check). Phantom APIs the compiler caught are fixed:
  invented event names (agent/turn-end, tool/call, llm/pre-request, ready,
  dispose) replaced with real catalog events or per-plugin declare-module
  merges; presentCall/inject/Config claims corrected to the real shapes.
- guide/config.md entry-fields table completed against loader EntryOptions;
  its coding-agent example brought in line with examples/coding-agent.
2026-07-16 18:12:22 +08:00
Hypatia May c5381de8b2 time-context: cover missing baselines (round 2) 2026-07-16 17:57:45 +08:00
Hypatia May 46e63a004c time-context: durable per-step history (round 1) 2026-07-16 17:47:51 +08:00
Yichen Jiang d3b959389a test(support): add shared AgentLoop testkit 2026-07-16 17:39:53 +08:00
Yichen Jiang 027af418a2 Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
# Conflicts:
#	docs/architecture.md
#	docs/capability-seams.md
#	docs/config-catalog.md
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/bash.md
#	docs/module-graph.md
#	docs/tool-catalog.md
#	examples/acp-agent/tests/snapshots/advanced-toolchain/system-prompt.golden.md
#	examples/acp-agent/tests/snapshots/advanced-toolchain/tool-schemas.golden.json
#	examples/acp-agent/tests/snapshots/both-mode-turn/system-prompt.golden.md
#	examples/acp-agent/tests/snapshots/both-mode-turn/tool-schemas.golden.json
#	examples/acp-agent/tests/snapshots/code-mode-turn/system-prompt.golden.md
#	examples/acp-agent/tests/snapshots/permission-switching/tool-schemas.golden.json
#	examples/acp-agent/tests/snapshots/skill-load/tool-schemas.golden.json
#	examples/acp-agent/tests/snapshots/text-turn/tool-schemas.golden.json
#	examples/acp-agent/tests/snapshots/workspace-edit/tool-schemas.golden.json
#	packages/bash/bash-local/README.md
#	packages/bash/bash-local/src/index.ts
#	packages/bash/bash-local/tests/executor.spec.ts
#	packages/bash/bash/README.md
#	packages/bash/bash/src/index.ts
#	packages/bash/bash/src/types.ts
#	packages/bash/tool-bash/README.md
#	packages/bash/tool-bash/package.json
#	packages/bash/tool-bash/src/index.ts
#	packages/bash/tool-bash/tests/tools.spec.ts
#	packages/bash/tool-bash/tsconfig.json
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/examples/agent-spine-demo/README.md
#	packages/examples/agent-spine-demo/src/index.ts
#	packages/examples/agent-spine-demo/tests/agent-core.spec.ts
#	pnpm-lock.yaml
2026-07-16 16:47:31 +08:00
Yichen Jiang 182c622eab docs: stay within architecture word budget 2026-07-16 16:42:04 +08:00
Yichen Jiang 97190c81ba Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
# Conflicts:
#	docs/event-producer-consumer.md
#	examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
#	examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
2026-07-16 16:39:13 +08:00
Hypatia May c3ddbde3c9 Merge remote-tracking branch 'origin/compact-tool-pairing' into token-meter-service 2026-07-16 16:06:27 +08:00