Commit Graph

2100 Commits

Author SHA1 Message Date
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
Tianyi Cui
72bb02e68e refactor(workspace-context): move package to context group 2026-07-16 16:01:06 +08:00
Tianyi Cui
a3f248ff52 docs(workspace-context): mark deferred correctness fixes 2026-07-16 15:53:45 +08:00
Dudu-0223
17fe9e5b1e fix(agent-loop): tighten parallel tool-call safety 2026-07-16 15:52:35 +08:00
Dudu-0223
bbf66b3a5b docs(tools): trim concurrency classifier contract 2026-07-16 15:27:36 +08:00
Dudu-0223
3bed1a644f Merge origin/master into parallel-tool-call 2026-07-16 14:56:02 +08:00
Dudu-0223
91da66e715 refactor(agent-loop): simplify parallel tool-call cap config 2026-07-16 14:36:16 +08:00
Hypatia May
2793325df0 refactor(compact): store tool-pairing balance once per surface cut
toolPairingBalancedAfter previously answered by resolving a cached
positional successor and reading its before-balance, with a null-successor
depth fallback. Both queries are the same prefix property sampled at
adjacent cuts, so the cache now holds one per-cut balance sequence
(N nodes -> N+1 cuts) plus a seq->position index; before/after differ
only by a cut offset. The successor map, the duplicate rebuild/extend
fold loops, and the non-null assertion are gone, and the running counter
is named inProgressToolCalls. Docs describing the successor mechanism
are updated in place.
2026-07-16 11:42:17 +08:00
Dudu-0223
3b1d1bfa12 refactor(agent-loop): unify tool-call scheduling on one rolling pool + factory cap default
Run every ordered group through the same rolling pool: an exclusive call is a
pool of one (a barrier), dropping the separate runExclusive path and the
redundant post-grouping executionMode re-query. Behavior is unchanged — the
parallel-tool-calls snapshot and the full scheduler unit suite (barriers, cap,
abort, model-order results) stay green.

Add AgentLoop.Config.maxParallelToolCalls as a factory-wide default applied to
every agent create/createAgent/resume mints (per-agent option overrides it),
forwarded through agent-core so it reaches front doors that expose no cap field
of their own. Trim the isConcurrencySafe JSDoc to the local contract and link
the parallel-tool-call RFC for the full rationale; document the field on the
canonical core-data-structures page.
2026-07-16 11:36:16 +08:00
Hypatia May
a6c8775f12 fix(session): reject sparse provenance arrays 2026-07-16 11:08:59 +08:00
Hypatia May
3cccecee0a Merge remote-tracking branch 'origin/master' into compact-tool-pairing
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-16 09:55:02 +08:00
Hypatia May
8184332918 Merge remote-tracking branch 'origin/master' into session-query-trace
# Conflicts:
#	packages/README.md
#	packages/support/invariants/src/index.ts
2026-07-16 09:55:02 +08:00
Yichen Jiang
a621d2f9a6 Merge branch 'master' into codex/project-instruction-files 2026-07-16 09:52:52 +08:00
hypatiamay
6bac9c832b Merge branch 'master' into codex/document-host-sandbox-retries 2026-07-16 09:49:26 +08:00
imccyu
8d4f64e5ce docs: update pre-push scheduler contract 2026-07-15 23:57:44 +08:00
imccyu
0fc163453e chore: ignore NodeNext typecheck temp dirs 2026-07-15 23:57:44 +08:00
imccyu
bff3f0a8db feat(gates): print actionable failure output 2026-07-15 23:57:44 +08:00
imccyu
cb153f3df8 perf(gates): cap workers and reuse build output 2026-07-15 23:57:44 +08:00
imccyu
092126ae50 perf(docs): reuse built declarations for typecheck 2026-07-15 23:57:44 +08:00
imccyu
5039c4ae40 fix(snapshot): include agent stderr in failures 2026-07-15 23:57:44 +08:00
imccyu
a28d95afb2 perf(snapshot): parallelize replay scenarios 2026-07-15 23:57:42 +08:00
imccyu
867d248c2e test(hooks): split coverage suites across workers 2026-07-15 23:56:42 +08:00
Tianyi Cui
4139e093dd Merge pull request #305 from deepseek-harness/worktree-sdk-design-review
feat(sdk): add SDK tool for developer
2026-07-15 23:55:55 +08:00
imccyu
8f9c13ffaa test(sdk): restore tooling coverage 2026-07-15 23:26:40 +08:00
imccyu
394706fa3c fix(sdk): address remaining tooling review findings 2026-07-15 23:17:29 +08:00
imccyu
d8f6251e3a feat: rename dsh to dsh-sdk 2026-07-15 23:17:29 +08:00
imccyu
e150bc446d fix(sdk): address project tooling review findings 2026-07-15 23:17:29 +08:00
imccyu
42b07a7022 feat(sdk): add developer project tooling
docs(rfc): propose SDK developer project tooling

feat: rename / docs

ci: fix windows gates

docs: revert
2026-07-15 23:17:29 +08:00
Tianyi Cui
5a8466b774 Merge pull request #293 from deepseek-harness/codex/simp-prune-sandbox-surface
refactor: hide sandbox implementation helpers
2026-07-15 23:07:12 +08:00
Tianyi Cui
380519b6d2 Merge remote-tracking branch 'origin/master' into codex/pr106-master-merge-review-20260715 2026-07-15 22:56:27 +08:00
Tianyi Cui
51f3a4eafc Merge remote-tracking branch 'origin/master' into codex/simp-prune-sandbox-surface
# Conflicts:
#	packages/bash/bash-sandbox/src/index.ts
2026-07-15 22:55:55 +08:00
Tianyi Cui
674216eb86 Merge pull request #298 from deepseek-harness/codex/simp-hide-web-provider-helpers
refactor: hide web provider helpers
2026-07-15 22:54:30 +08:00
Tianyi Cui
0fefc3d7b8 Merge branch 'master' into codex/simp-hide-web-provider-helpers 2026-07-15 22:49:56 +08:00
Tianyi Cui
ff056f860f Merge remote-tracking branch 'origin/master' into codex/pr106-master-merge-review-20260715 2026-07-15 22:49:38 +08:00
Tianyi Cui
6c846531e7 Merge current master into PR #106 2026-07-15 22:44:47 +08:00
Tianyi Cui
c654119f9f Merge pull request #336 from deepseek-harness/dsh-code-review-maintenance-design
docs(dsh-code-review): distill review feedback and propose maintenance workflow
2026-07-15 22:24:02 +08:00
Tianyi Cui
8161fa3789 Merge branch 'master' into dsh-code-review-maintenance-design 2026-07-15 22:21:47 +08:00
Tianyi Cui
4b11e420d9 Merge pull request #219 from deepseek-harness/codex/rfc-subagent-background-tasks
feat(tasks): background task runtime (ctx.tasks) + generic task_output/task_list/task_kill
2026-07-15 22:11:33 +08:00
Yichen Jiang
1094748bec Merge branch 'master' into codex/agent-session-jsonl-location 2026-07-15 22:04:58 +08:00
Tianyi Cui
cd092e70ad docs(skill): require critical prose review
A source-of-truth link did not make the review obligation explicit, so reviewers could treat green documentation checks as sufficient. Make dsh-prose-standard a blocking requirement for every added or changed prose form and require semantic comparison with the owning code or behavior.
2026-07-15 21:56:46 +08:00
Tianyi Cui
680b3c1b99 Merge updated PR head before review fixes
The original PR branch merged the same current master while the inline-feedback work was in progress. Preserve that remote ancestry and combine it with the local review-fix commit instead of overwriting or rewriting either history.
2026-07-15 21:46:53 +08:00
Tianyi Cui
b06ae91fa8 fix(tasks): address task API review feedback
The public kill result used the awkward phrase already-terminal. Rename it to already-finished and keep the model-facing response aligned; not-alive would be inaccurate because a force-failed registry record can still correspond to orphaned producer work.

Task kinds were open strings even though producer namespaces are an extension point. Add the merge-extensible TaskKindMap and derived TaskKind, cover consumer declarations in task and bundle tests, and retain the runtime non-empty check for untyped callers.

With exactOptionalPropertyTypes, owner?: Agent | undefined allowed an explicit undefined value that no caller needs. Tighten the property to owner?: Agent so unowned work is expressed by omitting it.

Record the requested task-service/backend split as a follow-up, using a systemd-backed runtime as a concrete candidate without guessing its durability and ownership contract in this PR. Regenerate the type and Cordis catalogs so public docs match the declarations.
2026-07-15 21:45:30 +08:00
Tianyi Cui
d340fb2999 docs(rfc): isolate PR-owned adoption evidence
Comparing a feedback-time PR commit directly with the landing merge lets unrelated target-branch changes satisfy a review comment and creates false adoption evidence.

Define feedback-time and final PR-specific patch snapshots, fail closed when the landing shape cannot be reconstructed, and require a target-only negative control before implementation.
2026-07-15 21:43:32 +08:00