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
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
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
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
Tianyi Cui
9161d9bf32
Merge branch 'master' into worktree/fix-test-mock-server-bin
2026-07-29 01:08:07 +08:00
Tianyi Cui
c3d9f132e8
test(snapshot): canonicalize generated cwd tokens
2026-07-28 23:46:01 +08:00
Tianyi Cui
84d0d92cfb
test(snapshot): normalize temporary workspace paths
2026-07-28 21:32:49 +08:00
Yichen Jiang
9236f24bcd
fix(llm): stop exposing the mock server binary
2026-07-28 18:21:11 +08:00
Tianyi Cui
9c78a7df33
test(snapshot): share identical header sidecars
2026-07-28 17:26:03 +08:00
Tianyi Cui
f2c0021941
docs(notes): aggressive archive sweep of low-value decision records
...
Archive 21 implemented triplets whose shipped decisions are complete and
whose bodies no longer guide future work (one-off UI chrome, generator
applications whose scripts are self-explanatory, superseded implementation
detail, process history owned by current contracts/skills). Delete 4
rejected triplets whose premises are obsolete: the DeepReadonly proposal
(dev-invariants note now carries the alternative inline), the collapse
tool-owned presentation proposal (superseded by the shipped render-intent
union), retire-mid-turn-steering (steering is now load-bearing across
plan-mode/apiproxy/TUI), and single-session-ACP (automation-only ACP
resolved the question; multi-session isolation is pinned by tests).
Repair every inbound link: retarget intentional historical citations to
archived paths, replace decision-current citations with the surviving
authority, and fix the stale example-execute-over-tsx pointer in
pnpm-workspace.yaml. Re-record pairing sidecars and seal the archive
manifest (append-only; existing seals unchanged).
2026-07-28 00:00:51 +08:00
Tianyi Cui
194ea6bdf0
docs(test): correct execa process-tree claims
2026-07-27 18:03:21 +08:00
Tianyi Cui
d897dcc7ea
Merge remote-tracking branch 'origin/master' into worktree/pr682-retarget-20260727
...
# Conflicts:
# .agents/notes/rejected/simplification/2026-07-26-dependency-swaps-rejected-by-nih-audit.i18n.yaml
2026-07-27 17:55:56 +08:00
Tianyi Cui
77a85f9b1a
Merge remote-tracking branch 'origin/master' into worktree/fix-ci-timing-flakes-20260727
2026-07-27 15:53:08 +08:00
Tianyi Cui
9c53cd7d07
test: stabilize timing-sensitive terminal checks
2026-07-27 15:33:36 +08:00