NI0317
4e1ccebfff
Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context
...
# Conflicts:
# examples/acp-agent/tests/goal-snapshots/goal-session/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/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/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-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-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-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/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/core/agent-loop/src/agent.ts
2026-07-31 11:02:45 +08:00
imccyu
119cc05577
fix: docs/static
2026-07-31 02:13:53 +08:00
imccyu
1e10966ef6
wip
...
fix: docs
2026-07-31 02:13:53 +08:00
Tianyi Cui
464a57d3ca
Merge commit 'refs/codex/pr1006/master' into worktree/pr1006-merge-20260731
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/headless-agent/cordis.yml
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/llm/llm-deepseek/README.i18n.yaml
# packages/llm/llm-deepseek/README.md
# packages/llm/llm-deepseek/README.zh.md
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-deepseek/src/index.ts
# packages/llm/llm-deepseek/tests/adapter.spec.ts
# packages/llm/llm/README.i18n.yaml
# packages/llm/llm/README.md
# packages/llm/llm/README.zh.md
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# packages/ui/jsonrpc/README.i18n.yaml
2026-07-31 01:55:19 +08:00
NI0317
99aff882dc
Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/web-fetch/session.jsonl
2026-07-31 00:33:13 +08:00
Yichen Jiang
c580b1b634
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-31 00:32:59 +08:00
Yichen Jiang
e8c550d0e5
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
2026-07-31 00:31:42 +08:00
Yichen Jiang
f64026d7e3
Merge latest master into worktree-llm-dynamic-config
2026-07-31 00:31:06 +08:00
NI0317
db24140dad
Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context
2026-07-31 00:10:48 +08:00
Yichen Jiang
39072f8c58
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-31 00:07:11 +08:00
Yichen Jiang
307fea8ae9
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
2026-07-31 00:06:29 +08:00
Yichen Jiang
1ff8bb3422
Merge latest master into worktree-llm-dynamic-config
2026-07-31 00:05:13 +08:00
Tianyi Cui
7353fc2593
Merge remote-tracking branch 'origin/master' into worktree/pr975-retarget-20260730
2026-07-31 00:05:08 +08:00
Tianyi Cui
8eb743a93b
Merge remote-tracking branch 'origin/master' into worktree/pr975-retarget-20260730
2026-07-30 23:55:45 +08:00
imccyu
7c086e40be
Merge branch 'master' into worktree/plan-review-layout
2026-07-30 23:48:19 +08:00
NI0317
e1c09e6620
Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context
2026-07-30 23:46:12 +08:00
Yichen Jiang
b05b0a80fd
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-30 23:33:14 +08:00
Yichen Jiang
8c0d626cd5
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
...
# Conflicts:
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# packages/client/runtime/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
2026-07-30 23:32:31 +08:00
Yichen Jiang
9ebf7424f7
Merge latest master into worktree-llm-dynamic-config
2026-07-30 23:28:58 +08:00
Yichen Jiang
54c60f4079
fix(llm,settings): refuse post-disposal route replacement and teardown notifications
...
Two lifecycle holes the registry and the consumer helper left open.
`AdapterRegistrationHandle.replace` had no liveness guard: after the handle's
disposer ran, a replace put routes back into the registry with nothing left to
release them, so the adapter leaked permanently. `owned` being empty cannot
carry that fact, because `replace([])` is the legal empty-section state, so the
disposer records it explicitly.
`installSettingsSection`'s watcher lacked the guard its own disposer carries:
a stored change landing while the consumer unloads reached `onChange`, which
re-registers routes against a fiber whose resources are being released.
Also documents `withFileLock` in the atomic-write README (it claimed one
export), records the age-based lock takeover as a known limitation, and lists
ctx.settings and ctx.credentials in the architecture capability table.
2026-07-30 23:23:18 +08:00
Yichen Jiang
55ae4751b7
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-30 22:21:05 +08:00
Tianyi Cui
9a0ee6fbfe
Merge branch 'master' into worktree/deepseek-max-tokens-defaults
2026-07-30 22:20:47 +08:00
Yichen Jiang
015b065e9d
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
...
# Conflicts:
# apps/web/tests/scaffold.ts
2026-07-30 22:19:53 +08:00
Yichen Jiang
80c36ff0d3
Merge latest master into worktree-llm-dynamic-config
2026-07-30 22:18:16 +08:00
NI0317
cef62c007d
Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context
2026-07-30 22:16:50 +08:00
Tianyi Cui
b5f5a01dcb
Merge remote-tracking branch 'origin/master' into worktree/pr798-retarget-config-20260730
2026-07-30 22:14:08 +08:00
creatixchu
1102cfc1f3
Merge remote-tracking branch 'origin/master' into worktree/plan-review-layout
2026-07-30 22:10:56 +08:00
NI0317
8b4cbe4293
feat(system-prompt): cache dynamic policy context
2026-07-30 22:09:15 +08:00
Chinesezjc
ec0d3c2359
Merge remote-tracking branch 'origin/master' into feat/web-presenter
2026-07-30 21:55:37 +08:00
Yichen Jiang
02b8529405
Merge origin/master into worktree/deepseek-max-tokens-defaults
...
# Conflicts:
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# packages/core/session/README.i18n.yaml
2026-07-30 21:55:07 +08:00
Yichen Jiang
e5d7fa4cef
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-30 21:52:25 +08:00
Yichen Jiang
5fd34f9109
fix(agent-loop): rematerialize adapter defaults
2026-07-30 21:49:58 +08:00
Yichen Jiang
cd6027125c
Merge latest master into worktree-llm-dynamic-config
2026-07-30 21:49:30 +08:00
Yichen Jiang
a5e0c5e7e7
Merge latest master into worktree-llm-web-config
...
# Conflicts:
# packages/host/apiproxy/README.i18n.yaml
2026-07-30 21:45:55 +08:00
creatixchu
ddc4adb7a3
Merge remote-tracking branch 'origin/master' into feat/dir-selector-adaptive-default
2026-07-30 21:42:30 +08:00
Tianyi Cui
ec9ff784fa
Merge remote-tracking branch 'origin/master' into feature/directory-listing-tool
2026-07-30 21:41:25 +08:00
Tianyi Cui
99db7e8fc3
Merge remote-tracking branch 'origin/master' into feature/directory-listing-tool
2026-07-30 21:35:08 +08:00
Chinesezjc
00c264fa50
Merge remote-tracking branch 'origin/master' into feat/web-presenter
2026-07-30 21:29:05 +08:00
creatixchu
8d864c9549
Merge remote-tracking branch 'origin/master' into feat/dir-selector-adaptive-default
2026-07-30 21:22:28 +08:00
Tianyi Cui
81e5eb9800
Merge latest master into worktree-config-settings-seam
2026-07-30 21:21:35 +08:00
Yichen Jiang
9ea613d859
fix(docs): drop the withdrawn sandbox-policy paths edge from the module graph
...
The sandbox read-deny mitigation was withdrawn, so sandbox-policy no longer
imports dsh-paths; the recorded graph still claimed the edge.
2026-07-30 21:18:50 +08:00
Tianyi Cui
6777e4fab9
fix(fs-search): make glob sampling an explicit choice
2026-07-30 21:14:03 +08:00
Yichen Jiang
daf70f3660
feat(llm-deepseek): configure max token defaults
2026-07-30 21:04:00 +08:00
Tianyi Cui
21e8af2b3a
Merge remote-tracking branch 'origin/master' into feature/directory-listing-tool
...
# Conflicts:
# packages/fs/tool-fs-search/README.i18n.yaml
# packages/fs/tool-fs-search/README.zh.md
2026-07-30 20:56:27 +08:00
Yichen Jiang
b6130b178d
Merge remote-tracking branch 'origin/worktree-llm-web-config' into worktree/onboarding-deepseek-config
...
# Conflicts:
# packages/client/ui-models/README.i18n.yaml
# packages/client/ui-models/README.md
# packages/client/ui-models/README.zh.md
# packages/client/ui-models/src/client/store.ts
# packages/client/ui-models/tests/components.spec.tsx
2026-07-30 20:55:12 +08:00
Yichen Jiang
3957ce007a
Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config
...
# Conflicts:
# apps/cli/cordis.yml
# apps/cli/package.json
# apps/cli/tests/tui-keyless-smoke.e2e.ts
# apps/web/tests/details-session-lifecycle.e2e.ts
# apps/web/tests/snapshots/code-mode-round/ui.expected.md
# apps/web/tests/snapshots/cordis-tool-round/ui.expected.md
# apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/hero.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/reloaded.expected.md
# apps/web/tests/snapshots/live-interactions/cancel.expected.md
# apps/web/tests/snapshots/live-interactions/error-auth.expected.md
# apps/web/tests/snapshots/live-interactions/retry.expected.md
# apps/web/tests/snapshots/message-actions/ui.expected.md
# apps/web/tests/snapshots/question-composer/answered.expected.md
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# apps/web/tests/snapshots/steering/mid-steer.expected.md
# apps/web/tests/snapshots/steering/settled.expected.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/user/guide/config.i18n.yaml
# docs/user/guide/config.md
# docs/user/guide/config.zh.md
# docs/user/guide/index.i18n.yaml
# docs/user/guide/index.md
# docs/user/guide/index.zh.md
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/cordis-agent/cordis.yml
# examples/cordis-agent/tests/cordis-tools.e2e.ts
# examples/headless-agent/tests/semantic-checkpoint-snapshots/tool-outcome-unknown/session.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/tui-agent/code-mode.cordis.yml
# examples/tui-agent/cordis.yml
# packages/examples/tui-demo/README.md
# packages/examples/tui-demo/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/pty/tool-bash-persistent/README.i18n.yaml
# packages/ui/tui/tests/snapshots/status-diagnostics-narrow.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics.expected.txt
# pnpm-lock.yaml
# scripts/snapshots/python-sdk-single-exe/advanced/result.json
# scripts/snapshots/python-sdk-single-exe/advanced/session.1.jsonl
# scripts/snapshots/python-sdk-single-exe/advanced/session.2.jsonl
# scripts/snapshots/python-sdk-single-exe/advanced/session.jsonl
2026-07-30 20:15:40 +08:00
Chinesezjc
cc1bba31d8
fix(tool-web): align fetch card truncation, drop view content copies, sync card docs
...
Address the code-review bot findings on the web result card:
- web_fetch's card truncated now derives from the shared renderFetchOutput
helper, matching the effective truncation the model-facing text reflects
(provider cap, source cut, or output cap), instead of the provider-only flag.
- Drop the redundant content copy from both web result views; a UI without the
web capability falls back to the raw tool/result content. Narrow the TUI
transcript view.content access accordingly.
- Set the result-state title from the call args (query/url) so a window-
truncated replay keeps a title.
- Project meta from the seam result types rather than hand-rolled value types.
- Sync the card vocabulary across core tools README, docs/core-data-structures,
the adding-a-tool cookbook, and the tool-web package README (both languages,
re-recorded pairings); regenerate the cordis api-catalog and cordis-inspect
snapshot; revise the Agent Note.
2026-07-30 20:01:41 +08:00
Hypatia May
fe97451604
Merge remote-tracking branch 'origin/master' into fix/human-transcript-projection
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-17-dedicated-full-screen-tui-front-door.i18n.yaml
# docs/cordis-catalog/services.md
# packages/host/apiproxy/README.i18n.yaml
# packages/ui/tui/README.i18n.yaml
2026-07-30 19:57:49 +08:00
Yichen Jiang
eae4219e04
Merge branch 'worktree-config-settings-seam' into worktree-llm-dynamic-config
...
# Conflicts:
# apps/cli/README.i18n.yaml
# apps/cli/composition.md
# apps/cli/config/base.cordis.yml
# apps/cli/src/app-cli-entry.ts
# apps/cli/src/tui.ts
# apps/cli/tests/tui-keyless-smoke.e2e.ts
# examples/package.json
# packages/ui/app-boot/README.i18n.yaml
# packages/ui/app-boot/README.md
# packages/ui/app-boot/README.zh.md
# pnpm-lock.yaml
# python/sdk-runtime/package.json
2026-07-30 19:46:04 +08:00
creatixchu
6d7bd7e703
fix(web): keep the plan card to decisions it can actually answer
...
Review follow-ups on the presentation intent.
The card claimed any single-question request declaring the intent, then sent one
of two labels — so a producer offering a third option, or a multi-select batch,
lost answers the generic flow would have shown. That contradicts the intent's
own contract, so `planReviewOf` now claims only a binary single choice and
leaves everything else to the flow that can express it.
`ask()` also rejects a plan-review intent on a question with no `detail`: the
intent declares detail IS the plan, and without one a honouring UI asks the
user to approve something invisible. The client keeps its own fallback — it sits
downstream of a wire boundary — but the misconfiguration now fails at the asker.
`planReviewOf` stops being a value export of the client contract face (client
export discipline: pure helpers stay internal; the tests already import it
relatively), and the ui-question README fallback list, both languages, now
states every condition the code enforces.
2026-07-30 19:38:18 +08:00