fz
020f7b4493
Merge codex/fix-compact-agents-reinjection into codex/fix-resume-baseline-dedup
2026-08-05 13:23:00 +08:00
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
Turtle
9d9b547d55
docs: refresh telemetry module graph
2026-08-05 12:56:04 +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
Yichen Jiang
f50b60390c
docs: regenerate the module graph for the environment package
...
`dsh-environment` and its consumer edges were missing from the
generated graph.
2026-08-05 12:49:05 +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
Yichen Jiang
33e3871c77
Merge remote-tracking branch 'origin/master' into claude/unified-environment-credentials-c8841a
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.zh.md
# .agents/notes/implemented/architecture/2026-07-29-request-level-llm-config-credentials.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.i18n.yaml
# apps/cli/package.json
# apps/cli/src/web.ts
# examples/mcp-memory/README.i18n.yaml
# packages/cordis/repository-plugin/README.i18n.yaml
# packages/credentials/credentials-local/README.i18n.yaml
# packages/credentials/credentials-local/README.zh.md
# packages/llm/llm-deepseek/README.i18n.yaml
# packages/web/web-search-deepseek/README.i18n.yaml
2026-08-05 12:40:20 +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
imccyu
e61839a6ab
fix(session): refresh Session.create artifacts
2026-08-05 11:57:17 +08:00
imccyu
1832df038d
docs(session): document creation ownership boundaries
2026-08-05 11:57:17 +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
Huanqi Cao
838e3c8cd9
fix(web): probe pwsh through the executor's path resolution
...
The pwsh-terminal e2e probed the bare 'pwsh' literal, which knip flagged as
an unlisted binary. Reuse resolvePwshPath from @deepseek-ai/dsh-pwsh-local
(the judgment the tool-pwsh tests already use), so the probe matches the
executor's own resolution and the reference stays indirect; record mode
skips the lane anyway, so the probe stays inert there. Regenerate the
cordis and config catalogs the seam moves left stale (line-number shifts).
2026-08-05 11:42:43 +08:00
Yichen Jiang
590b76a7f0
fix(config): close the review findings on configuration source ownership
...
Two had real security consequences:
The bootstrap rejection ran on npm dotenv's parser while process.loadEnvFile
applied the file with Node's own. Two independently maintained dialects meant
the check and the thing it guards could disagree: a name Node accepts but the
checker misses would reach process.env unchecked, and BASH_ENV there runs a
file of the project's choosing on every `bash -c` the bash tool issues. Parse
once with node:util's parseEnv — the same engine loadEnvFile uses — and assign
the entries already checked, which also drops the dotenv dependency.
llm-pi-ai still returned a literal profile.apiKey ahead of everything, and it
registers a settings namespace, so the defect removed from llm-deepseek
survived intact in its design twin. The field is gone from the profile schema,
the resolution path, and the tests.
The rest are consistency and documentation defects the review named:
- verify-config-source-ownership did not scan the Python runtime's bundled
cordis.yml, which still inlined apiKey and baseURL. Both are covered now, and
the line-anchored INLINE_DENY documents that it is a tripwire, not a parser.
- The deny list missed NODE_TLS_REJECT_UNAUTHORIZED, the askpass hooks, the
GIT_CONFIG_* redirections, and PYTHONHOME — all implied by its own stated
rule about what a variable does.
- Snapshot lookups folded case on Windows, where environment names are
case-insensitive and an exact-match Map could miss a higher-ranked layer.
- The credentials note claimed a read-time permission check was "not taken"
while this PR implemented it; the credentials-local README still described
two layers, live process.env reads, dotenv-era limitations, and a renamed
anchor; the llm-deepseek README still advertised the removed literal apiKey;
and web.ts and base.cordis.yml kept personal-overlay wording.
- The ownership note's literal-apiKey claim now names its scope: the
web-search providers keep a literal field but register no settings
namespace, so nothing can shadow a stored credential through them.
2026-08-05 11:18:06 +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
_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
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
e2b73d278c
Regenerate module graph
2026-08-05 05:34:32 +08:00
pku-xht
0ccd847ef3
Fix timer bounds and ACP teardown ownership
2026-08-05 05:24:23 +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
imccyu
ca27512529
fix(packages): omit source publication payloads
2026-08-05 01:15:19 +08:00
pku-xht
96d6853a96
Preserve Claude SDK child environment
2026-08-05 01:07:58 +08:00
fz
119c55e35e
fix(workspace-context): reconcile resumed baselines
2026-08-04 23:11:15 +08:00
pku-xht
606a65740f
Merge commit 'ba21ca122496e1038993378753de863e571cdc2a' into codex/product-providers-pr2-claude-code
2026-08-04 22:52:07 +08:00
pku-xht
a93968bf93
fix(subagent-codex): await managed tree exit
2026-08-04 22:36:31 +08:00
pku-xht
32f829c4e6
fix(subagent): complete product provider lifecycle
2026-08-04 22:18:35 +08:00
_Kerman
e50c4aca03
refactor(agent-loop): start waking work directly
2026-08-04 21:02:28 +08:00
pku-xht
be56f64b7a
feat(subagent): add Claude Code provider
2026-08-04 20:57:55 +08:00
xjt
782d84116a
docs(i18n): restore first-occurrence terminology
2026-08-04 20:54:42 +08:00
Huanqi Cao
acda0e39bc
Merge remote-tracking branch 'origin/master' into feat/pwsh-tool
2026-08-04 20:39:17 +08:00
fz
207c45d15f
fix(workspace-context): deduplicate baseline on resume
2026-08-04 19:55:27 +08:00
xjt
c522053cef
Merge origin/master into xjt/proofreading-active-docs-2-apply
2026-08-04 19:51:18 +08:00
_Kerman
674278cb17
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# packages/client/ui-conversation/src/client/queue/QueueDock.tsx
2026-08-04 19:37:51 +08:00
Hypatia May
cc89c529c6
Merge remote-tracking branch 'origin/master' into fix/landlock-runner-failure-classification
2026-08-04 19:05:33 +08:00
xjt
edb3e82c35
docs(i18n): address proofreading review findings
2026-08-04 18:42:13 +08:00
pku-xht
c09b20f96b
fix(subagent): finalize Codex provider composition
2026-08-04 18:38:05 +08:00
pku-xht
8a24a68333
Merge origin/master at 52ec34f796
2026-08-04 18:01:22 +08:00