Chinesezjc
b6a6e820f6
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
2026-08-06 13:18:20 +08:00
Chinesezjc
2e930291f9
docs(note): correct todo dock entry order and projection hook
...
The web-todo-display note still described the dock entry as registering at
order: -1 and reading snapshot.todos through useSession. TodoPanel.tsx
registers at order: 0 and TodoDock reads the host-computed todos projection
through useProjection.
2026-08-06 13:16:52 +08:00
Yichen Jiang
16ad5f3f86
Merge pull request #1732 from deepseek-harness/worktree/fix-1680-cjk-markdown
...
fix(web): render CJK emphasis and link code URLs
2026-08-06 13:15:50 +08:00
Chinesezjc
ecb17ac3ae
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
...
# Conflicts:
# examples/acp-agent/tests/snapshots/todo-write/session.jsonl
# packages/client/ui-conversation/README.i18n.yaml
2026-08-06 13:04:33 +08:00
Chinesezjc
bb18a13fb3
docs(todo): drop stale plan-strip format claims and fix the note's counts
...
The plan strip header has not emitted `<done>/<total> tasks · <n> in progress`
since #740 replaced it with `·`-joined per-status counts. Four sites still
quoted the old string: plan-summary.ts's module JSDoc, ui-conversation's
README pair, and the web-todo-display note pair.
The parallel-in-progress note's regression example mixed a four-item plan with
an eight-item row reading, and built-boot.snapshot.ts still called itself the
only test loading the built bundles.
2026-08-06 13:00:14 +08:00
Chinesezjc
0cf7420e52
test(web): pin the parallel todo plan in the assembled application
...
The `+N` active count rides ToolRow's non-shrinking `summarySuffix` slot,
but only jsdom package suites covered it: the ACP snapshots render no web
surface and the built-boot smoke asserts no todo row. Add
`apps/web/tests/todo-row.snapshot.ts`, which boots the built client bundles
against the keyless fixture transport and records `summary`, `suffix`, and
the plan strip's header as separate fields, so folding the count back into
the summary string changes the expected output.
The three assembled-jsdom files now share `apps/web/tests/assembled-boot.ts`
instead of each carrying its own copy of the boot entry list, bundle map,
jsdom stubs, and mount call.
Also: name the policy branch in each `allowParallelInProgress` test title so
no case asserting `true` sits under a `false` describe, reword the stale cap
comment in todo-panel.spec.tsx, and record the plan strip's real header
format in the Agent Note (per-status counts, not `<done>/<total> tasks`).
2026-08-06 12:26:27 +08:00
Chinesezjc
2b9354aab5
docs(todo): state the catalog's policy branch and drop the sidecar census
...
The tool catalog boots every tool with its default config, but
allowParallelInProgress has no default, so the generator has to choose;
the page now says which branch it shows. The Agent Note's sidecar count
went stale twice inside this PR, so it records the refresh rule instead
of a point-in-time census. The SDK builtin entry pins its config literal
with satisfies like every sibling.
2026-08-06 12:17:10 +08:00
creatixchu
e90e419273
Merge remote-tracking branch 'origin/worktree/context-source-cards' into worktree/context-forms-remaining
2026-08-06 12:03:50 +08:00
creatixchu
851fe793c4
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# packages/client/runtime/src/client/sessions/transcript-adapter.ts
# packages/client/ui-conversation/README.i18n.yaml
2026-08-06 12:03:15 +08:00
Chinesezjc
8985284f85
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
...
# Conflicts:
# docs/core-data-structures/session.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
2026-08-06 12:00:33 +08:00
Chinesezjc
a01d974c60
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-23-web-todo-display.i18n.yaml
# .agents/notes/implemented/feature/2026-07-23-web-todo-display.md
# .agents/notes/implemented/feature/2026-07-23-web-todo-display.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
2026-08-06 11:58:06 +08:00
creatixchu
0996611cc2
Merge remote-tracking branch 'origin/worktree/context-source-cards' into worktree/context-forms-remaining
2026-08-06 11:57:49 +08:00
creatixchu
39d585e7ed
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
2026-08-06 11:57:17 +08:00
imccyu
53293210e6
Merge remote-tracking branch 'origin/master' into mergebot/pr1667
2026-08-06 11:53:33 +08:00
creatixchu
cc06d3c04b
Merge remote-tracking branch 'origin/worktree/context-source-cards' into worktree/context-forms-remaining
...
# Conflicts:
# apps/web/tests/snapshots/queue-actions/layout.expected.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/goal.i18n.yaml
# docs/core-data-structures/goal.md
# docs/core-data-structures/goal.zh.md
# docs/event-producer-consumer.md
# examples/acp-agent/tests/goal-snapshots/goal-session/session.expected.jsonl
# examples/acp-agent/tests/goal-snapshots/goal-wrapup/session.expected.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/acp-agent/tests/snapshots/bash-spill/session.jsonl
# examples/acp-agent/tests/snapshots/bash-tool-turn/session.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/cancel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/cancel/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/empty-response-retry/session.jsonl
# examples/acp-agent/tests/snapshots/error-finish/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/session.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/fs-policy-reject/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read-window/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write-overwrite/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-deny/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-pretool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/lsp-definition/session.jsonl
# examples/acp-agent/tests/snapshots/missing-sandbox-runner/session.jsonl
# examples/acp-agent/tests/snapshots/multi-turn/session.jsonl
# examples/acp-agent/tests/snapshots/packed-chunks/session.jsonl
# examples/acp-agent/tests/snapshots/parallel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/partial-landlock-child-failure/session.jsonl
# examples/acp-agent/tests/snapshots/pty-tools/session.jsonl
# examples/acp-agent/tests/snapshots/repeat-tool-guard/session.jsonl
# examples/acp-agent/tests/snapshots/session-query-spill/session.jsonl
# examples/acp-agent/tests/snapshots/session-sandbox-root/session.jsonl
# examples/acp-agent/tests/snapshots/session-title-after-turn/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-continuable/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-continuable/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-list-agents/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-list-agents/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-published-run-failure/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-report/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-report/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# examples/acp-agent/tests/snapshots/todo-write/session.jsonl
# examples/acp-agent/tests/snapshots/tool-call-turn/session.jsonl
# examples/acp-agent/tests/snapshots/web-fetch/session.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.1.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-edit/session.jsonl
# examples/headless-agent/tests/snapshots/goal-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/child.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/session.jsonl
# packages/bash/tool-bash/tests/integration.spec.ts
# packages/context/time-context/src/index.ts
# packages/context/tmux-context/src/index.ts
# packages/core/agent-loop/src/agent.ts
# packages/core/system-prompt/src/index.ts
# packages/goal/goal/src/domain.ts
# packages/goal/goal/src/index.ts
# packages/goal/goal/src/render.ts
# packages/plan/plan-mode/src/index.ts
2026-08-06 11:49:03 +08:00
Chinesezjc
c337215bae
feat(todo): carry the parallel-active count through ToolRow's summarySuffix
...
Rebuild the todo row's parallel summary on the shared ToolRow that master
introduced: planSummary still returns the active name and the remaining
count separately, and the row hands the count to a new non-shrinking
summarySuffix slot so a narrow row clips the summary text before the count.
An error row drops the suffix, whose collapsed summary is the failure line.
Re-record the ACP todo-write transcript for the parallel prompt, regenerate
the config catalog for the required allowParallelInProgress field, and
re-record the bilingual pairing hashes.
2026-08-06 11:42:31 +08:00
imccyu
e5810d450e
Merge remote-tracking branch 'origin/master' into mergebot/pr1667
2026-08-06 11:42:14 +08:00
Yichen Jiang
178eaf3973
fix(web): link inline-code URLs
2026-08-06 11:41:46 +08:00
Yichen Jiang
1b5f06ed0b
fix(web): render CJK-adjacent strong emphasis
2026-08-06 11:41:46 +08:00
Chinesezjc
a1a320cf56
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
2026-08-06 11:39:09 +08:00
creatixchu
d0d8cd5365
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-08-06 11:29:50 +08:00
creatixchu
6747c2d44d
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# .agents/notes/implemented/simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.md
# .agents/notes/implemented/simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.zh.md
# apps/web/tests/seeded-history.e2e.ts
# apps/web/tests/snapshots/queue-actions/layout.expected.md
# docs/core-data-structures/core.i18n.yaml
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/tests/history-fold.spec.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/tests/chat-branch-tails.spec.tsx
# packages/context/workspace-context/src/index.ts
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/skill/tool-skill/README.i18n.yaml
# packages/skill/tool-skill/README.md
# packages/skill/tool-skill/README.zh.md
# packages/skill/tool-skill/src/index.ts
# packages/skill/tool-skill/tests/tool-skill.spec.ts
2026-08-06 11:28:48 +08:00
imccyu
86965b053c
feat(client): inject slot declaration lifetimes
2026-08-06 11:28:46 +08:00
Chinesezjc
e0a7f40f04
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
2026-08-06 11:25:28 +08:00
imccyu
c93438e6b3
docs(jsonl): align restore slice interval
2026-08-06 10:40:32 +08:00
imccyu
e89b1e612f
fix(session): address restore review feedback
2026-08-06 10:40:32 +08:00
imccyu
44596dc0a3
docs(session): correct restore pipeline boundaries
2026-08-06 10:40:31 +08:00
imccyu
03983ff986
perf(jsonl): scan decoded frames incrementally
2026-08-06 10:40:31 +08:00
imccyu
906ab15490
docs(session): record large-session restore pipeline
2026-08-06 10:40:31 +08:00
imccyu
e37aa41f87
fix(session-persistence): close preparation races
2026-08-06 10:19:51 +08:00
imccyu
2f98f29992
fix(session): address restore review feedback
2026-08-06 05:13:26 +08:00
imccyu
ede74b1926
fix(session-persistence): invalidate stale preparations
2026-08-06 04:11:58 +08:00
imccyu
feb2c35cef
fix(session-persistence): address preparation review feedback
2026-08-06 04:11:58 +08:00
imccyu
aacac1fec8
docs: record session preparation architecture
2026-08-06 04:11:57 +08:00
imccyu
e5181e94ff
doc: record the coverage uncovered-location reporter decision
2026-08-06 03:56:01 +08:00
imccyu
aaca2fa52f
fix(web): localize stats and close stale context meter
2026-08-06 00:21:34 +08:00
imccyu
b0d1d9445e
Merge remote-tracking branch 'origin/master' into mergebot/pr1667
...
# Conflicts:
# apps/web/tests/snapshots/queue-actions/preserved.expected.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/session.i18n.yaml
# packages/client/runtime/src/client/session-history/history-fold.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/core/session/src/index.ts
2026-08-05 22:56:57 +08:00
Huanqi Cao
17ff1e0d4a
Merge pull request #1624 from deepseek-harness/feat/pwsh-ui-parity
...
feat(pwsh): render pwsh calls as bash-shaped terminal cards in the Web UI
2026-08-05 22:20:11 +08:00
Huanqi Cao
ca65cf1e14
Merge remote-tracking branch 'origin/master' into feat/pwsh-ui-parity
...
# Conflicts:
# apps/web/tsconfig.json
2026-08-05 21:51:31 +08:00
_Kerman
207e32493c
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
Resolve translation-pairing hashes after the merge and adapt the
math-rendering e2e fixture to the simplified turn/start event shape.
2026-08-05 21:42:33 +08:00
fz
7604e82bf0
Merge remote-tracking branch 'origin/master' into codex/fix-math-rendering
2026-08-05 20:51:06 +08:00
fz
e0328fc44d
Merge remote-tracking branch 'origin/master' into codex/fix-math-rendering
...
# Conflicts:
# packages/client/ui-primitives/README.i18n.yaml
2026-08-05 20:50:50 +08:00
_Kerman
488b8df547
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.i18n.yaml
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/cookbook/extension-cookbook.md
# docs/cookbook/extension-cookbook.zh.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/defensive-patterns.i18n.yaml
# packages/acp/acp/README.i18n.yaml
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-goal/README.i18n.yaml
# packages/compact/compact-basic/README.i18n.yaml
# packages/context/README.i18n.yaml
# packages/context/README.md
# packages/context/README.zh.md
# packages/context/session-reference/README.i18n.yaml
# packages/context/session-reference/README.md
# packages/context/session-reference/README.zh.md
# packages/context/tmux-context/README.i18n.yaml
# packages/core/session/README.i18n.yaml
# packages/core/session/README.md
# packages/core/session/README.zh.md
# packages/goal/command-goal/README.i18n.yaml
# packages/goal/goal-session/README.i18n.yaml
# packages/goal/goal-session/README.zh.md
# packages/guard/README.i18n.yaml
# packages/guard/README.md
# packages/guard/README.zh.md
# packages/guard/repeat-tool-guard/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/plan/plan-mode/README.i18n.yaml
# packages/sdk/sdk-client/README.i18n.yaml
# packages/sdk/sdk-client/README.md
# packages/sdk/sdk-client/README.zh.md
# packages/session-persistence/session-persistence/README.i18n.yaml
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# python/sdk/README.i18n.yaml
2026-08-05 20:43:30 +08:00
_Kerman
208ec20dd9
docs(agent): mark claim as the loop-internal step-boundary operation
2026-08-05 20:26:46 +08:00
imccyu
749108c2b0
Merge branch 'master' into xtr/trajectory-virtual-scroll
2026-08-05 20:02:53 +08:00
creatixchu
8247b7619a
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
2026-08-05 19:14:56 +08:00
creatixchu
452462a504
Merge remote-tracking branch 'origin/master' into worktree/composer-scrollbar-gutter
2026-08-05 18:20:36 +08:00
_Kerman
2d2b542372
Merge remote-tracking branch 'origin/master' into xtr/trajectory-virtual-scroll
...
# Conflicts:
# packages/client/runtime/README.i18n.yaml
2026-08-05 18:11:51 +08:00
Yichen Jiang
96c44c83d4
test(web): stabilize and refresh the aria goldens for the speed readings
...
The TTFT and tok/s readings divide by measured wall time, so they are not
reproducible: the same replayed scenario yielded 69 and 70 tok/s on
consecutive local runs, and a 3 ms replayed stream reads 26333 tok/s. Baking
those into committed goldens made the Web lane flaky by construction, and the
goldens for the readings themselves were never refreshed.
Three fixes, then a refresh:
The footer's decorative dots are `aria-hidden`, so the readings concatenated
into one accessible string — `Ran for 13sTTFT 0.2s12 tok/s`. That is a real
defect on its own (a reader hears one run-on instead of three facts) and it
also denied `{{duration}}` the word boundary it matches on, so even the
previously-stable `Ran for` duration started leaking raw. The separators now
carry flanking spaces.
`normalizeAria` gains `{{throughput}}` beside `{{duration}}`, and its duration
alternation accepts the stats line's compact `2m42s` as well as the
message-chrome template's `2m 42s` — the compact form had no pattern at all,
which is why `LLM 382m39s` survived the first refresh.
Refreshed 17 goldens. They also record that the stats line's `LLM` group now
renders at all: it folds assistant `timing`, which the live transcript adapter
only began attaching in this branch, so the group was previously dead in Chat.
Verified by running the lane in replay three times after the refresh: 41/41
files green each time, goldens untouched. Before this change two consecutive
runs disagreed on both the values and the failure count.
2026-08-05 17:55:49 +08:00
Huanqi Cao
8fcb392fe1
Merge origin/master into feat/pwsh-ui-parity
2026-08-05 17:41:03 +08:00