Commit Graph
13132 Commits
Author SHA1 Message Date
_Kerman 7e3d5332dc fix(session): address migration review feedback 2026-08-21 17:48:45 +08:00
_Kerman 9ab59b8001 Merge remote-tracking branch 'origin/master' into xtr/session-format-migration 2026-08-21 17:01:51 +08:00
imccyu 577bb71418 Merge pull request #2903 from deepseek-harness/worktree-revert-2608
revert: undo #2608 permission labels and blank defaults
2026-08-21 16:53:49 +08:00
imccyu 32f3c09c26 test: sync reverted permission snapshot 2026-08-21 16:41:11 +08:00
imccyu 7ce85283b5 Revert "Merge pull request #2608 from deepseek-harness/fix/permission-copy-and-default"
This reverts commit d51f4106a2b0669d33e0f5dc1d5dcf21a764d313, reversing
changes made to 69ace51625b6ac665b2f2ec1e81005d5b055f152.
2026-08-21 16:21:13 +08:00
_Kerman 8cf2445f11 Merge remote-tracking branch 'origin/master' into xtr/session-format-migration
# Conflicts:
#	.agents/notes/implemented/architecture/2026-06-14-session-persistence.i18n.yaml
#	.agents/notes/implemented/architecture/2026-06-14-session-persistence.zh.md
#	docs/config-catalog.i18n.yaml
#	docs/subsystems/persistence.i18n.yaml
#	docs/subsystems/persistence.md
#	docs/subsystems/persistence.zh.md
#	packages/session/session-persistence-jsonl/README.i18n.yaml
#	packages/session/session-persistence/README.i18n.yaml
#	packages/session/session-persistence/README.zh.md
2026-08-21 15:55:20 +08:00
_Kerman 2da00047f3 refactor(session-persistence): make format migrations one-to-one 2026-08-21 15:50:30 +08:00
imccyu 528c682e06 Merge pull request #2890 from deepseek-harness/release/dsh-0.1.1-rc.1
release: dsh@0.1.1-rc.1
dsh-v0.1.1-rc.1
2026-08-21 14:21:44 +08:00
imccyu 3ec5e8f8c4 release(dsh): 0.1.1-rc.1 2026-08-21 14:11:09 +08:00
imccyu 60e44b2d78 fix: ci
fix: ci

fix: ci
2026-08-21 14:11:06 +08:00
Yichen Jiang f4b080ffe0 Merge pull request #2889 from deepseek-harness/worktree/docs-ci-release-control-66e8d2
ci(docs): 文档站改为从发布 tag 发布
2026-08-21 13:58:57 +08:00
Yichen Jiang fa3e37982b ci(docs): publish the documentation site from a release tag
The documentation site deployed on every master push, with no reviewer and
no version check, while npm, PyPI, and the public source repository all
advance only at a release tag. The Pages site is reachable without
authentication, so a merge published documentation ahead of every artifact
readers could obtain.

docs-pages.yml now declares workflow_dispatch alone and verifies the ref
through the gate npm publication already runs, so the site and the npm
sequence share one definition of a released version.
2026-08-21 13:17:06 +08:00
_Kerman a693e0764b docs: revert spurious BRAND-GUIDELINES.md change from master merge 2026-08-21 13:09:33 +08:00
Chinesezjc b7135e6206 Merge pull request #2760 from deepseek-harness/fix/continuation-cleanup-temp-handles
test(subagent): close persistence handle before deleting temp root
2026-08-21 12:59:07 +08:00
_Kerman b70f27f764 Merge pull request #2739 from deepseek-harness/xtr/speed-up-doc-sync
perf(infra): shorten doc-sync critical path
2026-08-21 12:36:36 +08:00
_Kerman d72713c1b3 Merge pull request #2702 from deepseek-harness/xtr/2701-stable-session-snapshots
test: omit persistence envelopes from session snapshots
2026-08-21 12:35:16 +08:00
Yichen Jiang a760c0b0f6 Merge pull request #2847 from deepseek-harness/feat/2846-doc-site-md-projection
docs(website): serve every page as raw Markdown with an llms.txt index
2026-08-21 12:27:51 +08:00
_Kerman 36a10618df Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2739
# Conflicts:
#	scripts/run-gates.spec.ts
2026-08-21 12:01:02 +08:00
_Kerman 0ee3d664ba Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2702 2026-08-21 11:53:00 +08:00
imccyu d508a09952 Merge pull request #2878 from deepseek-harness/worktree-fixpnpmwin
fix(build): support standalone pnpm entrypoints
2026-08-21 11:48:18 +08:00
_Kerman 6fb8e9a4b9 Merge remote-tracking branch 'origin/master' into xtr/2701-stable-session-snapshots 2026-08-21 11:43:58 +08:00
Yichen Jiang e637bcfb98 Merge pull request #2726 from deepseek-harness/worktree/deepseek-vision-model-catalog
feat(llm-deepseek): publish the vision model
2026-08-21 11:41:34 +08:00
imccyu 4b086d0a4a test(ci): deduplicate coverage command setup 2026-08-21 11:36:57 +08:00
_Kerman d0d5b00095 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2739
# Conflicts:
#	.agents/notes/implemented/process/2026-07-06-parallel-pre-push-gates.i18n.yaml
#	.agents/notes/implemented/process/2026-07-13-documentation-site-projection.i18n.yaml
2026-08-21 11:35:58 +08:00
Yichen Jiang 708a25a8a9 fix(llm-deepseek): address vision catalog review 2026-08-21 11:28:14 +08:00
imccyu 4f2868409d test(ci): exercise standalone pnpm on Windows 2026-08-21 11:24:03 +08:00
imccyu 89674edc93 fix(build): support standalone pnpm entrypoints 2026-08-21 11:09:25 +08:00
Yichen Jiang cc95d93d60 Merge remote-tracking branch 'origin/master' into worktree/deepseek-vision-model-catalog 2026-08-21 10:42:26 +08:00
Turtle 0e40664c67 Merge pull request #2862 from deepseek-harness/turtle/fix-translation-link-locale
docs: fix Chinese Agent Note link locale
2026-08-21 10:38:14 +08:00
Yichen Jiang 246caaba77 Merge remote-tracking branch 'origin/master' into worktree/deepseek-vision-model-catalog
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-19-direct-deepseek-vision-input.i18n.yaml
#	docs/config-catalog.i18n.yaml
#	packages/llm/llm-deepseek/README.i18n.yaml
2026-08-21 10:34:51 +08:00
Yichen Jiang 68d24f3237 docs(notes): localize zh note links and widen the closure walk timeout
The localized-link pairing rule that landed on master requires Chinese
notes to link Chinese counterparts; fix this PR's note and the
composer-edit-range note the rule landed after, so the merge ref
passes the gate. The full-manifest closure walk gets an explicit
timeout: coverage instrumentation on a loaded runner pushes it past
vitest's 5s default. Refs #2846.
2026-08-20 22:29:32 +08:00
Turtle d229df59dc docs: fix Chinese Agent Note link locale 2026-08-20 22:24:16 +08:00
Yichen Jiang 17c85209a0 docs(website): serve index routes at their clean-URL .md addresses
Each index route also emits a parent-level alias twin, projected over
the alias route so its relative links stay correct; llms.txt and the
docs now state the drop-trailing-slash convention exactly. Frontmatter
failures name their page, the twin pass refuses to overwrite existing
build files, the dev middleware documents the deliberate in-page
fetch() divergence, and the per-locale collection order moves to one
shared export. Refs #2846.
2026-08-20 22:10:35 +08:00
Yichen Jiang f3ce8218cc docs(website): serve every page as raw Markdown with an llms.txt index
Append .md to any published route for the page as plain Markdown: the
build emits a raw-Markdown twin of every route (frontmatter dropped,
home bodies kept, images beside pages) plus a manifest-generated
llms.txt, the dev server serves both per request, and the post-build
gate fails when either is missing. Fixes #2846.
2026-08-20 22:10:15 +08:00
Yichen Jiang a67b9a4d31 Merge pull request #2814 from deepseek-harness/fix/composer-edit-range-attribution
fix(web): carry the composer edit range from the pre-edit selection
2026-08-20 22:02:10 +08:00
Yichen Jiang 5951d19f58 Merge pull request #2844 from deepseek-harness/fix/turn-error-survives-retry-exhaustion
fix(web): render the terminal turn error after same-turn retries exhaust
2026-08-20 22:01:43 +08:00
Yichen Jiang c3e35cbe95 docs(client): align turn-error prose with exhausted-retry rendering
Review follow-up: the consumer-facing contract still described the removed
suppression. TurnErrorNode's JSDoc, the client-runtime retry-projection
README section, and the ui-conversation chat-flow section (both languages)
now state that a terminal turn/end error always projects the node, beside
the settled retry chain when retries exhausted, and that only intermediate
failures that scheduled another retry stay retry-notice-only. The recovery
note sheds its remaining cross-turn wording (closed-step boundary, retry
turns, closed failed step/turn) for the same-turn reality.
2026-08-20 21:48:36 +08:00
Yichen Jiang 672cdf9ba1 Merge remote-tracking branch 'origin/master' into fix/turn-error-survives-retry-exhaustion
# Conflicts:
#	.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml
#	.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.zh.md
#	.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.i18n.yaml
2026-08-20 21:40:44 +08:00
ihsiang 0864878cd0 Merge pull request #2856 from deepseek-harness/ihsiang/subagent-header-switcher
feat(web): refine nested subagent header navigation
2026-08-20 21:31:41 +08:00
yx.zhang 5f7ac9183e fix(web): address subagent header review findings 2026-08-20 21:12:07 +08:00
yx.zhang de572dd910 feat(web): refine subagent header switcher 2026-08-20 20:18:55 +08:00
lsdsjy c71ff384cc Merge pull request #2808 from deepseek-harness/fix/frontend-static-miss-404
fix(frontend-static): return 404 for missing paths
2026-08-20 20:13:23 +08:00
lsdsjy 600f3a3110 fix(frontend-static): return 404 for a missing index 2026-08-20 20:03:18 +08:00
lsdsjy 92723cafeb fix(frontend-static): return 404 for missing paths 2026-08-20 20:02:11 +08:00
Turtle ed3ef7acee Merge pull request #1373 from deepseek-harness/codex/remove-cordis-catalog-line-numbers
docs: remove line numbers from subsystem catalog links
2026-08-20 19:57:50 +08:00
Turtle 93a1b569ac Merge remote-tracking branch 'origin/master' into codex/remove-cordis-catalog-line-numbers
# Conflicts:
#	docs/subsystems/agent-team.i18n.yaml
#	docs/subsystems/approval.i18n.yaml
#	docs/subsystems/client-modules.i18n.yaml
#	docs/subsystems/client-modules.md
#	docs/subsystems/client-modules.zh.md
#	docs/subsystems/code-runtime.i18n.yaml
#	docs/subsystems/commands.i18n.yaml
#	docs/subsystems/commands.md
#	docs/subsystems/commands.zh.md
#	docs/subsystems/compaction.i18n.yaml
#	docs/subsystems/compaction.md
#	docs/subsystems/compaction.zh.md
#	docs/subsystems/core.i18n.yaml
#	docs/subsystems/core.md
#	docs/subsystems/core.zh.md
#	docs/subsystems/credentials.i18n.yaml
#	docs/subsystems/credentials.md
#	docs/subsystems/credentials.zh.md
#	docs/subsystems/feedback.i18n.yaml
#	docs/subsystems/filesystem.i18n.yaml
#	docs/subsystems/goal.i18n.yaml
#	docs/subsystems/http-server.md
#	docs/subsystems/http-server.zh.md
#	docs/subsystems/invariants.i18n.yaml
#	docs/subsystems/invariants.md
#	docs/subsystems/invariants.zh.md
#	docs/subsystems/jobs.i18n.yaml
#	docs/subsystems/llm-streaming.i18n.yaml
#	docs/subsystems/llm-streaming.md
#	docs/subsystems/llm-streaming.zh.md
#	docs/subsystems/permission-presets.md
#	docs/subsystems/permission-presets.zh.md
#	docs/subsystems/persistence.i18n.yaml
#	docs/subsystems/persistence.md
#	docs/subsystems/persistence.zh.md
#	docs/subsystems/plan.i18n.yaml
#	docs/subsystems/plan.md
#	docs/subsystems/plan.zh.md
#	docs/subsystems/sandbox.i18n.yaml
#	docs/subsystems/sandbox.md
#	docs/subsystems/sandbox.zh.md
#	docs/subsystems/schedule.i18n.yaml
#	docs/subsystems/session-projection.i18n.yaml
#	docs/subsystems/session-projection.md
#	docs/subsystems/session-projection.zh.md
#	docs/subsystems/session-query.i18n.yaml
#	docs/subsystems/session-reference.i18n.yaml
#	docs/subsystems/session-reference.md
#	docs/subsystems/session-reference.zh.md
#	docs/subsystems/session-telemetry.md
#	docs/subsystems/session-telemetry.zh.md
#	docs/subsystems/session-title.i18n.yaml
#	docs/subsystems/session.i18n.yaml
#	docs/subsystems/session.md
#	docs/subsystems/session.zh.md
#	docs/subsystems/settings.i18n.yaml
#	docs/subsystems/settings.md
#	docs/subsystems/settings.zh.md
#	docs/subsystems/shell.i18n.yaml
#	docs/subsystems/shell.md
#	docs/subsystems/shell.zh.md
#	docs/subsystems/skills.i18n.yaml
#	docs/subsystems/skills.md
#	docs/subsystems/skills.zh.md
#	docs/subsystems/spill.i18n.yaml
#	docs/subsystems/storage.i18n.yaml
#	docs/subsystems/subagent.i18n.yaml
#	docs/subsystems/subagent.md
#	docs/subsystems/subagent.zh.md
#	docs/subsystems/subprocess.i18n.yaml
#	docs/subsystems/system-prompt.i18n.yaml
#	docs/subsystems/system-prompt.md
#	docs/subsystems/system-prompt.zh.md
#	docs/subsystems/tasks.md
#	docs/subsystems/tasks.zh.md
#	docs/subsystems/terminal.md
#	docs/subsystems/terminal.zh.md
#	docs/subsystems/token-meter.i18n.yaml
#	docs/subsystems/tools.i18n.yaml
#	docs/subsystems/tools.md
#	docs/subsystems/tools.zh.md
#	docs/subsystems/typert.i18n.yaml
#	docs/subsystems/typert.md
#	docs/subsystems/typert.zh.md
#	docs/subsystems/user-interaction.i18n.yaml
#	docs/subsystems/user-questions.i18n.yaml
#	docs/subsystems/user-questions.md
#	docs/subsystems/user-questions.zh.md
#	docs/subsystems/web.i18n.yaml
#	docs/subsystems/workflow.i18n.yaml
#	docs/subsystems/workflow.md
#	docs/subsystems/workflow.zh.md
#	docs/subsystems/workspace.i18n.yaml
#	docs/subsystems/workspace.md
#	docs/subsystems/workspace.zh.md
#	packages/typert/generator/tests/cordis-catalog.spec.ts
2026-08-20 19:48:43 +08:00
pku-xht e3248cc893 Merge pull request #2708 from deepseek-harness/codex/localized-chinese-doc-links
docs(i18n): localize links and fix capability-page targets
2026-08-20 19:28:01 +08:00
pku-xht 84cbec28e9 Merge remote-tracking branch 'origin/master' into codex/localized-chinese-doc-links
# Conflicts:
#	.agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.i18n.yaml
#	.agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.zh.md
#	.agents/notes/implemented/architecture/2026-06-18-shared-persistence-write-coordinator.i18n.yaml
#	.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
#	.agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.zh.md
#	.agents/notes/implemented/bug-fix/2026-08-18-request-image-payload-bound.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-08-18-request-image-payload-bound.zh.md
#	.agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
#	.agents/notes/implemented/feature/2026-07-16-persistent-pty-sessions.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md
#	.agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md
#	.agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-31-permission-default-for-new-sessions.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.zh.md
#	.agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.zh.md
#	.agents/notes/implemented/feature/2026-08-05-agent-teams.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-05-agent-teams.zh.md
#	.agents/notes/implemented/feature/2026-08-11-workspace-sidebar-order-and-folding.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-15-product-subagent-noninteractive-permissions.i18n.yaml
#	.agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.i18n.yaml
#	.agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.zh.md
#	.agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.i18n.yaml
#	.agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.zh.md
#	.agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.i18n.yaml
#	.agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.zh.md
#	.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
#	.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.zh.md
#	.agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.i18n.yaml
#	.agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.zh.md
#	.agents/notes/proposed/architecture/2026-07-27-session-projection-and-command-log.i18n.yaml
#	README.i18n.yaml
#	README.zh.md
#	docs/architecture.i18n.yaml
#	docs/architecture.zh.md
#	docs/development.i18n.yaml
#	docs/development.zh.md
#	docs/persistence-catalog.i18n.yaml
#	docs/persistence-catalog.zh.md
#	docs/subsystems/README.i18n.yaml
#	docs/subsystems/README.zh.md
#	docs/subsystems/agent-team.i18n.yaml
#	docs/subsystems/agent-team.zh.md
#	docs/subsystems/client-modules.i18n.yaml
#	docs/subsystems/client-modules.zh.md
#	docs/subsystems/commands.i18n.yaml
#	docs/subsystems/commands.zh.md
#	docs/subsystems/persistence.i18n.yaml
#	docs/subsystems/persistence.zh.md
#	docs/subsystems/session-reference.i18n.yaml
#	docs/tool-catalog.i18n.yaml
#	docs/tool-catalog.zh.md
#	docs/user/guide/providers.i18n.yaml
#	docs/user/guide/providers.zh.md
#	packages/README.i18n.yaml
#	packages/README.zh.md
#	packages/bundle/web-app/README.i18n.yaml
#	packages/bundle/web-app/README.zh.md
#	packages/client/README.i18n.yaml
#	packages/client/README.zh.md
#	packages/client/connection/README.i18n.yaml
#	packages/client/connection/README.zh.md
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.zh.md
#	packages/client/ui-primitives/README.i18n.yaml
#	packages/client/ui-primitives/README.zh.md
#	packages/client/ui-sidebar/README.i18n.yaml
#	packages/client/ui-sidebar/README.zh.md
#	packages/client/ui-workspace/README.i18n.yaml
#	packages/client/ui-workspace/README.zh.md
#	packages/context/README.i18n.yaml
#	packages/context/README.zh.md
#	packages/core/agent-loop/README.i18n.yaml
#	packages/credentials/README.i18n.yaml
#	packages/credentials/README.zh.md
#	packages/experimental/agent-team/README.i18n.yaml
#	packages/experimental/agent-team/README.zh.md
#	packages/experimental/tool-agent-team/README.i18n.yaml
#	packages/experimental/tool-agent-team/README.zh.md
#	packages/host/frontend-static/README.i18n.yaml
#	packages/host/frontend-static/README.zh.md
#	packages/host/webserver/README.i18n.yaml
#	packages/host/webserver/README.zh.md
#	packages/interaction/commands/README.i18n.yaml
#	packages/interaction/commands/README.zh.md
#	packages/plan/plan-mode/README.i18n.yaml
#	packages/plan/plan-mode/README.zh.md
#	packages/sandbox/sandbox-local/README.i18n.yaml
#	packages/sandbox/sandbox-local/README.zh.md
#	packages/session/README.i18n.yaml
#	packages/session/README.zh.md
#	packages/session/session-persistence-sqlite/README.i18n.yaml
#	packages/session/session-persistence-sqlite/README.zh.md
#	packages/session/session-projection-cache/README.i18n.yaml
#	packages/session/session-projection-cache/README.zh.md
#	packages/shell/tool-pwsh/README.i18n.yaml
#	packages/shell/tool-pwsh/README.zh.md
#	packages/subagent/subagent-codex/README.i18n.yaml
#	packages/subagent/subagent-codex/README.zh.md
#	packages/subagent/subagent/README.i18n.yaml
#	packages/subagent/subagent/README.zh.md
#	packages/web/tool-web/README.i18n.yaml
#	packages/web/tool-web/README.zh.md
#	scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-20 19:15:33 +08:00
Yichen Jiang daaede29a5 fix(ui-conversation): render the terminal turn error after same-turn retries exhaust
The turn-error Definition suppressed its node permanently once the owning
turn carried any llm/retry event — a rule from the retired model where a
retry opened a new numbered turn. Retries now run inside the failing turn,
so the suppression hid exactly the exhausted terminal failure it existed
to defer to: spending every transient retry left the conversation with a
neutral collapsed retry row and no error row at all.

Delete the suppression: turn-error matches only turn/start and error-reason
turn/end, and renders whenever its turn recorded a terminal error; the
settled retry chain renders beside it through the separate model-retry
node. The Definition suite now asserts the exhausted-retry error node in
full history, tail-only windows, and after prepending the chain, and a new
keyless live e2e scenario exhausts a scenario-owned two-retry policy and
pins the terminal error row beside the settled retry row (the scaffold
gains replayRetryPolicy so exhaustion runs in milliseconds).

Both stale notes are corrected to the same-turn retry reality, and the new
bug-fix note owns the removal rationale.
2026-08-20 18:19:30 +08:00
Yichen Jiang aef4e1c9b7 Merge pull request #2509 from deepseek-harness/feat/pi-ai-auth-alignment
feat(credentials): abstract credentials service and support OAuth login
2026-08-20 18:08:15 +08:00