Commit Graph
590 Commits
Author SHA1 Message Date
yu-xin-c 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 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 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 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 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 bfe041def7 fix(agent): close reasoning stream on cancellation 2026-08-30 16:32:08 +08:00
chengyongru 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 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 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 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 b9e7c7f6fe fix: queue concurrent subagents (#5566)
* fix: queue concurrent subagents

* chore: keep spawn schema concise
2026-08-27 17:53:28 +08:00
chengyongru 91f5a85db0 fix(agent): complete native reasoning lifecycle 2026-08-27 13:20:04 +08:00
chengyongru 55f85b3c1f refactor(agent): remove duplicate progress streaming path 2026-08-27 10:56:07 +08:00
chengyongru a618e80887 refactor(agent): reduce loop runner parameter plumbing 2026-08-26 17:50:52 +08:00
chengyongru c62aec0175 fix(session): reject read_session match-all patterns 2026-08-26 16:58:29 +08:00
bingqilinweimaotai 23dc344b8d fix: allow unfiltered read_session calls 2026-08-26 16:58:29 +08:00
chengyongru 56aa7296f3 refactor(agent): make checkpoint recovery ownership explicit 2026-08-26 16:33:59 +08:00
qtds 9f5a56f1ec fix(gitstore): detect rapid same-size rewrites 2026-08-26 16:19:10 +08:00
chengyongru 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 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 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 42f37dc4c0 fix(provider): stabilize Codex prompt cache routing (#5540) 2026-08-26 01:36:00 +08:00
chengyongru e308f7fdd4 test(agent): remove obsolete blocking drain case 2026-08-25 17:56:16 +08:00
chengyongru 66d9328a00 fix(agent): defer subagent wait until turn exit 2026-08-25 17:56:16 +08:00
chengyongru 4b2965c8f3 feat: add demand-driven document retrieval (#5525) 2026-08-25 15:34:48 +08:00
chengyongru 5cf78540a4 fix(agent): wait for exec sessions without polling (#5526) 2026-08-25 14:46:02 +08:00
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 2ac802b2d5 feat(usage): add unified provider usage backend 2026-08-25 01:22:25 +08:00
chengyongru 9895c23cb5 refactor(providers): define typed usage contract 2026-08-25 01:04:25 +08:00
chrischen-coder 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 1fe36d5dec fix(dream): gate cursor on run completion 2026-08-22 02:05:40 +08:00
flobo3 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 761e95b659 refactor(providers): simplify retry fallback routing 2026-08-21 16:46:38 +08:00
chengyongru 9a6dc371b3 refactor: pass retry exhaustion callbacks explicitly 2026-08-21 16:46:38 +08:00
chengyongru f93d4c3ae4 fix(providers): retry before falling back 2026-08-21 16:46:38 +08:00
chengyongru 8ca4bd9121 fix(agent): keep default prompt paths relative 2026-08-21 11:45:05 +08:00
chengyongru ac13ad65cd fix(memory): preserve replay prefix on session reset 2026-08-19 18:40:20 +08:00
chengyongru 9ef1e292ea fix(session): preserve complete transcripts 2026-08-19 18:40:20 +08:00
chengyongru 3c41d5e7f3 refactor(skills): own explicit runtime context loading 2026-08-19 18:40:20 +08:00
chengyongru cc07ac1e12 fix(memory): avoid re-archiving recent history 2026-08-19 18:40:20 +08:00
chengyongru f13abe0806 refactor(memory): require archive count in prompt 2026-08-19 18:40:20 +08:00
chengyongru f63001828f refactor(memory): guard empty summaries only on write 2026-08-19 18:40:20 +08:00
chengyongru 6bb3b33aac fix(memory): ignore empty consolidation summaries 2026-08-19 18:40:20 +08:00