Huanqi Cao
1130d6842e
fix(docs): re-record translation pair hashes after master merge
...
The merge commit carried the pre-merge zh hashes; the pairing gate
compares blob hashes of the merged files, so re-record both records.
2026-08-05 13:19:56 +08:00
Chinesezjc
975350c7b8
Merge remote-tracking branch 'origin/master' into feat/py-types-code-mode
2026-08-05 13:18:05 +08:00
fz
a0b1ede482
Merge origin/master into codex/fix-compact-agents-reinjection
2026-08-05 13:17:41 +08:00
kingwl
75bd2b8aaa
Merge remote-tracking branch 'origin/master' into fix/landlock-runner-failure-classification
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# docs/core-data-structures/sandbox.i18n.yaml
# docs/core-data-structures/sandbox.zh.md
# docs/postmortem/README.i18n.yaml
# docs/postmortem/README.zh.md
# examples/acp-agent/tests/acp.snapshot.ts
# native/landlock-run/README.i18n.yaml
# packages/sandbox/sandbox-local/README.i18n.yaml
# packages/sandbox/sandbox-local/README.zh.md
# packages/sandbox/sandbox/README.i18n.yaml
2026-08-05 13:17:38 +08:00
_Kerman
02efe3ccea
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# 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-11-event-sourced-sessions.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-11-microkernel-event-taxonomy.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-11-microkernel-event-taxonomy.zh.md
# .agents/notes/implemented/architecture/2026-06-18-agent-lifecycle-and-ownership-seams.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-18-session-surface.i18n.yaml
# .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-06-30-event-domain-semantics.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.zh.md
# .agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.zh.md
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.zh.md
# .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/architecture/2026-07-14-provider-routed-llm-adapters.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md
# .agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.zh.md
# .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.zh.md
# .agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-21-semantic-session-checkpoints.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-21-semantic-session-checkpoints.zh.md
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.i18n.yaml
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.zh.md
# .agents/notes/implemented/feature/2026-06-24-workspace-context.i18n.yaml
# .agents/notes/implemented/feature/2026-06-24-workspace-context.zh.md
# .agents/notes/implemented/feature/2026-06-30-hook-bridges.i18n.yaml
# .agents/notes/implemented/feature/2026-06-30-hook-protocol-lib.i18n.yaml
# .agents/notes/implemented/feature/2026-06-30-hook-protocol-lib.zh.md
# .agents/notes/implemented/feature/2026-06-30-interception-seams.i18n.yaml
# .agents/notes/implemented/feature/2026-06-30-interception-seams.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-durable-per-step-time-context.i18n.yaml
# .agents/notes/implemented/feature/2026-07-16-durable-per-step-time-context.zh.md
# .agents/notes/implemented/feature/2026-07-16-harness-level-loop.i18n.yaml
# .agents/notes/implemented/feature/2026-07-16-harness-level-loop.zh.md
# .agents/notes/implemented/feature/2026-07-19-human-goal-command.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.zh.md
# .agents/notes/implemented/feature/2026-07-19-plugin-command-registration.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.zh.md
# .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-27-tmux-location-context.i18n.yaml
# .agents/notes/implemented/simplification/2026-06-20-public-agent-stop-surface.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.zh.md
# .agents/notes/implemented/simplification/2026-07-20-unwrap-injected-content-envelopes.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-22-plan-specific-collaboration-state.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-22-plan-specific-collaboration-state.zh.md
# .agents/notes/implemented/simplification/2026-07-24-agent-loop-observable-state-machine.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-27-request-error-retry-action.i18n.yaml
# docs/core-data-structures/compaction.i18n.yaml
# docs/core-data-structures/goal.i18n.yaml
# docs/core-data-structures/goal.zh.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/core-data-structures/session.zh.md
# docs/core-data-structures/skills.i18n.yaml
# docs/core-data-structures/skills.zh.md
# docs/core-data-structures/system-prompt.i18n.yaml
# docs/defensive-patterns.i18n.yaml
# docs/defensive-patterns.zh.md
# docs/user/develop/framework/events.i18n.yaml
# docs/user/develop/framework/events.zh.md
# packages/acp/acp/README.i18n.yaml
# packages/client/ui-goal/README.i18n.yaml
# packages/compact/compact-basic/README.i18n.yaml
# packages/compact/compact/README.i18n.yaml
# packages/context/time-context/README.i18n.yaml
# packages/context/tmux-context/README.i18n.yaml
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.zh.md
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.zh.md
# packages/core/session/README.i18n.yaml
# packages/core/session/README.zh.md
# packages/core/system-prompt/README.i18n.yaml
# packages/core/system-prompt/README.zh.md
# packages/examples/cli-demo/README.i18n.yaml
# packages/goal/command-goal/README.i18n.yaml
# packages/goal/goal-session/README.i18n.yaml
# packages/goal/goal/README.i18n.yaml
# packages/goal/tool-goal/README.i18n.yaml
# packages/goal/tool-goal/README.zh.md
# packages/guard/README.i18n.yaml
# packages/guard/README.zh.md
# packages/guard/repeat-tool-guard/README.i18n.yaml
# packages/hooks/hooks-claude/README.i18n.yaml
# packages/hooks/hooks-codex/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.zh.md
# packages/llm/llm/README.i18n.yaml
# packages/plan/plan-mode/README.i18n.yaml
# packages/plan/plan-mode/README.zh.md
# packages/sdk/sdk-client/README.i18n.yaml
# packages/sdk/sdk-client/README.zh.md
# packages/sdk/sdk-protocol/README.i18n.yaml
# packages/session-persistence/session-persistence/README.i18n.yaml
# packages/session-persistence/session-persistence/README.zh.md
# packages/skill/tool-skill/README.i18n.yaml
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# packages/subagent/subagent-inprocess/README.i18n.yaml
# packages/subagent/subagent-inprocess/README.zh.md
# packages/ui/jsonrpc/README.i18n.yaml
2026-08-05 13:09:53 +08:00
Chinesezjc
698fdaea9b
fix(tools): emit Python SDK members in one lexicographic stream
...
The Python renderer partitioned identifier methods ahead of subscript
comments, so a tool set like {a-tool, z} emitted z first — contradicting
the documented lexicographic contract and the TypeScript flavor, which
quotes exotic keys in place. Interleave both kinds in one ordered stream
and track emitted statements for the pass fallback.
Also correct four stale serialization claims in the base Code Mode note
that the live-parallel scheduler superseded.
2026-08-05 12:59:20 +08:00
Yichen Jiang
e9b377e9c5
Merge remote-tracking branch 'origin/master' into worktree/custom-deepseek-models
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-30-web-config-plane.i18n.yaml
# .agents/notes/implemented/feature/2026-07-24-web-session-model-selector.i18n.yaml
# packages/client/ui-model/README.i18n.yaml
# packages/client/ui-model/README.zh.md
# packages/client/ui-models/README.i18n.yaml
# packages/client/ui-models/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/llm/llm-deepseek/README.i18n.yaml
2026-08-05 12:50:58 +08:00
Huanqi Cao
05a1a95ae9
Merge origin/master into feat/pwsh-ui-parity
2026-08-05 12:47:09 +08:00
Turtle
c836fcd416
feat(telemetry): add feedback-gated OTEL modes
2026-08-05 12:43:35 +08:00
_Kerman
63ba836bce
fix(client): address CI and review findings on blank-session reuse
...
- docs: fix cross-class note links (../feature/...), mirror the membership
reuse criterion in README.zh.md and the connectWorkspace architecture
note (EN/ZH/sidecars re-recorded)
- test(client): stray + member blank at the same path — the scan skips the
stray and reuses the member
- test(web): re-registration after delete now mints a fresh blank session
(the old cwd-only reuse is gone), so the account is no longer empty;
assert the retained seeded session is still not re-adopted
2026-08-05 12:21:09 +08:00
_Kerman
add1674ac4
fix(client): only reuse workspace-member blank sessions for New Session
...
The blank-session reuse scan in connectWorkspace matched on cwd alone, so a
live blank session the CLI/TUI birthed at the host cwd (never accounted to
any workspace) was hijacked when + was clicked on a workspace registered at
that path, opening a session the sidebar shows under Ungrouped instead of
the clicked workspace. Reuse now also requires membership in the workspace's
sessionIds (the host's own membership rule); cwd-only matches fall through
to session.create({workspaceId}).
Fixes #1647
2026-08-05 12:20:50 +08:00
creatixchu
340c9ba576
feat(web): split context injection into producer-declared forms
...
Injected context reached the transcript as one anonymous shape whose
expanded body was the whole message serialized as inline JSON, so the
escaping collapsed the only readable part — the model-facing prose —
into a single line.
`MessageSource` gains an optional producer-declared `form`, a small
semantic vocabulary of information shapes independent of `kind`: kind
says who produced the context, form says what shape it is, so several
producers may share one presentation. Two values ship.
`instructions` (workspace-context) lists the reconciled files above
their text and keeps the `<system-reminder>` framing verbatim, because
the framing is part of what the model read. `catalog` moves dsh-tool-skill
off the shared plugin kind onto a `skill-catalog` source carrying the
published name/description entries, and the body lists those instead of
re-parsing `<available_skills>` out of the prose. Catalog identity moves
with it: the republish digest now covers the durable entries, deleting
the text-slicing that recovered them from a logged message.
Everything else renders the opaque body — the model-facing text with its
real line breaks, then the remaining provenance as fields. That is the
documented default, not a leftover: a resumed, forked, or foreign log
must render whether or not its producer is mounted here, which is why
the classification lives in the durable source rather than a client-side
table keyed by producer.
2026-08-05 12:15:03 +08:00
_Kerman
547e38aa27
Merge remote-tracking branch 'origin/master' into feat/fs-tool-error-remedy
...
# Conflicts:
# packages/fs/fs-policy/README.i18n.yaml
# packages/fs/tool-fs/README.i18n.yaml
2026-08-05 12:08:41 +08:00
imccyu
5ae0a23f42
fix(session): remove unreachable header guard
2026-08-05 11:57:17 +08:00
imccyu
1832df038d
docs(session): document creation ownership boundaries
2026-08-05 11:57:17 +08:00
imccyu
c02871b910
refactor(session): separate validation from snapshots
2026-08-05 11:56:14 +08:00
imccyu
69b1ea8d8c
refactor(agent-loop): extract setup and publication
2026-08-05 11:56:14 +08:00
imccyu
8cbdd5b9d0
refactor(session): route construction through Session.create
2026-08-05 11:56:14 +08:00
Chinesezjc
c273b4c25b
Merge remote-tracking branch 'origin/master' into feat/py-types-code-mode
2026-08-05 11:50:52 +08:00
Chinesezjc
a9a12ad720
Merge remote-tracking branch 'origin/master' into feat/py-types-code-mode
2026-08-05 11:46:45 +08:00
Yichen Jiang
086656afae
Merge remote-tracking branch 'origin/master' into worktree/custom-deepseek-models
...
# Conflicts:
# packages/client/ui-models/src/client/ModelsSection.module.css
# packages/client/ui-models/src/client/ModelsSection.tsx
2026-08-05 11:46:23 +08:00
Huanqi Cao
5da80e020c
docs: sync seam ownership, roadmap ordering, and card JSDoc per review
...
core-data-structures/bash.md now names dsh-bash as owner of the shared
exit-status contract parseExitStatus/ParsedExitStatus provide to both
shell tools' presentResult (mirroring the README seam paragraph); the
windows-pwsh-default roadmap no longer claims composition-first ordering
while the rendering stage ships first; the terminal-card-model JSDoc
covers the shell tools, not just bash. Re-record both bilingual pairs.
2026-08-05 11:42:49 +08:00
creatixchu
e5d4ae72fc
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
2026-08-05 11:26:51 +08:00
_Kerman
c8fefb8aee
Merge branch 'master' into feat/fs-tool-error-remedy
2026-08-05 11:25:35 +08:00
Yichen Jiang
a2497a0dc1
Merge remote-tracking branch 'origin/master' into worktree/open-settings-config-file
...
# Conflicts:
# packages/client/connection/README.i18n.yaml
# packages/client/connection/README.md
# packages/client/connection/README.zh.md
2026-08-05 11:05:52 +08:00
xjt
7bd111b2af
Merge origin/master into xjt/proofreading-active-docs-2-apply
2026-08-05 10:57:53 +08:00
_Kerman
423f7517b6
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# packages/core/agent/package.json
2026-08-05 10:46:01 +08:00
_Kerman
d4908eeb14
Merge remote-tracking branch 'origin/master' into xtr/trajectory-virtual-scroll
...
# Conflicts:
# apps/web/tests/chat-scroll-fixture.ts
# packages/client/runtime/README.i18n.yaml
2026-08-05 10:41:50 +08:00
creatixchu
d060327f0c
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# apps/web/tests/snapshots/bash-abort-row/ui.expected.md
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
2026-08-05 10:40:23 +08:00
_Kerman
97e7d68340
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cancel-tool-calls/session.jsonl
2026-08-05 10:39:18 +08:00
pku-xht
f09986a02b
Merge commit '6da4bd5f593e2f633df9e99721fb62e559b56012' into codex/product-providers-pr2-claude-code
2026-08-05 07:40:22 +08:00
pku-xht
9e91e206d4
refactor(subagent-codex): centralize cancellation settlement
2026-08-05 07:36:54 +08:00
pku-xht
6d8095825b
fix(subagent-claude-code): tighten provider evidence
2026-08-05 07:32:27 +08:00
pku-xht
80adf8c7f4
Merge commit '3e630a3bce76aedf0fe351cf7b22d1f28b7fb731' into codex/product-providers-pr2-claude-code
...
# Conflicts:
# .agents/notes/proposed/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml
# .agents/notes/proposed/feature/2026-08-04-claude-code-and-codex-subagent-backends.md
# .agents/notes/proposed/feature/2026-08-04-claude-code-and-codex-subagent-backends.zh.md
2026-08-05 07:09:16 +08:00
pku-xht
2e00a93eda
fix(subagent-codex): support Windows command shims
2026-08-05 07:03:04 +08:00
pku-xht
ed6f0c8774
Merge commit 'ecbb7896d3deeeac0bca71cef6b0d17e5b23896b' into codex/product-providers-pr2-claude-code
...
# Conflicts:
# .agents/notes/proposed/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml
# .agents/notes/proposed/feature/2026-08-04-claude-code-and-codex-subagent-backends.md
# .agents/notes/proposed/feature/2026-08-04-claude-code-and-codex-subagent-backends.zh.md
# docs/capability-seams.md
# docs/module-graph.md
# packages/subagent/README.i18n.yaml
# packages/subagent/README.md
# packages/subagent/README.zh.md
# scripts/gen-doc-graphs.ts
2026-08-05 06:40:45 +08:00
pku-xht
13d7318dac
Fix provider diagnostics and ownership docs
2026-08-05 06:12:42 +08:00
pku-xht
0ccd847ef3
Fix timer bounds and ACP teardown ownership
2026-08-05 05:24:23 +08:00
pku-xht
ecedbbda56
Merge commit '4cca942ed6ce3087d3cbe0f95a48209e51241254' into codex/product-providers-pr2-claude-code
2026-08-05 04:49:25 +08:00
pku-xht
075b6b0756
fix(subagent-codex): drop unused initialize metadata gate
2026-08-05 04:45:11 +08:00
pku-xht
17caa8a676
Merge commit 'a9cc0fddb40be295c43cb2badb4cbcb2b032556c' into codex/product-providers-pr2-claude-code
...
# Conflicts:
# .agents/notes/proposed/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml
# .agents/notes/proposed/feature/2026-08-04-claude-code-and-codex-subagent-backends.md
# .agents/notes/proposed/feature/2026-08-04-claude-code-and-codex-subagent-backends.zh.md
# docs/core-data-structures/subprocess.i18n.yaml
# packages/subprocess/subprocess/README.i18n.yaml
2026-08-05 04:41:27 +08:00
pku-xht
a49ef7581f
Fix Codex wire frames and bound grace timers
2026-08-05 04:21:29 +08:00
pku-xht
73f33c1ddf
Merge synchronized PR1 into Claude provider
...
# Conflicts:
# docs/capability-seams.md
2026-08-05 02:34:58 +08:00
pku-xht
c4650c0eab
Merge current master into Codex provider
...
# Conflicts:
# docs/capability-seams.md
2026-08-05 02:21:49 +08:00
pku-xht
98dc55511d
Merge PR1 DeepSeek e2e into Claude provider
...
# Conflicts:
# .agents/notes/proposed/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml
# .agents/notes/proposed/feature/2026-08-04-claude-code-and-codex-subagent-backends.md
# .agents/notes/proposed/feature/2026-08-04-claude-code-and-codex-subagent-backends.zh.md
2026-08-05 02:17:02 +08:00
Huanqi Cao
61bd42f8f9
feat(pwsh): render pwsh calls as bash-shaped terminal cards in the Web UI
...
A completed pwsh foreground call now presents as the bash tool's terminal
card with the parsed exit-status pill instead of a generic console fence,
and the collapsed row classifies as the shell family (Pwsh title). The
marker-to-exit-status parse moves from dsh-tool-bash's private render
module into the @deepseek-ai/dsh-bash seam so both shell tools share one
inverse of the marker contract (the bash-env precedent). The Web UI needs
no per-tool code: the terminal-card bridge maps any card:'terminal' view.
Coverage: dsh-bash owns the parse edge cases; the tool-pwsh presenter
suite mirrors tool-bash's; the client row-model suite pins the Pwsh shell
row; the new keyless pwsh-terminal web lane seeds an authored session,
presents it through the real tool on replay, and pins the card golden.
TUI is out of scope: the TUI package was removed (ed30088adb), so the Web
surface is the only UI the gap affected; the roadmap proposal's stage 2
is updated accordingly.
2026-08-05 02:05:06 +08:00
pku-xht
01704b9a3a
Add Codex DeepSeek credentialed e2e
2026-08-05 01:30:42 +08:00
imccyu
ca27512529
fix(packages): omit source publication payloads
2026-08-05 01:15:19 +08:00
imccyu
7557de1131
fix(packages): ship web and theme assets
2026-08-05 01:11:50 +08:00
imccyu
958e1bd157
fix(npm): harden baseline publication
2026-08-05 01:11:49 +08:00