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
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
chengyongru and chengyongru
a618e80887
refactor(agent): reduce loop runner parameter plumbing
2026-08-26 17:50:52 +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
chengyongru and chengyongru
66d9328a00
fix(agent): defer subagent wait until turn exit
2026-08-25 17:56:16 +08:00
chengyongru and chengyongru
8332c604da
fix(agent): let subagents recover from tool errors
2026-08-25 11:54:40 +08:00
chengyongru and chengyongru
9895c23cb5
refactor(providers): define typed usage contract
2026-08-25 01:04:25 +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
chengyongru and chengyongru
113e8d67ad
refactor: remove verified dead code
2026-08-08 21:10:34 +08:00
chengyongru and Xubin Ren
1d2ed6e4d2
fix(agent): reset recovery chains across injections
...
Reset both the recovered segments and retry budget whenever injected input starts a new logical answer. Cover fatal tool-error boundaries and rename the prompt test module so pytest can collect the full suite.
2026-07-27 01:39:46 +08:00
chengyongru and Xubin Ren
b19039f9d0
fix(agent): preserve length-recovered output
2026-07-27 01:39:46 +08:00
Xubin Ren
ff379b91cf
fix(agent): preserve merged runtime context markers
2026-07-26 23:46:54 +08:00
yu-xin-c and Xubin Ren
eb93060f95
fix(agent): preserve pending runtime context
2026-07-26 23:46:54 +08:00
chengyongru
9aab94c766
Revert "fix: preserve pending message runtime context"
...
This reverts commit cad368f585 .
2026-07-24 14:47:50 +08:00
hamb1y and Xubin Ren
cad368f585
fix: preserve pending message runtime context
2026-07-24 12:28:13 +08:00
chengyongru and GitHub
66690fdb0c
fix(webui): deliver late subagent results as new turns ( #4992 )
2026-07-22 23:04:36 +08:00
KDB and Xubin Ren
8981995474
fix(exec): clean up sessions on shutdown
2026-07-21 13:48:51 +08:00
chengyongru and Xubin Ren
198fd9f869
refactor(agent): capture runtime at turn admission
2026-07-10 17:54:34 +08:00
chengyongru and Xubin Ren
b4f069800e
refactor(agent): make runner consume required runtime
2026-07-10 17:54:34 +08:00
chengyongru and Xubin Ren
5af22042ec
fix(trigger): keep local worker alive on turn cancel
2026-07-03 00:36:29 +08:00
chengyongru and Xubin Ren
34535b4e7c
fix(webui): hide subagent backfill payloads
2026-07-02 14:36:23 +08:00
chengyongru and Xubin Ren
f32007c83f
fix(trigger): defer local triggers until session idle
2026-07-02 13:32:46 +08:00
Stellar鱼 and GitHub
a54e56c69e
fix(runner): ignore empty injected payloads ( #4337 )
2026-06-15 15:13:03 +08:00
chengyongru
a50b3ac0f2
fix: harden cron session automation flows
2026-06-12 18:13:25 +08:00
chengyongru
271b3651d7
refactor: use cron turn naming internally
2026-06-12 11:57:35 +08:00
chengyongru
d9d481bc15
refactor: centralize cron session metadata keys
2026-06-12 11:43:23 +08:00
chengyongru
a326ba40f4
feat(cron): bind scheduled automations to sessions
2026-06-11 19:48:07 +08:00
chengyongru and Xubin Ren
24e56fcf07
test: improve deterministic unit test coverage
2026-06-04 19:41:32 +08:00
chengyongru and Xubin Ren
84428136e6
test: harden timing-fragile test and add cross-tool ContextVar isolation test
...
Replace asyncio.sleep(0.05) with an asyncio.Event + patched Lock.acquire
to guarantee the waiting task has reached the lock before asserting. Add
a test confirming LongTaskTool and CompleteGoalTool ContextVars are
isolated, and document the design intent in _GoalToolsMixin.
2026-05-28 22:54:46 +08:00
hamb1y and Xubin Ren
0df60416ba
fix(agent): address session and streaming concurrency bugs
2026-05-28 22:54:46 +08:00
chengyongru and Xubin Ren
99cc6ee808
test(agent): expand coverage and refactor test structure
...
- Add 42 tests for ContextBuilder (context.py: 0→42 tests)
- Add 37 tests for SubagentManager lifecycle (subagent.py: 2→37 tests)
- Add 42 unit tests for AutoCompact in isolation
- Split monolithic test_runner.py (3313 lines) into 9 focused files:
test_runner_core, test_runner_hooks, test_runner_errors,
test_runner_safety, test_runner_persistence, test_runner_governance,
test_runner_tool_execution, test_runner_injections,
test_loop_runner_integration
- Add 3 config passthrough tests (temperature/max_tokens/reasoning_effort)
- Fix fragile patch.object(__init__) in test_stop_preserves_context
- Create shared conftest.py with make_provider/make_loop factories
Total: 934 tests passing, 0 regressions
2026-05-13 12:49:17 +08:00