Turtle
096586886a
fix(review): address terminology feedback
2026-08-11 15:23:05 +08:00
Turtle
0c708cb10d
refactor: replace overloaded surface terminology
2026-08-11 15:23:05 +08:00
imccyu
a342b329e3
docs(client): document trajectory conversation assembly
2026-08-11 03:29:04 +08:00
Yichen Jiang
a2bd3059ac
Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.zh.md
# .agents/notes/implemented/feature/2026-07-30-web-queue-steer-action.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-web-queue-steer-action.zh.md
# .agents/notes/implemented/feature/2026-07-31-browser-derived-initial-locale.i18n.yaml
# .agents/notes/implemented/feature/2026-07-31-browser-derived-initial-locale.zh.md
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
# apps/web/tests/scaffold.ts
# docs/module-graph.md
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/package.json
# packages/client/test-runtime/README.i18n.yaml
# packages/client/test-runtime/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-conversation/package.json
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-theme/README.i18n.yaml
# packages/client/ui-theme/README.md
# packages/client/ui-theme/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.zh.md
# pnpm-lock.yaml
2026-08-10 12:50:43 +08:00
Tianyi Cui
25dcd7293c
docs: purge chain-of-thought leakage from prose
...
Delete design-session citations (decision/audit/plan ordinals, stack
positions), change narration, review choreography, and reviewer-addressed
justification from comments, JSDoc, docs, READMEs, Agent Notes, tests, and
generator templates; restate every affected fact as current-state contract
prose. Fix generated docs at their sources and regenerate the catalogs and
cordis-surface regions; re-paste type-equiv blocks; update every bilingual
counterpart and re-record the pairs. Record the citation rule in the
committed-artifact-citations Agent Note.
2026-08-09 21:10:59 +08:00
Turtle
dda02250f5
docs: reserve seam for complete capabilities
2026-08-09 17:26:57 +08:00
xjt
30e3e5a50c
Merge remote-tracking branch 'origin/master' into xjt/generated-docs-zh-translation-apply
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.zh.md
# .agents/notes/implemented/architecture/2026-07-19-gui-layering-and-rpc-protocol.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-19-gui-layering-and-rpc-protocol.zh.md
# .agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.zh.md
# .agents/notes/implemented/architecture/2026-07-27-compiler-independent-typert-model.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-27-compiler-independent-typert-model.zh.md
# .agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.zh.md
# .agents/notes/implemented/architecture/2026-07-30-static-repository-plugin-format.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-30-static-repository-plugin-format.zh.md
# .agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.zh.md
# .agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.zh.md
# .agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.zh.md
# .agents/notes/implemented/architecture/2026-08-04-websocket-downlink-carrier.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-04-websocket-downlink-carrier.zh.md
# .agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.zh.md
# .agents/notes/implemented/architecture/2026-08-06-agent-event-payload-objects.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-06-agent-event-payload-objects.zh.md
# .agents/notes/implemented/architecture/2026-08-06-subagent-list-identity-projection.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-06-subagent-list-identity-projection.zh.md
# .agents/notes/implemented/architecture/2026-08-06-web-markdown-incremental-ast-renderer.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-06-web-markdown-incremental-ast-renderer.zh.md
# .agents/notes/implemented/architecture/2026-08-08-client-tool-presentation-ownership.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-08-client-tool-presentation-ownership.zh.md
# .agents/notes/implemented/bug-fix/2026-07-27-glob-sampling.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-27-glob-sampling.zh.md
# .agents/notes/implemented/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.zh.md
# .agents/notes/implemented/bug-fix/2026-07-28-web-gui-feedback-loop.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-28-web-gui-feedback-loop.zh.md
# .agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.zh.md
# .agents/notes/implemented/bug-fix/2026-07-29-web-details-session-lifecycle.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-29-web-details-session-lifecycle.zh.md
# .agents/notes/implemented/bug-fix/2026-07-30-web-transcript-log-ordered-projection.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-30-web-transcript-log-ordered-projection.zh.md
# .agents/notes/implemented/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.zh.md
# .agents/notes/implemented/bug-fix/2026-07-31-web-stop-preserves-queue.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-31-web-stop-preserves-queue.zh.md
# .agents/notes/implemented/bug-fix/2026-08-02-goal-round-wrapup-message.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-02-goal-round-wrapup-message.zh.md
# .agents/notes/implemented/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.zh.md
# .agents/notes/implemented/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.zh.md
# .agents/notes/implemented/bug-fix/2026-08-06-provider-credential-lifecycle.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-06-provider-credential-lifecycle.zh.md
# .agents/notes/implemented/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.zh.md
# .agents/notes/implemented/feature/2026-07-05-skill-system.i18n.yaml
# .agents/notes/implemented/feature/2026-07-05-skill-system.zh.md
# .agents/notes/implemented/feature/2026-07-08-background-subagent-tasks.i18n.yaml
# .agents/notes/implemented/feature/2026-07-08-background-subagent-tasks.zh.md
# .agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.i18n.yaml
# .agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.zh.md
# .agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.zh.md
# .agents/notes/implemented/feature/2026-07-22-durable-subagent-catalog-and-list-agents.i18n.yaml
# .agents/notes/implemented/feature/2026-07-22-durable-subagent-catalog-and-list-agents.zh.md
# .agents/notes/implemented/feature/2026-07-23-web-assistant-markdown.i18n.yaml
# .agents/notes/implemented/feature/2026-07-23-web-assistant-markdown.zh.md
# .agents/notes/implemented/feature/2026-07-23-web-permission-and-approval.i18n.yaml
# .agents/notes/implemented/feature/2026-07-23-web-permission-and-approval.zh.md
# .agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.i18n.yaml
# .agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.zh.md
# .agents/notes/implemented/feature/2026-07-27-skill-catalog-hot-refresh.i18n.yaml
# .agents/notes/implemented/feature/2026-07-27-skill-catalog-hot-refresh.zh.md
# .agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.i18n.yaml
# .agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.zh.md
# .agents/notes/implemented/feature/2026-07-27-web-session-search.i18n.yaml
# .agents/notes/implemented/feature/2026-07-27-web-session-search.zh.md
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.zh.md
# .agents/notes/implemented/feature/2026-07-28-continuable-subagent-conversations.i18n.yaml
# .agents/notes/implemented/feature/2026-07-28-continuable-subagent-conversations.zh.md
# .agents/notes/implemented/feature/2026-07-28-skill-invocation-policy.i18n.yaml
# .agents/notes/implemented/feature/2026-07-28-skill-invocation-policy.zh.md
# .agents/notes/implemented/feature/2026-07-28-web-terminal-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-28-web-terminal-card.zh.md
# .agents/notes/implemented/feature/2026-07-30-deepseek-onboarding-credential-setup.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-deepseek-onboarding-credential-setup.zh.md
# .agents/notes/implemented/feature/2026-07-30-search-render-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-search-render-card.zh.md
# .agents/notes/implemented/feature/2026-07-30-web-diff-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-web-diff-card.zh.md
# .agents/notes/implemented/feature/2026-07-30-web-read-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-web-read-card.zh.md
# .agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.zh.md
# .agents/notes/implemented/feature/2026-07-30-web-result-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-web-result-card.zh.md
# .agents/notes/implemented/feature/2026-07-31-code-mode-language-dispatch.i18n.yaml
# .agents/notes/implemented/feature/2026-07-31-code-mode-language-dispatch.zh.md
# .agents/notes/implemented/feature/2026-07-31-telemetry-anonymous-user-id.i18n.yaml
# .agents/notes/implemented/feature/2026-07-31-telemetry-anonymous-user-id.zh.md
# .agents/notes/implemented/feature/2026-07-31-web-workspace-file-links.i18n.yaml
# .agents/notes/implemented/feature/2026-07-31-web-workspace-file-links.zh.md
# .agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.i18n.yaml
# .agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.zh.md
# .agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.i18n.yaml
# .agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.zh.md
# .agents/notes/implemented/feature/2026-08-02-web-thinking-tail-scroll.i18n.yaml
# .agents/notes/implemented/feature/2026-08-02-web-thinking-tail-scroll.zh.md
# .agents/notes/implemented/feature/2026-08-05-pwsh-ui-bash-parity.i18n.yaml
# .agents/notes/implemented/feature/2026-08-05-pwsh-ui-bash-parity.zh.md
# .agents/notes/implemented/feature/2026-08-06-resolved-theme-color-metadata.i18n.yaml
# .agents/notes/implemented/feature/2026-08-06-resolved-theme-color-metadata.zh.md
# .agents/notes/implemented/feature/2026-08-06-web-skill-tool-row.i18n.yaml
# .agents/notes/implemented/feature/2026-08-06-web-skill-tool-row.zh.md
# .agents/notes/implemented/process/2026-06-17-ts-build-config.i18n.yaml
# .agents/notes/implemented/process/2026-06-17-ts-build-config.zh.md
# .agents/notes/implemented/process/2026-07-22-tsconfig-solution-root-two-aggregates.i18n.yaml
# .agents/notes/implemented/process/2026-07-22-tsconfig-solution-root-two-aggregates.zh.md
# .agents/notes/implemented/process/2026-07-31-installer-adopts-existing-checkout.i18n.yaml
# .agents/notes/implemented/process/2026-07-31-installer-adopts-existing-checkout.zh.md
# .agents/notes/implemented/process/2026-08-08-api-remotes-generated-contract-build.i18n.yaml
# .agents/notes/implemented/process/2026-08-08-api-remotes-generated-contract-build.zh.md
# .agents/notes/implemented/simplification/2026-07-20-remove-stdio-and-echo-agents.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-20-remove-stdio-and-echo-agents.zh.md
# .agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.zh.md
# .agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.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/proposed/architecture/2026-07-29-durable-last-activity-index.i18n.yaml
# .agents/notes/proposed/architecture/2026-07-29-durable-last-activity-index.zh.md
# .agents/notes/proposed/architecture/2026-08-08-semantic-composer-chain-phases.i18n.yaml
# .agents/notes/proposed/architecture/2026-08-08-semantic-composer-chain-phases.zh.md
# .agents/notes/proposed/feature/2026-07-17-sdk-follow-up-capabilities.i18n.yaml
# .agents/notes/proposed/feature/2026-07-17-sdk-follow-up-capabilities.zh.md
# apps/cli/reference/README.i18n.yaml
# apps/cli/reference/README.zh.md
# docs/api-gateway.i18n.yaml
# docs/api-gateway.zh.md
# docs/cookbook/adding-a-package.i18n.yaml
# docs/cookbook/adding-a-package.zh.md
# docs/cookbook/adding-a-tool.i18n.yaml
# docs/cookbook/adding-a-tool.zh.md
# docs/development.i18n.yaml
# docs/development.zh.md
# docs/i18n/README.i18n.yaml
# docs/i18n/README.zh.md
# docs/i18n/style-samples.md
# docs/i18n/terminology.md
# docs/testing.i18n.yaml
# docs/testing.zh.md
# examples/web-cordis/README.i18n.yaml
# examples/web-cordis/README.zh.md
# packages/api/gateway/README.i18n.yaml
# packages/api/gateway/README.zh.md
# packages/bash/bash-env/README.i18n.yaml
# packages/bash/bash-env/README.zh.md
# packages/bash/tool-bash/README.i18n.yaml
# packages/bash/tool-bash/README.zh.md
# packages/bash/tool-pwsh/README.i18n.yaml
# packages/bash/tool-pwsh/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-tool/README.i18n.yaml
# packages/client/ui-tool/README.zh.md
# packages/feedback/command-feedback/README.i18n.yaml
# packages/feedback/command-feedback/README.zh.md
# packages/host/webserver/README.i18n.yaml
# packages/host/webserver/README.zh.md
# packages/pty/tool-bash-persistent/README.i18n.yaml
# packages/pty/tool-bash-persistent/README.zh.md
# packages/subagent/subagent-claude-code/README.i18n.yaml
# packages/subagent/subagent-claude-code/README.zh.md
# packages/subagent/subagent-codex/README.i18n.yaml
# packages/subagent/subagent-codex/README.zh.md
# packages/typert/type-meta/README.i18n.yaml
# packages/typert/type-meta/README.zh.md
# packages/util/atomic-write/README.i18n.yaml
# packages/util/atomic-write/README.zh.md
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-09 13:15:27 +08:00
xjt
a7af54a8d3
docs(i18n): standardize contract terminology
2026-08-09 11:33:14 +08:00
xjt
7ff0cbcb7e
docs: complete Chinese proofreading and generated reference pairing
2026-08-09 11:02:16 +08:00
Tianyi Cui
ba3125234a
docs: rename core-data-structures/ to subsystems/
...
The folder is becoming the home of one-doc-per-subsystem pages (intro +
data structures + cordis services/events), so the name must describe the
whole contract, not just the type-vocabulary third of it. Mechanical
rename rebuilt on current master: every inbound Markdown link, generator
constant, website route, type-equiv manifest path, and spec expectation
moves together; the zh sides of the notes whose prose names the folder
are aligned (子系统) in the same change; touched bilingual pairs
re-recorded; translation-prompt snapshot re-recorded (its example embeds
development.md). Historical Agent Note slugs keep their dated
filenames.
2026-08-09 01:27:09 +08:00
Yichen Jiang
21c3bb1713
Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706
...
# Conflicts:
# docs/module-graph.md
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/tsconfig.json
# packages/client/ui-conversation/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
2026-08-08 16:56:49 +08:00
Tianyi Cui
8dcfe5c406
fix(replay): mark local compaction calls
2026-08-08 15:28:35 +08:00
Tianyi Cui
6d09c315b9
cleanup: remove private repository references
2026-08-08 01:10:57 +08:00
Yichen Jiang
27bb33e0f0
Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706
...
# Conflicts:
# apps/web/tests/assembled-boot.ts
# apps/web/tests/settings-chrome.e2e.ts
# docs/module-graph.md
# packages/client/runtime/tsconfig.json
# packages/client/ui-conversation/README.i18n.yaml
2026-08-08 00:21:45 +08:00
Tianyi Cui
a8a12ffc23
cleanup: replace FIXMEs with tracked issues
2026-08-08 00:04:55 +08:00
Tianyi Cui
db0133b4c7
docs(notes): archive low-value records
2026-08-07 22:52:19 +08:00
Yichen Jiang
2767d6fb47
Merge remote-tracking branch 'origin/master' into worktree/persist-web-theme-settings
...
# Conflicts:
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
2026-08-07 16:45:23 +08:00
Yichen Jiang
0833b29f25
fix(web): persist general preferences in host settings
2026-08-07 16:43:59 +08:00
fz
1f853d85cd
Attribute reader scroll input through the observed-top ledger
...
ChatView's bottom-follow recognized only wheel gestures as reader input,
so touch panning, scrollbar dragging, and keyboard paging could not leave
the bottom of a streaming transcript. Replace the wheel listener with
device-agnostic attribution: a scroll position deviating from the
observed-top ledger of the last delivered or written scrollTop is reader
input. Adds keyboard-paging and touch-style fling e2e scenarios (red under
the old implementation) and the bilingual Agent Note triplet.
2026-08-07 13:44:49 +08:00
xjt
7bd111b2af
Merge origin/master into xjt/proofreading-active-docs-2-apply
2026-08-05 10:57:53 +08:00
xjt
782d84116a
docs(i18n): restore first-occurrence terminology
2026-08-04 20:54:42 +08:00
xjt
edb3e82c35
docs(i18n): address proofreading review findings
2026-08-04 18:42:13 +08:00
xjt
2db712eec7
docs(i18n): proofread active Chinese documentation
2026-08-04 17:36:14 +08:00
imccyu
b9d768b6f2
fix(web): stabilize reasoning stream validation
2026-08-04 14:37:35 +08:00
imccyu
6f1d443c59
feat: optimize chat think
2026-08-04 14:37:35 +08:00
kingwl
a44c8797b6
test(web): add opt-in reasoning chunk stress lane
2026-08-04 14:37:31 +08:00
kingwl
bf6cb38fbc
test(web): expand long-chat regression and performance coverage
2026-08-04 14:23:34 +08:00
kingwl
1cc59ae78e
test(web): split long conversation performance cases
2026-08-04 14:23:34 +08:00
kingwl
7f0b8a7e87
test: measure live web streaming performance
2026-08-04 14:23:34 +08:00
kingwl
a435aae538
test: add opt-in web performance scenario
2026-08-04 14:23:34 +08:00
Turtle
10bb9cbf4a
cleanup: remove TUI package and legacy dsh entrypoints
2026-08-04 13:20:28 +08:00
ZiyaZhang
215bf15f78
fix(web): surface terminal turn failures
2026-07-31 03:10:48 -07:00
creatixchu
cb754a0319
feat(locale): derive the initial Settings language from the browser
...
A first visit resolved to Chinese regardless of the browser: LocaleService
read `dsh.locale` and fell straight back to `zh` when nothing was stored,
ignoring the languages the browser already states it reads.
The initial locale now resolves through three ordered sources — the persisted
preference, then `navigator` (first entry of the ordered language list whose
primary subtag names a shipped locale, so `zh-Hans-CN` -> zh and `en-GB` ->
en), then `FALLBACK_LOCALE`. An explicit choice still wins and nothing writes
the detected locale back to storage, so "has the user chosen?" stays a
question only the stored value answers.
Specs asserting the shipped Chinese copy now state the browser they assume:
the web e2e scenarios open their page with `locale: ZH_BROWSER_LOCALE`, and
package specs pin it through the new `pinBrowserLanguages` test helper.
`settings-chrome.e2e.ts` gains an English-browser scenario as the
assembled-app proof.
2026-07-31 15:26:46 +08:00
Turtle
aa39d6c6ed
Merge remote-tracking branch 'origin/master' into fix/node26-vitest-webstorage
...
# Conflicts:
# scripts/run-gates.spec.ts
# vitest.config.ts
2026-07-31 10:26:05 +08:00
Tianyi Cui
dea8f31273
Merge branch 'master' into worktree/fix-macos-web-replay
...
# Conflicts:
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
2026-07-30 22:00:50 +08:00
Turtle
f04b35c6a4
fix(test): isolate jsdom storage on Node 26
2026-07-30 21:49:33 +08:00
Tianyi Cui
fb30187161
fix(web): isolate replay skill discovery
2026-07-30 19:30:06 +08:00
Tianyi Cui
6d6c146f81
ci: allocate consumer runner independently
2026-07-30 19:02:10 +08:00
Turtle
39efc3dd73
Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
...
# Conflicts:
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
# docs/testing.i18n.yaml
2026-07-30 15:00:42 +08:00
imccyu
9035b1b474
docs(testing): record browser gate timing
2026-07-30 12:01:31 +08:00
imccyu
d9fa79a1e1
test(web): pin browser replay locale
2026-07-30 11:39:11 +08:00
imccyu
6303b22487
ci: run web replay on master linux
2026-07-30 11:16:37 +08:00
imccyu
72c9d40ad9
ci: isolate web snapshots to consumer lane
2026-07-30 10:54:51 +08:00
Turtle
c086de2074
fix(docs): align catalogs with consolidated CLI
2026-07-30 10:34:21 +08:00
imccyu
4b4f7752c1
ci: gate web browser snapshots
2026-07-30 10:23:05 +08:00
Turtle
5dbcedfbba
Merge origin/master into feature/shared-cli-config-foundation
2026-07-30 10:11:38 +08:00
Turtle
3d446da9c7
docs(web): align bilingual composition wording
2026-07-29 21:57:54 +08:00
Turtle
bee0a77aad
chore: refresh generated review records
2026-07-29 21:15:48 +08:00
Turtle
f290a8b851
refactor(cli)!: one shared base config with per-surface overlays
...
`dsh` shipped two config trees that were 43 rows the same: apps/cli/cordis.yml
composed web as 74 flat rows, while the TUI booted examples/tui-agent/cordis.yml
whose single `@deepseek-ai/dsh-tui-demo` row mounted twelve plugins behind a
twenty-key pass-through Config. Neither file was what its location claimed —
apps/cli hardcoded the "example" as the product default and the "demo" bundle
was the application — and every capability change had to be made twice.
- apps/cli/base.cordis.yml holds the 43 shared rows; tui.cordis.yml and
web.cordis.yml are patch lists stating only what differs per surface
- overlays apply as SIBLING patch lists at one include level, because include
patches never cross an include boundary. Precedence: base < surface <
(--config | personal ~/.dsh/config.yaml) < launcher flag/profile patches
- `--config` now applies an overlay INSTEAD OF the personal one, so a demo or
test tree never inherits the user's route; new `--config-replace` boots a file
as the entire tree (the old `--config` behaviour). Both survive /resume
- vendor/include: index each `insert`ed row as it is added so a later patch can
configure or disable it. Upstream built the id index once before the patch
loop, leaving every surface-only row — the whole TUI front door — silently
unpatchable from user config. Logged as local modification 8
- session identity moves to dsh-agent-loop's CONFIGURED_AGENT_IDENTITIES_KEY;
dsh-tui's MAIN_SESSION_ID_KEY is deleted (only the bundle read it)
- delete examples/tui-agent, examples/cordis-agent, packages/examples/tui-demo;
TUI tests → apps/cli/tests, cordis e2e → packages/cordis/tool-cordis/tests,
examples/code-mode survives as an overlay leaf
- `dsh web` gains --config, threaded into AppCLIEntry as an extra overlay
Three latent defects surfaced and are fixed here: the TUI captured the optional
sessionQuery service once at construction and could permanently disable /resume
when it won the mount race; the session-store root silently reverted to a
project-local ./.sessions; --config-replace was dropped by the resume handoff.
Verified by booting each tree through the real Loader (TUI 55 entries, web 75,
zero unsettled) rather than reading YAML. All eight terminal snapshots replay
byte-identically; 14/14 PTY smoke, 112/112 snapshots, 25/25 doc-sync, hygiene
and lint clean.
2026-07-29 21:15:42 +08:00
imccyu
66d650e4fb
refactor: simplify sidebar logics
2026-07-29 14:52:41 +08:00