Commit Graph
2498 Commits
Author SHA1 Message Date
imccyu 4064198560 • feat(self-modification): add dynamic Cordis plugin runtime and UI 2026-08-13 01:29:36 +08:00
Tianyi Cui a2d0f7f411 refactor: apply repository naming contract
Apply the accepted pre-release package, service, type, directory, and role renames as one repository-wide change.
2026-08-13 00:54:38 +08:00
Ziya e5e0b47cf2 Merge branch 'master' into agent/web-file-reference-prompt 2026-08-12 23:19:35 +08:00
ZiyaZhang 1ca6f68b17 fix(web): guide clickable file references 2026-08-12 07:30:53 -07:00
Chinesezjc c4e24071d6 Merge pull request #2331 from deepseek-harness/ci/serial-drill-concurrency
ci: exempt only push from concurrency cancellation
2026-08-12 22:08:09 +08:00
Chinesezjc ae6b20ac14 Merge remote-tracking branch 'origin/master' into ci/serial-drill-concurrency 2026-08-12 21:51:07 +08:00
07akioni ae3f89e772 Merge remote-tracking branch 'origin/master' into fix/stats 2026-08-12 21:29:00 +08:00
07akioni efb1857853 Merge remote-tracking branch 'origin/master' into fix/stats 2026-08-12 21:22:05 +08:00
Turtle 30b2a04b69 docs: correct the turn-flow event order and dispatch modes
turn/start precedes the first claim and pre-step, a rejected or empty first claim closes a zero-step turn, llm/stream and tools/* are their own domains, and agent/turn-stopping is serial. Regenerates the lifecycle diagram from the same facts and names --patch overlays exactly.
2026-08-12 21:03:15 +08:00
Turtle a204970725 test: refresh the translation-prompt snapshot for the clone URL
The reviewed example pair embeds README.md verbatim, so the deepseek-ai clone URL moves the expected request.
2026-08-12 21:01:58 +08:00
Turtle 988f4ad117 update architeture.md 2026-08-12 21:01:11 +08:00
xjt 23e09ec08e Merge master into docs/post-v3-release-proofreading 2026-08-12 20:48:08 +08:00
07akioni dabe6207f5 fix: 分页问题 2026-08-12 20:26:47 +08:00
Chinesezjc fb0fae65a8 test(ci-workflow): name the cancellation assertion literally
Replace 'kill' with 'cancel' in the test name to match the mechanism and
the runbook wording.
2026-08-12 18:51:38 +08:00
Chinesezjc 1caca08301 docs: narrow the push-exemption guarantee, unbreak two static gates
cancel-in-progress is evaluated against the newly triggered run, so
exempting push means one master merge does not cancel the drill still
running from the previous one — not that a drill always finishes. A
benchmark dispatched on master shares the group and does cancel a
mid-flight drill. Record that bound in the runbook and drop the
overstated wording from the workflow comment and the spec name.

Also repair two gates that fail on master and block every pull request:
the telemetry note referenced an SDK proposal deleted in 408721954a,
and the ui-settings-general README pair carried stale recorded hashes
after both sides were updated together in aa1ec02bc6.
2026-08-12 18:16:24 +08:00
Chinesezjc 0ef7f48802 Merge remote-tracking branch 'origin/master' into ci/serial-drill-concurrency 2026-08-12 18:03:42 +08:00
Chinesezjc ba1b0e15fc ci: exempt only push from concurrency cancellation
The two self-hosted standby drills each run their complete unsharded
aggregate with one gate worker, which takes longer than the interval
between master merges, so unconditional cancel-in-progress supersedes a
drill before it reaches a verdict and the lane yields no readiness
evidence for the failover runbook to point a responder at.

Exempt push and nothing else. This has to be decided at workflow level:
cancellation applies to the whole superseded run, so a job-level
concurrency group cannot exempt its job. The negated form is
load-bearing — naming pull_request alone would also stop cancelling
workflow_dispatch, and each runner benchmark fans out to twelve larger
runners for up to fifteen minutes in this same group on master, so a
re-dispatch would queue ahead of a drill instead of replacing a stale
measurement. It does not promise every push run finishes: a newer
pending run still displaces an older one, only that the lanes
periodically reach a verdict.

A master push carries only wine-apt-cache and the two drills; every other
job is pull-request-gated, workflow_dispatch-gated, or if: false. The
spec pins that set and classifies by exact condition, since a negated
event test mentions the event it excludes.
2026-08-12 17:55:56 +08:00
xjt 3c6b6837a5 Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.zh.md
#	.agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.zh.md
#	README.i18n.yaml
#	README.zh.md
#	apps/cli/reference/README.i18n.yaml
#	apps/cli/reference/README.zh.md
#	scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-12 17:52:21 +08:00
NI0317 8940282aee feat(session-export): add command and Header action 2026-08-12 17:41:36 +08:00
Chinesezjc 0dded8e7e9 fix(snapshot): regenerate translation-prompt-v4 snapshot with updated telemetry text
The merge conflict resolution kept the master-side snapshot which had
the old DSH_TELEMETRY_DISABLED=1 text. Regenerated to match the current
README.md which uses DSH_TELEMETRY_MODE=FEEDBACK_ONLY/FULL.
2026-08-12 17:38:23 +08:00
xjt bbc75b38b2 Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md
2026-08-12 17:31:28 +08:00
Yichen Jiang 372b0a12ca Merge pull request #2370 from deepseek-harness/worktree/python-sdk-required-ci
fix(ci): require Python runtime release path
2026-08-12 17:28:04 +08:00
xjt ef2b2f3178 test(i18n): refresh translation prompt snapshot 2026-08-12 17:23:06 +08:00
xjt 7325036d50 Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
# Conflicts:
#	docs/subsystems/feedback.i18n.yaml
#	docs/subsystems/feedback.zh.md
2026-08-12 17:10:13 +08:00
xjt ce883ffea3 Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
# Conflicts:
#	.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.i18n.yaml
#	.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.zh.md
#	README.i18n.yaml
#	README.zh.md
#	scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-12 16:45:48 +08:00
Chinesezjc e0e43f40c2 Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 16:39:15 +08:00
Chinesezjc c55fca5eda Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui
Keep both Remote contributions master and this branch add: the mount loop
now carries commandsRemote, goalsRemote, pluginInventoryRemote, and
messageFeedbackRemote, with both new tsconfig references retained.
2026-08-12 16:36:10 +08:00
Yichen Jiang 08941c71e3 fix(ci): require Python runtime release path 2026-08-12 16:30:35 +08:00
Turtle b423ed15d7 Merge pull request #2319 from deepseek-harness/codex/separate-dsh-build
Keep pnpm dsh separate from the repository build
2026-08-12 15:53:57 +08:00
Yichen Jiang d133987d75 Merge pull request #2246 from deepseek-harness/worktree/python-pypi-release-prep
Prepare Python SDK public PyPI publication
2026-08-12 15:47:24 +08:00
Turtle e6d2a97645 test: refresh translation prompt snapshot 2026-08-12 15:37:43 +08:00
Turtle 07d7798127 Merge pull request #2334 from deepseek-harness/codex/fix-readme-webui-guide-link
docs: link Web UI guide index explicitly
2026-08-12 15:18:41 +08:00
Ziya 5b448ae15f Merge branch 'master' into feat/web-loader-plugin-inventory-settings 2026-08-12 14:35:46 +08:00
xjt 19c48b2ae3 Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
# Conflicts:
#	packages/client/ui-models/README.i18n.yaml
#	packages/client/ui-models/README.zh.md
2026-08-12 14:28:09 +08:00
xjt 964b1dde52 docs(i18n): refine contribution guide wording 2026-08-12 14:24:44 +08:00
Turtle 5142bc3eb6 test: refresh translation prompt snapshot 2026-08-12 14:18:37 +08:00
Yichen Jiang 555771496b docs(website): name the Python SDK group SDK
The group holds language SDKs, and the sidebar reads `SDK > Python` rather
than repeating the word in the page label.
2026-08-12 14:08:18 +08:00
Yichen Jiang d6af042cf7 docs(website): derive navigation targets from the publication manifest
The navigation bar named `/guide/` while the manifest published the guide's
first page at `guide/quickstart.md`, so the item served a 404 in both locales.

`landingLink` resolves each item against `orderedPages`, the ordering the
sidebar already renders, and a test asserts every navigation target is a route
the manifest publishes.
2026-08-12 14:02:29 +08:00
Yichen Jiang 0a2ac90617 docs: fix reference sidebar ordering and group the subsystem pages
The VitePress config declared no position for the subsystem or other-interface
sections, so `indexOf` returned -1 and sorted them ahead of every declared
group: the reference landing page's own sidebar entry sat 1549px below the
fold. Four subsystem pages also shared `order` values with pages in the same
section, resolved only by sort stability and array concatenation order.

Section placement and collapse move into the manifest as a per-locale
declaration, and `sectionSpec` throws for an undeclared section instead of
sorting it silently to the top. Subsystem pages are grouped by concern, the
six topical groups collapse until one holds the page being read, and page
order derives from array position.

The projector drops the language-switcher line and repository badge the
canonical pages carry for their GitHub readers. The navigation bar gains the
DeepSeek wordmark, a release-stage tag, and a favicon; the sidebar scrollbar
rests invisible and appears while scrolling. Subsystem pages carry a two-level
outline, and the two plugin-development tracks now cross-link.
2026-08-12 13:52:27 +08:00
Yichen Jiang 8d51ee9b97 Merge remote-tracking branch 'origin/master' into worktree/python-pypi-release-prep
# Conflicts:
#	docs/user/guide/python-sdk.i18n.yaml
#	docs/user/guide/python-sdk.md
#	docs/user/guide/python-sdk.zh.md
#	python/sdk/README.i18n.yaml
#	python/sdk/README.md
#	python/sdk/README.zh.md
2026-08-12 13:49:15 +08:00
ZiyaZhang 6ed5df964e feat(web): add read-only Loader plugin inventory 2026-08-11 21:10:14 -07:00
Turtle 04fe477e7e docs: make Web UI the primary onboarding path 2026-08-12 11:44:33 +08:00
Huanqi Cao 50bedaf03b Merge pull request #2234 from deepseek-harness/feat/loader-entry-disabled-interpolation
feat(loader): interpolate the entry disabled field
2026-08-12 11:40:02 +08:00
Chinesezjc b462d5fd69 Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui
Adapt to two contract changes master introduced:

- The generated Remote face now wraps every business result in
  RemoteResult, folding carrier failures into an ok:false branch instead
  of rejecting. The controller reads that envelope at its three call
  sites and maps a carrier failure onto the same settled shape the
  controls already render; three specs cover the new branch.
- Client packages split their tsconfig into host and client halves, and
  the host aggregate now compiles any test not named *.client.spec.*.
  Rename this package's specs to the client convention and drop the
  ../connection project reference, which pointed at a solution file that
  no longer carries the client sources.

Keep master's mount loop with its rollback-on-failure in api-remotes and
add messageFeedbackRemote to it.
2026-08-12 10:43:23 +08:00
imccyu 58b6fa3ae1 fix: test constract 2026-08-12 02:30:08 +08:00
imccyu 929086fb36 fix: docs 2026-08-12 02:30:08 +08:00
imccyu 19303da8de fix: no .map
fix: no map
2026-08-12 02:30:03 +08:00
imccyu 7ad54e7791 refactor(client): name the compile face in every client test filename
A test file under packages/client now says which face it covers:
`*.client.spec.{ts,tsx}` and its `*.client.{ts,tsx}` helpers belong to the
Client aggregate, `*.host.spec.ts` to the host aggregate. The carrier's four
node-half specs take the Host suffix.

The two suffixes are mutually exclusive, so each aggregate excludes the
other's and both keep one broad test glob: `exclude` wins over `include`, and
`packages/client/**` no longer has to be excluded wholesale from the host
program with per-file `files` entries carved back out of it. A Host-face spec
that reaches only Host source therefore needs no cross-face project
reference, which the split-project rule rejects.

vitest still discovers every file through `**/*.spec.{ts,tsx}`.
2026-08-12 01:41:40 +08:00
Huanqi Cao 0c0a2a2b65 fix(gate): allowlist the cordis preset id in the rescope check
The preset-roster loop added by this PR names the \cordis\ preset id in
apps/cli/tests/windows-shell.spec.ts; the bare token is product data like
the existing agent-preset allowlist entries, not a package reference, so
the rescope-vendor hygiene check must not rewrite it.
2026-08-12 01:02:31 +08:00
imccyu 40af20cafe refactor(picker): split the directory-picker faces into their own packages
The browse and native backends were dual-face packages: a Node backend plus a
browser surface under one tsconfig that referenced Client packages. That put
Client projects — and through them the Client runtime — inside the Host
compiler aggregate, which builds before the generated Remote contributions
exist. Each browser half moves to its own Client package, and both backends
become Node-only.

The interaction is still one choice: the adaptive chooser mounts the backend
and its surface as a pair of Loader entries and tears both down in reverse, so
a resolved kind still swaps both faces. Compositions that pin an interaction
directly now pin the pair, and the chooser's runtime-string package list keeps
naming everything a composing app must resolve.
2026-08-11 23:33:16 +08:00