KDB and Xubin Ren
480c8dd744
fix(providers): preserve retry metadata for raised errors
2026-09-03 18:31:35 +08:00
KDB and Xubin Ren
b321c63e1a
test(fallback): classify authentication exception messages
2026-09-03 18:31:35 +08:00
KDB and Xubin Ren
18d1a325b6
fix(providers): apply fallback policy to raised errors
2026-09-03 18:31:35 +08:00
LostInTwilight and Xubin Ren
eddfa0dd6b
fix(tool_hints): respect max_length for plain (non-path/non-command) tool values
...
Plain tool values (grep patterns, web_search/x_search queries, find_files
globs) were never truncated by format_tool_hints(), so long arguments
overflowed tool_hint_max_length and were pushed to chat/UI verbatim.
Add a hard-truncation fallback for the plain branch, mirroring the existing
truncation used by abbreviate_path / _abbreviate_command. This completes the
same class of fix started in 99209a80 for is_path tools.
Adds 4 regression tests to tests/agent/test_tool_hint.py.
2026-09-03 17:18:21 +08:00
chengyongru and GitHub
d81aa5a4ab
refactor(agent): let runner own context compaction ( #5568 )
...
* refactor(agent): consolidate accepted history under pressure
* fix(agent): align provider and session compaction
* refactor(agent): simplify runner context compaction
* refactor(agent): remove background token consolidation
* fix(agent): keep injected transcript messages distinct
* refactor(agent): unify native compaction summaries
* fix(agent): preserve native compaction boundary
* fix(agent): unify context compaction paths
* fix(agent): preserve exact compaction request boundaries
2026-09-02 18:05:54 +08:00
yu-xin-c and chengyongru
9ecdc4533f
fix(agent): release completed task groups
2026-09-01 17:42:41 +08:00
dda67286f9
fix(dream): stop duplicating SOUL/USER/MEMORY into the Dream prompt ( #5622 )
...
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
Co-authored-by: chengyongru <chengyongru.ai@gmail.com >
2026-09-01 17:17:35 +08:00
chengyongru and GitHub
e111b83af6
refactor(agent): unify runner request fitting ( #5612 )
...
* refactor(agent): unify runner request fitting
* fix(agent): fit every runner model request
* fix(agent): count resumed state during request fitting
* refactor(agent): consolidate request fitting state
2026-08-31 18:08:21 +08:00
chengyongru and GitHub
bb34b58f47
refactor(agent): make memory summaries cumulative ( #5610 )
...
* refactor(agent): make memory summaries cumulative
Treat the latest session summary as a replacement checkpoint, preserve it through bounded raw fallbacks, and reserve history.jsonl for Dream ingestion.
* fix(agent): preserve cumulative checkpoint context
* fix(agent): preserve memory archive prompt cache
* refactor(agent): state archive prompt positively
* refactor(agent): remove checkpoint version migration
* refactor(agent): summarize full archive context
* test(agent): align cumulative archive prompt assertion
* refactor(agent): clarify memory checkpoint contract
2026-08-31 13:37:20 +08:00
chengyongru and GitHub
6cd7063682
refactor(agent): defer transcript assembly to runner ( #5608 )
...
* refactor(agent): defer transcript assembly to runner
Keep persisted history and the fresh turn as explicit inputs until the Runner assembles the provider transcript. Preserve ContextBuilder and direct AgentRunner compatibility while making the save boundary structural.
Refs NAN-81.
* fix(providers): preserve mixed adjacent user content
2026-08-31 00:06:15 +08:00
Oxygen56 and Xubin Ren
919e3d341e
fix(agent): add retry hint to tool exceptions
2026-08-30 17:03:51 +08:00
Xubin Ren
5afdffff51
fix(agent): settle reasoning close before cancellation
2026-08-30 16:32:08 +08:00
KDB and Xubin Ren
bfe041def7
fix(agent): close reasoning stream on cancellation
2026-08-30 16:32:08 +08:00
chengyongru and GitHub
e73cce706c
refactor(agent): extract tool execution boundary ( #5569 )
...
* refactor(agent): extract tool execution boundary
* test(agent): use extracted tool execution boundary
2026-08-28 13:52:03 +08:00
chengyongru and GitHub
cace42af14
refactor(memory): remove consolidation ratio ( #5575 )
...
* refactor(memory): remove consolidation ratio
* docs(memory): document fixed consolidation policy
* docs(memory): simplify consolidation overview
* docs(memory): rely on soft wrapping
2026-08-28 13:20:09 +08:00
chengyongru and GitHub
29025f5a8b
fix(agent): default request concurrency to unlimited ( #5572 )
...
* fix(agent): default request concurrency to unlimited
* test(agent): clarify session serialization coverage
2026-08-27 23:31:38 +08:00
chengyongru and GitHub
3c61fef7e8
refactor(memory): decouple archival from provider state ( #5565 )
...
* refactor(memory): decouple archival from provider state
* test(memory): remove obsolete consolidation offset coverage
2026-08-27 21:21:15 +08:00
chengyongru and GitHub
b9e7c7f6fe
fix: queue concurrent subagents ( #5566 )
...
* fix: queue concurrent subagents
* chore: keep spawn schema concise
2026-08-27 17:53:28 +08:00
chengyongru and chengyongru
91f5a85db0
fix(agent): complete native reasoning lifecycle
2026-08-27 13:20:04 +08:00
chengyongru and chengyongru
55f85b3c1f
refactor(agent): remove duplicate progress streaming path
2026-08-27 10:56:07 +08:00
chengyongru and chengyongru
a618e80887
refactor(agent): reduce loop runner parameter plumbing
2026-08-26 17:50:52 +08:00
chengyongru and chengyongru
c62aec0175
fix(session): reject read_session match-all patterns
2026-08-26 16:58:29 +08:00
bingqilinweimaotai and chengyongru
23dc344b8d
fix: allow unfiltered read_session calls
2026-08-26 16:58:29 +08:00
chengyongru and chengyongru
56aa7296f3
refactor(agent): make checkpoint recovery ownership explicit
2026-08-26 16:33:59 +08:00
qtds and chengyongru
9f5a56f1ec
fix(gitstore): detect rapid same-size rewrites
2026-08-26 16:19:10 +08:00
chengyongru and GitHub
9d34fc5af2
refactor(agent): remove loop iteration state ( #5549 )
...
* refactor(agent): remove loop iteration state
* docs(my): remove stale iteration guidance
2026-08-26 15:57:47 +08:00
chengyongru and GitHub
4f6c0aedfa
refactor(agent): make run usage explicit ( #5546 )
...
* refactor(agent): make run usage explicit
* fix(api): capture usage per run
2026-08-26 15:18:53 +08:00
zpljd258 and chengyongru
a8ffe0f136
fix(webui): project generated titles onto per-chat sessions under unifiedSession
...
With unifiedSession enabled, all turns are routed to the shared
unified:default session, so title generation, persistence, and change
notifications all happen on that shared session. The WebUI sidebar,
however, renders per-chat websocket:<id> sessions, so generated titles
never reach the session the user sees and every chat stays "Untitled".
Pass the origin chat_id through maybe_generate_webui_title_after_turn and
add a target_session_key to maybe_generate_webui_title so the title is
written to the per-chat session while conversation content still comes
from the shared (routed) session. When the routed session differs from
the per-chat session, the latest user/assistant exchange is used as the
title prompt since the shared session mixes content from every channel.
The shared session's title metadata is no longer read or written, so
stale shared titles can no longer leak into per-chat sessions.
2026-08-26 10:52:56 +08:00
chengyongru and GitHub
42f37dc4c0
fix(provider): stabilize Codex prompt cache routing ( #5540 )
2026-08-26 01:36:00 +08:00
chengyongru and chengyongru
e308f7fdd4
test(agent): remove obsolete blocking drain case
2026-08-25 17:56:16 +08:00
chengyongru and chengyongru
66d9328a00
fix(agent): defer subagent wait until turn exit
2026-08-25 17:56:16 +08:00
chengyongru and GitHub
4b2965c8f3
feat: add demand-driven document retrieval ( #5525 )
2026-08-25 15:34:48 +08:00
chengyongru and GitHub
5cf78540a4
fix(agent): wait for exec sessions without polling ( #5526 )
2026-08-25 14:46:02 +08:00
chengyongru and chengyongru
8332c604da
fix(agent): let subagents recover from tool errors
2026-08-25 11:54:40 +08:00
Xubin Ren
7fb0811fbb
fix(agent): honor selected project workspace
2026-08-25 02:14:02 +08:00
chengyongru and chengyongru
2ac802b2d5
feat(usage): add unified provider usage backend
2026-08-25 01:22:25 +08:00
chengyongru and chengyongru
9895c23cb5
refactor(providers): define typed usage contract
2026-08-25 01:04:25 +08:00
chrischen-coder and chengyongru
f5e467626d
fix(agent): time out no-tools model requests
2026-08-25 00:34:01 +08:00
Xubin Ren
2cdfba38b2
fix(runtime): preserve interrupted turns on gateway exit
2026-08-24 00:58:04 +08:00
Xubin Ren
c7e2a474a0
fix(runtime): normalize recovery session routing
2026-08-24 00:58:04 +08:00
Xubin Ren
12029f8812
feat(runtime): add user-controlled turn recovery
2026-08-24 00:58:04 +08:00
Xubin Ren
48eea29313
feat(webui): unify turn observability
2026-08-22 20:51:24 +08:00
chengyongru and chengyongru
1fe36d5dec
fix(dream): gate cursor on run completion
2026-08-22 02:05:40 +08:00
flobo3 and chengyongru
d853ac239f
fix(dream): advance cursor when tool errors were recovered, and report why a run did not complete
2026-08-22 02:05:40 +08:00
chengyongru and chengyongru
761e95b659
refactor(providers): simplify retry fallback routing
2026-08-21 16:46:38 +08:00
chengyongru and chengyongru
9a6dc371b3
refactor: pass retry exhaustion callbacks explicitly
2026-08-21 16:46:38 +08:00
chengyongru and chengyongru
f93d4c3ae4
fix(providers): retry before falling back
2026-08-21 16:46:38 +08:00
chengyongru and chengyongru
8ca4bd9121
fix(agent): keep default prompt paths relative
2026-08-21 11:45:05 +08:00
chengyongru and chengyongru
ac13ad65cd
fix(memory): preserve replay prefix on session reset
2026-08-19 18:40:20 +08:00
chengyongru and chengyongru
9ef1e292ea
fix(session): preserve complete transcripts
2026-08-19 18:40:20 +08:00