_Kerman
e0988abc74
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.i18n.yaml
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.md
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.zh.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.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-28-remove-synthetic-log-only-turns.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-30-private-agent-send.i18n.yaml
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/compaction.i18n.yaml
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/core.md
# docs/core-data-structures/core.zh.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/llm-streaming.md
# docs/core-data-structures/llm-streaming.zh.md
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/persistence-catalog.md
# 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-glob-sampling/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/semantic-checkpoint-snapshots/tool-outcome-unknown/session.expected.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/advanced-toolchain/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/goal-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/missing-credential/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/provider-retry/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/snapshots/ralph-loop/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/bash-tool/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/bash-tool/session.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/session.jsonl
# examples/jsonrpc-agent/tests/snapshots/subagent-spawn/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/subagent-spawn/session.1.jsonl
# examples/jsonrpc-agent/tests/snapshots/subagent-spawn/session.jsonl
# examples/jsonrpc-agent/tests/snapshots/text-turn/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/text-turn/session.jsonl
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/src/client/sessions/request-inspection.ts
# packages/compact/compact-basic/README.i18n.yaml
# packages/compact/compact-basic/README.md
# packages/compact/compact-basic/README.zh.md
# packages/compact/compact-basic/src/index.ts
# packages/context/time-context/tests/time-context.spec.ts
# packages/context/tmux-context/README.i18n.yaml
# packages/context/tmux-context/tests/tmux-context.spec.ts
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.md
# packages/core/agent/README.zh.md
# packages/core/agent/src/types.ts
# packages/core/session/README.i18n.yaml
# packages/core/session/README.md
# packages/core/session/README.zh.md
# packages/fs/tool-str-replace-editor/tests/tools.spec.ts
# packages/goal/command-goal/tests/command-goal.spec.ts
# packages/goal/goal/tests/goal.spec.ts
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/tests/api-proxy-workspace.spec.ts
# packages/llm/llm/README.i18n.yaml
# packages/llm/llm/README.md
# packages/llm/llm/README.zh.md
# packages/llm/llm/src/index.ts
# packages/pty/pty-local/tests/index.spec.ts
# packages/pty/pty-local/tests/local.spec.ts
# packages/pty/pty/tests/service.spec.ts
# packages/pty/tool-bash-persistent/tests/loader-composition.spec.ts
# packages/pty/tool-bash-persistent/tests/tools.spec.ts
# packages/pty/tool-pty/tests/loader-composition.spec.ts
# packages/pty/tool-pty/tests/tools.spec.ts
# packages/session-persistence/session-checkpoint-policy/tests/crash-recovery.e2e.ts
# packages/skill/tool-skill/tests/tool-skill.spec.ts
# packages/tasks/tasks-local/tests/tasks.spec.ts
# packages/ui/tui/README.i18n.yaml
# packages/ui/tui/tests/tui.spec.ts
# packages/ui/user-approval/src/index.ts
# packages/ui/user-approval/tests/approval.spec.ts
2026-07-31 22:16:40 +08:00
_Kerman
afedf18ccf
fix inbox lifecycle downstream contracts
2026-07-31 22:00:39 +08:00
_Kerman
8e88b17c9f
fix pre-step lifecycle regressions
2026-07-31 19:40:59 +08:00
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
_Kerman
7a463dbe44
Merge branch 'master' of https://github.com/deepseek-harness/deepseek-harness into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-17-dedicated-full-screen-tui-front-door.i18n.yaml
# docs/architecture.i18n.yaml
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/core.md
# docs/core-data-structures/core.zh.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/llm-streaming.md
# docs/core-data-structures/llm-streaming.zh.md
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/src/agent.ts
# packages/core/agent/README.i18n.yaml
# packages/core/session/README.i18n.yaml
# packages/core/session/src/types.ts
# packages/llm/llm/README.i18n.yaml
# packages/llm/llm/README.md
# packages/llm/llm/README.zh.md
# packages/llm/llm/src/index.ts
# packages/llm/llm/tests/service.spec.ts
# packages/sdk/sdk-client/README.i18n.yaml
# packages/sdk/sdk-protocol/README.i18n.yaml
# packages/sdk/sdk-protocol/README.md
# packages/sdk/sdk-protocol/README.zh.md
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# packages/ui/jsonrpc/README.i18n.yaml
# packages/ui/jsonrpc/README.md
# packages/ui/jsonrpc/README.zh.md
# packages/ui/tui/src/index.ts
# python/sdk/README.i18n.yaml
# scripts/gen-cordis-catalog.ts
2026-07-31 10:16:14 +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
f9adc5a6a6
test(subagent): assert inherited runtime context
2026-07-30 23:42:36 +08:00
Yichen Jiang
daf70f3660
feat(llm-deepseek): configure max token defaults
2026-07-30 21:04:00 +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
_Kerman
250dcfd1ce
fix(jsonrpc): drain runtime before protocol exit
2026-07-30 18:27:36 +08:00
_Kerman
d1dc303bc6
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# docs/cordis-catalog/services.md
# docs/core-data-structures/session.i18n.yaml
# docs/persistence-catalog.md
# packages/cordis/tool-cordis/src/api-catalog.ts
2026-07-30 17:30:10 +08:00
_Kerman
5a0d26a0e4
test: migrate consumers to inbox and owned-run APIs
2026-07-30 17:28:03 +08:00
_Kerman
a6baddaaac
refactor: remove per-followup result attribution
2026-07-30 16:48:28 +08:00
_Kerman
4370004360
refactor(agent): expose mutable inbox state
2026-07-30 15:35:18 +08:00
Hypatia May
8527137230
refactor(session): rename the seed boundary to end-seed
2026-07-30 15:32:06 +08:00
Yichen Jiang
483199d47a
Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config
...
# Conflicts:
# apps/cli/cordis.yml
# apps/web/tests/snapshots/code-mode-round/session.jsonl
# apps/web/tests/snapshots/cordis-tool-round/session.jsonl
# apps/web/tests/snapshots/fresh-round-trip/session.jsonl
# apps/web/tests/snapshots/lifecycle-chrome/session.jsonl
# apps/web/tests/snapshots/live-interactions/session.jsonl
# apps/web/tests/snapshots/navigation-panes/seed.jsonl
# apps/web/tests/snapshots/question-composer/session.jsonl
# apps/web/tests/snapshots/seeded-history/seed.jsonl
# apps/web/tests/snapshots/steering/session.jsonl
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/settings.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# packages/client/connection/README.i18n.yaml
# packages/client/connection/src/index.ts
# packages/client/connection/tests/node-half.spec.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/tests/fake-api.ts
# packages/client/ui-models/README.i18n.yaml
# packages/examples/tui-demo/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/package.json
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/host/apiproxy/src/api/rpc.ts
# packages/llm/llm-deepseek/README.i18n.yaml
# packages/llm/llm-deepseek/README.zh.md
# packages/llm/llm-pi-ai/README.i18n.yaml
# packages/llm/llm/README.i18n.yaml
# packages/llm/llm/README.zh.md
# packages/sdk/sdk-client/README.i18n.yaml
# packages/settings/settings/README.i18n.yaml
# packages/settings/settings/README.md
# packages/settings/settings/README.zh.md
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# packages/subagent/subagent-dsh-sdk/README.zh.md
# packages/support/llm-replay/README.i18n.yaml
# packages/ui/jsonrpc/README.i18n.yaml
# packages/ui/jsonrpc/README.zh.md
# packages/ui/tui/tests/snapshots/model-selector.expected.txt
# packages/ui/tui/tests/snapshots/model-switching.expected.txt
# packages/ui/tui/tests/snapshots/resume-sessions.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics-narrow.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics.expected.txt
# packages/ui/tui/tests/tui.snapshot.ts
# pnpm-lock.yaml
# python/sdk/README.i18n.yaml
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-07-30 15:18:26 +08:00
_Kerman
c0ef93efc8
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .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.md
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md
# .agents/notes/implemented/feature/2026-07-21-tui-skill-slash-command.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-tui-skill-slash-command.md
# .agents/notes/implemented/feature/2026-07-21-tui-skill-slash-command.zh.md
# .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.md
# .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.zh.md
# docs/architecture.i18n.yaml
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/core.md
# docs/core-data-structures/core.zh.md
# docs/defensive-patterns.i18n.yaml
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/runtime/tests/queue-store.spec.ts
# packages/context/time-context/tests/time-context.spec.ts
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.md
# packages/core/agent/README.zh.md
# packages/core/agent/src/types.ts
# packages/core/agent/tests/agent.spec.ts
# packages/core/scope/src/scoped-events.generated.ts
# packages/goal/command-goal/tests/command-goal.spec.ts
# packages/goal/goal-session/src/index.ts
# packages/goal/goal-session/tests/goal-session.spec.ts
# packages/goal/goal/tests/goal.spec.ts
# packages/goal/goal/tests/projection.spec.ts
# packages/goal/tool-goal/tests/tool-goal.spec.ts
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/events.schema.ts
# packages/host/apiproxy/src/api/events.ts
# packages/host/apiproxy/tests/api-proxy-workspace.spec.ts
# packages/llm/llm/README.i18n.yaml
# packages/llm/llm/README.zh.md
# packages/llm/llm/src/index.ts
# packages/pty/pty-local/tests/index.spec.ts
# packages/pty/pty-local/tests/local.spec.ts
# packages/pty/pty/tests/service.spec.ts
# packages/pty/tool-pty/tests/loader-composition.spec.ts
# packages/pty/tool-pty/tests/tools.spec.ts
# packages/skill/tool-skill/tests/tool-skill.spec.ts
# packages/tasks/tasks-local/tests/tasks.spec.ts
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/harness.ts
# packages/ui/tui/tests/tui.spec.ts
# scripts/gen-cordis-catalog.ts
# scripts/type-equiv.manifest.json
2026-07-30 14:04:53 +08:00
_Kerman
f2e20c1ef0
refactor(agent-loop): simplify message machine
2026-07-30 13:49:57 +08:00
Hypatia May
b341155652
feat(session): project the inherited-history boundary into the log
...
A plugin owning a standalone open/close bracket cannot tell a dead marker
from a live one: an unmatched `compact/start` reads identically whether the
previous writer died mid-compaction or a compaction is running now.
`Session.firstLiveSeq` already holds that answer exactly, but only in memory.
Append the log-only `session/inherited` event at that seq from the seeded
constructor — the single waist all six seeded-start paths pass through
(resume, configured startup on a persisted id, `sessions.fork()`, a subagent
fork child, `adopt()`'s live prefix, and a bare seeded `create`). Read it
through the new `isInheritedSeq(events, seq)`.
The constructor placement means persistence needs no changes: the marker is
already in `events` when a backend captures the creation seed, so it rides
the ordinary seed path with no load-time write. It also covers fork, where
the inherited bracket's owner may still be running — the case a
persistence-layer boundary could not reach.
Activity ordering excludes the boundary through `lastActivityTime()`, since
lazy resume makes browsing a pickup and the three call sites would otherwise
float every opened session to the top of a picker or list.
2026-07-30 11:39:26 +08:00
Yichen Jiang
51415debe5
docs: bilingual config-plane documentation, regenerated catalogs, and the web-config-plane Agent Note
2026-07-30 10:53:39 +08:00
Tianyi Cui
32aaa8983e
Merge commit 'ecbf75a5e70f662b6420375140cf12eb6bac7860' into worktree/retarget-pr885-20260729
...
# Conflicts:
# docs/development.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-primitives/src/markdown/CodeBlock.tsx
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-07-29 21:37:43 +08:00
xjt
e1481e2d98
docs(i18n): resolve follow-up review findings
2026-07-29 18:38:56 +08:00
j-xiang
ed4a6fd026
docs(i18n): address automated review
2026-07-29 17:46:06 +08:00
j-xiang
5bd49b1f0e
docs(i18n): address final line audit
2026-07-29 16:53:53 +08:00
Yichen Jiang
fee12f1af0
refactor(llm-deepseek)!: rename the provider route to deepseek-official
...
The native adapter's route was named deepseek, colliding with pi-ai's
catalog provider of the same name, so the two DeepSeek paths could never
be mounted side by side. The web settings page needs both configurable at
once. Compositions, fixtures, goldens, scaffolding defaults, and docs all
move together (pre-release, no shim); TUI/session-query-spill/
missing-credential goldens re-recorded through their keyless refresh
modes because provider-name length shifts box padding and spill
truncation points.
2026-07-29 16:36:07 +08:00
j-xiang
599e6edc87
docs(i18n): record proofread README pairs
2026-07-29 15:30:44 +08:00
j-xiang
57b01e68d3
docs(i18n): proofread README translations 121-140
2026-07-29 15:29:38 +08:00
Turtle
95a995968b
refactor: migrate linting to Oxlint
2026-07-29 14:32:11 +08:00
Tianyi Cui
739647afc0
fix(subagent): publish inherited policy facts to telemetry
...
Inherited sandbox and approval events were part of the constructor seed. Session.firstLiveSeq classifies every constructor event as replayed history, so telemetry adoption skipped these child-only creation facts even though no parent or prior process had exported them.
Capture the parent overrides at the same synchronous delegation boundary, but append the events during the child factory setup while the session is still unpublished. They remain ordered after fork history, persist with the first child batch, and retain last-event-wins behavior while landing on the live side of the telemetry boundary. This uses the existing setup and session append contracts instead of adding another seed category or telemetry special case.
Add regression coverage for exporting an unpublished suffix without re-exporting constructor history, assert the spawn and fork firstLiveSeq boundaries, and restore the public seed documentation to replay/fork history only.
2026-07-29 00:39:56 +08:00
Tianyi Cui
6d389d261e
docs(policy): describe constructor-seeded inheritance
...
The implementation no longer stores inherited policy in SessionHeader or resolves a second baseline chain, but the feature, sandbox, and approval notes still described that machinery. Keeping those claims would make the smaller design look incomplete and invite reintroduction of the generic persistence surface.
Rewrite the owning feature note around the actual delegation snapshot: source-tagged policy events follow the optional fork prefix, ordinary last-event-wins folds establish precedence, and persistence captures the constructor seed with the first materialized batch. Condense the alternatives and consequences to the decisions and coverage that remain load-bearing.
Align the sandbox and approval notes plus the subagent-inprocess consumer README with that contract. Update the four Chinese counterparts minimally and re-record each pairing hash so both languages describe the same shipped mechanism.
2026-07-28 21:51:13 +08:00
Tianyi Cui
cfceb8452b
subagent: seed inherited policy events at creation
...
The parent implementation introduced sandboxMode and approvalPolicy as generic SessionHeader fields, then propagated those fields through both persistence backends, session-query indexes, collision checks, policy-specific seed-boundary folds, catalogs, and a broad test matrix. That storage plane is unnecessary: Session already accepts a validated constructor seed, and persistence captures that seed when the session is announced before committing its first batch.
Capture each parent override synchronously at delegation, append source-tagged sandbox/mode and approval/policy records after the optional fork prefix, and create the child with that combined seed. Keeping header.seedLength at the original fork-prefix length preserves lineage while ordinary last-event-wins folds make the inherited records outrank stale parent history and remain subordinate to later child switches. Unswitched parents still stamp nothing, so children continue to follow deployment defaults.
Remove the generic header fields and every persistence/query/schema branch built around them. Collapse the inheritance suite from ten leaking scenarios to four owned-context cases covering real filesystem confinement, stale fork precedence, delegation-time capture, and the no-override path. The assembled headless snapshot now asserts the persisted inheritance event directly.
This keeps the security behavior while restoring policy ownership to the existing event log and deleting the speculative durability machinery that the original tests did not exercise.
2026-07-28 21:31:17 +08:00
Tianyi Cui
afa38c4b2f
Merge latest master into subagent policy inheritance
...
Retarget the feature branch to the current master tip without rewriting its existing review history. Keeping this as a dedicated merge checkpoint makes the later simplification diff attributable to the stacked child rather than mixing base movement with design changes.
Resolve the identified-message API drift in the feature tests by constructing complete user messages, reading the nested tool-result message shape, and adapting the prompt-submit listener signature. Preserve both sides of the user-approval conflict: master’s createUserMessage wrapper and the feature’s inherited-policy attribution.
Regenerate the Cordis and persistence catalogs, re-record the session README pair, and refresh the affected ACP/headless fixtures so derived artifacts describe the merged source rather than either parent in isolation.
Validated with the focused policy/session/persistence/query suites (430 tests), focused ACP/headless snapshots (3 tests), build, doc-sync (25 gates), lint, hygiene, and git diff checks.
2026-07-28 21:11:20 +08:00
_Kerman
bc988ca4a9
Merge remote-tracking branch 'origin/master' into xtr/identified-immutable-messages
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/core-data-structures/core.i18n.yaml
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent/README.i18n.yaml
2026-07-28 18:49:23 +08:00
kingwl
2f93614efb
Merge remote-tracking branch 'origin/master' into feature/subagent-policy-inheritance
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/subagent/subagent-inprocess/README.i18n.yaml
2026-07-28 18:37:46 +08:00
kingwl
d69e1ada97
Merge remote-tracking branch 'origin/master' into feature/subagent-policy-inheritance
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# docs/cordis-catalog/services.md
# docs/core-data-structures/persistence.i18n.yaml
# docs/persistence-catalog.md
# packages/core/session/README.i18n.yaml
# packages/sandbox/sandbox-policy/README.i18n.yaml
# packages/subagent/subagent-inprocess/README.i18n.yaml
2026-07-28 18:19:30 +08:00
Yichen Jiang
fd01fef6b7
test(sdk): satisfy max tokens gates
2026-07-28 18:06:58 +08:00
Yichen Jiang
5358168787
feat(sdk): support max output tokens
2026-07-28 17:36:44 +08:00
_Kerman
019b0abb68
Merge remote-tracking branch 'origin/master' into xtr/identified-immutable-messages
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.i18n.yaml
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# packages/core/session/README.i18n.yaml
# packages/session-title/session-title/tests/persistence.spec.ts
2026-07-28 15:45:53 +08:00
_Kerman
cee0666a4d
refactor(session): remove synthetic log-only turns
2026-07-28 14:41:51 +08:00
_Kerman
350c296cff
fix: complete immutable message migration
2026-07-28 14:15:23 +08:00
_Kerman
fbf87e660c
refactor: identify and freeze messages at creation
2026-07-28 13:55:59 +08:00
kingwl
bc3e776225
Merge remote-tracking branch 'origin/master' into feature/subagent-policy-inheritance
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# docs/cordis-catalog/services.md
# docs/persistence-catalog.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/core/session/README.i18n.yaml
# packages/subagent/subagent-inprocess/README.i18n.yaml
# packages/ui/user-approval/src/index.ts
2026-07-28 11:19:46 +08:00
Tianyi Cui
fe22273e28
fix(agent-loop): await final session flush
2026-07-27 23:41:27 +08:00
Tianyi Cui
cb12fa7b90
fix(subagent): align SDK stop reasons after master merge
2026-07-27 23:08:16 +08:00
Tianyi Cui
7f333d8837
Merge branch 'master' into sdk/ts-client-and-subagent
2026-07-27 22:41:23 +08:00
Tianyi Cui
ed8f9c2808
refactor: rename the backend to dsh-subagent-dsh-sdk
...
The group's convention is package suffix == provider default
(subagent-acp/'acp', subagent-spawn/'spawn', subagent-fork/'fork'), and the
provider default became dsh-sdk in the last review round — so the package
follows: @deepseek-ai/dsh-subagent-dsh-sdk at
packages/subagent/subagent-dsh-sdk, plugin name subagent-dsh-sdk,
diagnostics prefixed subagent-dsh-sdk:. The dsh echo has precedent
(dsh-llm-deepseek). Directory, fixture path, knip/tsconfig/examples
registrations, catalogs, READMEs (en+zh), and the Agent Note follow; the
sdk-client dispose ladder moves to its own module (src/dispose.ts) with the
deterministic FakeChild tier tests restored alongside it.
2026-07-27 22:17:10 +08:00
Tianyi Cui
87a249106f
Merge origin/master: port the SDK stack onto the subprocess seam
...
Master's #660 replaced dsh-subagent-subprocess with the dsh-subprocess
capability seam (ctx.subprocess + scrubbedParentEnv, tree-scoped teardown)
and moved subagent-acp onto it. Convergence for this branch's packages:
- The shared out-of-process provider vocabulary this branch had grown in
the deleted library (NO_START_CAPABILITIES, assertPositiveFinite, cwd
resolution, settleRunResult, subprocessRunHandle) moves into the subagent
seam package as out-of-process.ts — it enforces subagent-seam contracts,
not process mechanics, and both out-of-process backends now import it
from there (subagent-acp keeps master's shape otherwise).
- subagent-sdk spawns THROUGH the SDK client (the subprocess README's
documented exception for SDK-managed transports) and now applies the
seam's scrubbedParentEnv() + explicit-env merge in place of the deleted
buildChildEnv.
- sdk-client inlines the EOF→SIGTERM→SIGKILL ladder as private helpers (it
runs outside any harness context, so it cannot ride ctx.subprocess).
- The child harness fixture gains the now-required dsh-subprocess-local
entry for bash-local; the fixture cordis.yml keeps exercising the
shipped provider default.
2026-07-27 21:52:40 +08:00
_Kerman
c6073f07c2
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/core-data-structures/core.i18n.yaml
2026-07-27 19:55:55 +08:00
kingwl
63183b2f5d
Merge remote-tracking branch 'origin/master' into feature/subagent-policy-inheritance
...
# Conflicts:
# docs/module-graph.md
2026-07-27 19:46:19 +08:00
Tianyi Cui
6c8bf0a522
fix: address human review — default providerName dsh-sdk; raise composition-e2e deadline
...
- subagent-sdk: the default registry name becomes `dsh-sdk` (the bare
`sdk` read ambiguously in configs); READMEs, config catalog, fixture,
and suites follow. The Loader fixture now omits providerName to exercise
the shipped default end to end.
- loader-composition.e2e: two full harness runtimes boot in sequence, so
the default 30s loader-smoke window times out under host load; raise the
subprocess deadline to 120s with matching vitest headroom (the
real-model.e2e precedent).
2026-07-27 18:25:18 +08:00