Yichen Jiang
73e7e27799
refactor(llm): resolve model metadata together
2026-07-26 13:07:27 +08:00
_Kerman
af3311e1f6
test: close per-file coverage gaps opened by the message-machine refactor
...
Downstream packages lost the tests that exercised their agent-loop-facing
edges when the loop was rewritten. Restore 100% per-file coverage with
behavior tests through public seams: llm-retry config validation and
cancellation races, goal replay drift/staleness/teardown edges, plan-mode
disposed-flush, workspace-context empty-change commits, api-proxy
synchronous send failures, acp-snapshot spill-path extraction and refresh
write-back, ACP injection-triggered turns, cli-demo and tui inbox
lifecycle edges, and agent-loop retry/settlement/lifecycle branches.
The only source changes are narrowly-justified v8 ignore annotations on
invariant guards and one redundant-guard removal (workspace-context).
2026-07-26 11:49:19 +08:00
Tianyi Cui
226dc7a249
docs: translate remaining READMEs
2026-07-26 05:06:39 +08:00
Tianyi Cui
07770f90f9
Merge remote-tracking branch 'origin/master' into web-e2e-interactions
...
# Conflicts:
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.md
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.zh.md
# apps/web/tests/scaffold.ts
2026-07-26 04:10:37 +08:00
Tianyi Cui
bb0bcf6250
fix(llm): honor a carried failure snapshot on any Error
...
markLlmAdapterFailure gated the own-`failure` data property on instanceof
HarnessError, which drops the validated facts exactly when class identity is
lost — two copies of this package in one process (e.g. a source-plane replay
harness throwing into a lib-plane boot) make the replay-thrown LlmError's
SERVER/AUTH code arrive as UNKNOWN and defeat llm-retry's retryable-code
match. The snapshot is already validated field-by-field and cross-checked
against the error's own code, so honor it on any Error.
2026-07-26 03:28:13 +08:00
Turtle
61eb2014a2
Merge remote-tracking branch 'origin/master' into codex/provider-retry-policy
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/config-catalog.md
# packages/support/llm-replay/README.md
2026-07-26 01:40:19 +08:00
Turtle
19a1aec89e
refactor(llm-retry): simplify policy history validation
2026-07-26 01:16:41 +08:00
Yichen Jiang
baea5018e5
fix(llm): bind reasoning resolution to adapter lifecycle
2026-07-25 22:59:45 +08:00
Yichen Jiang
badf7d1c63
fix(llm-mock-server): harden fault boundaries
2026-07-25 22:45:58 +08:00
Yichen Jiang
5446714177
Merge branch 'master' into worktree/llm-mock-fault-server
2026-07-25 22:27:29 +08:00
Yichen Jiang
478376acaf
Merge remote-tracking branch 'origin/master' into worktree/llm-reasoning-effort
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-17-dedicated-full-screen-tui-front-door.i18n.yaml
# docs/architecture.i18n.yaml
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
2026-07-25 22:24:25 +08:00
Turtle
5345e93ceb
Merge remote-tracking branch 'origin/master' into codex/provider-retry-policy
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# packages/llm/llm-retry/README.md
# packages/llm/llm-retry/src/index.ts
# packages/llm/llm-retry/tests/retry.spec.ts
2026-07-25 16:05:05 +08:00
Turtle
efc725b7e4
fix(llm): isolate retry policy histories
2026-07-25 15:38:58 +08:00
Tianyi Cui
9873240390
fix: align empty-response retry with current master
2026-07-25 14:39:57 +08:00
Turtle
38ce422f71
fix(llm): drain delegated retry recovery
2026-07-25 14:23:55 +08:00
Tianyi Cui
4d9cf310f3
Merge origin/master into feat/llm-empty-response-retry
2026-07-25 14:22:46 +08:00
Turtle
da54a61639
Merge remote-tracking branch 'origin/master' into codex/provider-retry-policy
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/examples/acp-demo/README.md
# packages/llm/llm-deepseek/README.md
# packages/ui/acp/src/index.ts
# packages/ui/acp/tests/stream-update.spec.ts
2026-07-25 13:38:09 +08:00
Turtle
015ba14bae
fix(llm): preserve serving retry policy
2026-07-25 13:30:34 +08:00
Tianyi Cui
c429ef0e95
Merge branch 'master' into feat/llm-empty-response-retry
2026-07-25 13:05:55 +08:00
Turtle
c1f148ce7f
fix(llm): preserve retry routes across turns
2026-07-25 10:49:48 +08:00
Turtle
4c6618c26d
test(llm): adapt retry coverage to followup API
2026-07-25 10:36:03 +08:00
Turtle
a193ea7092
Merge origin/master into codex/provider-retry-policy
2026-07-25 10:35:22 +08:00
Turtle
b58e33268a
feat(llm): add per-provider retry policies
2026-07-25 10:18:16 +08:00
Yichen Jiang
83cccd7ffc
feat(llm): add scriptable mock fault server
2026-07-25 08:20:51 +08:00
Yichen Jiang
1c66759235
Merge origin/master into worktree/llm-reasoning-effort
2026-07-25 07:59:21 +08:00
Yichen Jiang
8372340f9c
feat(llm): add model-specific reasoning effort controls
2026-07-25 07:47:51 +08:00
Tianyi Cui
440384fdb4
Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-14-session-persistence.md
# .agents/notes/implemented/architecture/2026-06-20-package-hierarchy.md
# .agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.md
# .agents/notes/implemented/feature/2026-06-14-acp-agent-client-protocol.md
# .agents/notes/implemented/feature/2026-06-14-acp-multi-session.md
# .agents/notes/implemented/feature/2026-06-18-acp-terminal-and-tool-rendering.md
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.md
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.zh.md
# .agents/notes/implemented/simplification/2026-07-04-trim-acp-bridge-unreachable-surface.md
# docs/architecture.i18n.yaml
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/cookbook/extension-cookbook.md
# docs/cookbook/extension-cookbook.zh.md
# docs/core-data-structures/approval.md
# docs/core-data-structures/user-interaction.md
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# docs/testing.md
# docs/tool-catalog.md
# examples/acp-agent/tests/fixtures/live-mode-switching-2026-07-07.session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/permission-switching/session.jsonl
# packages/goal/tool-goal/README.md
# packages/ui/acp/README.md
# packages/ui/acp/acp-feature-support.md
# packages/ui/acp/src/index.ts
# packages/ui/acp/tests/bridge.spec.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/acp/tests/edges.spec.ts
# packages/ui/acp/tests/turns.spec.ts
2026-07-24 23:43:10 +08:00
_Kerman
992cf894af
refactor(agent): unify sourced message delivery
2026-07-24 22:38:50 +08:00
_Kerman
009d113e0e
refactor(agent): trim obsolete loop surfaces
2026-07-24 21:58:07 +08:00
_Kerman
b73eb7663c
refactor(agent-loop): simplify observable state machine
2026-07-24 21:18:48 +08:00
Turtle
207aab9d8d
fix(llm): classify empty model completions as retryable EMPTY_RESPONSE
...
A well-formed provider stream that ends with finish_reason stop and zero
content blocks previously became a successful empty assistant message: the
turn completed silently, and drivers like goal-session counted the no-op
round. Both adapters now map that degenerate completion to a finish
{kind:'error'} with the new canonical EMPTY_RESPONSE code from dsh-llm, and
dsh-llm-retry adds the code to its default retryable set, so the existing
closed-step recovery path retries it and fails loud once the budget is
exhausted.
Covered by adapter unit tests, an llm-retry default-policy test, and a new
authored keyless ACP snapshot (empty-response-retry) with a deterministic
1 ms zero-jitter retry overlay.
2026-07-24 19:23:12 +08:00
Turtle
bb124c2869
Merge branch 'master' into feat/send-unify
2026-07-24 16:31:00 +08:00
Turtle
b02b438667
refactor(agent): align delivery method names
2026-07-24 15:08:36 +08:00
Yichen Jiang
208a44a7ec
feat(web): add session model selector
2026-07-24 14:55:54 +08:00
Tianyi Cui
d07875947b
Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol
...
# Conflicts:
# packages/examples/acp-demo/README.md
2026-07-24 11:50:56 +08:00
Tianyi Cui
e819a586b0
refactor(acp): reduce bridge to automation protocol
2026-07-24 01:40:25 +08:00
Tianyi Cui
7a09ca8cd2
Merge remote-tracking branch 'origin/master' into worktree/pr540-merge-master-20260723
2026-07-23 22:34:49 +08:00
Tianyi Cui
7e27f1b00f
Merge remote-tracking branch 'origin/master' into worktree/web-session-titles
2026-07-23 18:40:13 +08:00
Tianyi Cui
f666c39379
fix(web): generate model-backed session titles
2026-07-23 18:20:17 +08:00
Yichen Jiang
6d7e4c339d
feat(llm): add default context window fallback
2026-07-23 11:51:52 +08:00
Tianyi Cui
e35a419ba8
fix(code-mode): keep deep host boundaries iterative
2026-07-23 00:30:36 +08:00
Tianyi Cui
54bc084e5d
Merge refreshed schema DSL into canonical tool output
...
# Conflicts:
# docs/config-catalog.md
# 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
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/core/tools/tests/tools.spec.ts
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/tui.snapshot.ts
2026-07-22 21:31:16 +08:00
Tianyi Cui
78c2741d3e
Merge remote-tracking branch 'origin/master' into worktree/pr504-retarget-latest-master
...
# Conflicts:
# docs/event-producer-consumer.md
# examples/tui-agent/README.md
# examples/tui-agent/composition.md
# examples/tui-agent/cordis.yml
# examples/tui-agent/tests/snapshots/multi-turn-conversation/terminal.expected.txt
# examples/tui-agent/tests/tui-keyless-smoke.e2e.ts
# packages/ui/tui/README.md
# vitest.config.ts
2026-07-22 20:55:12 +08:00
Tianyi Cui
b44f8539e6
Merge latest master into tui-staging-merge-1
2026-07-22 20:45:24 +08:00
kingwl
fd5a76160d
Merge remote-tracking branch 'origin/master' into feat/plan-mode
...
17 master merges (GUI host/web stack, compact header, dshweb, fast local
hooks, windows coverage skips, worktree runtime). Conflicts:
- packages/ui/user-interaction/src/index.ts: master extracted the question
types to types.ts; took the re-export and grafted our detail field (the
plan-review payload) into the extracted AskUserQuestionItem.
- generated catalogs regenerated over both sides.
The module graph crossed mermaid's default 500-edge render guard with the
GUI packages plus our plan-mode edges; raised maxEdges in verify-mermaid
(a secure config settable only at initialize).
Note: the remote branch also renamed packages/mode -> packages/plan
(PR #512 plan-mode-simplification, fast-forwarded before this merge).
2026-07-22 19:42:14 +08:00
Tianyi Cui
93f1610eb7
Merge latest schema DSL base into canonical tool output
2026-07-22 19:11:04 +08:00
Yichen Jiang
5234a40f9c
refactor(llm): classify auxiliary request purpose
2026-07-22 18:59:49 +08:00
Tianyi Cui
26166658e2
Merge branch 'master' into jhz_compact_header
2026-07-22 18:45:05 +08:00
Jinhua Zhu
66e5f8eecd
feat(llm): mark compaction requests with x-deepseek-harness-compact header
2026-07-22 18:35:32 +08:00
Tianyi Cui
4cd5f21c08
Merge branch 'codex/tool-json-schema-dsl' into codex/canonical-tool-output
2026-07-22 17:05:38 +08:00