Skip to content

feat: TASK063 P7 token 权威校正 + TASK043 流式增量透传重构 + TUI 命令链修复 - #446

Merged
liuqihonggit merged 8 commits into
mainfrom
w1
Oct 21, 2026
Merged

liuqihonggit merged 8 commits into
mainfrom
w1

Conversation

@liuqihonggit

Copy link
Copy Markdown
Owner

Summary

  • P7 子代理 token 完成态权威校正全链(853d9e75b):AgentFinished 携带 tokenTotal → TUI FinishAgent 权威覆盖;根因双修=QueryEngine 孤儿 key 改读 provider 统一 metadata["Usage"] + BuildCompletionChunk 补 usage 透传(连带 ChatService 路径 E2E 转绿)
  • P8 Completion Run 前占位语义(c3c5ec77a):契约文档化(无可等之物≠就绪+误用诱导)+ 引用切换守卫锁防退化
  • TASK043 流式增量透传两阶段重构(ADR 0146)(a9236b754/532baa471):预热(可 fallback)+透传(上抛)消除 CS1626 全量收集;新增实弹 E2E StreamingIncrementalE2ETests 进 CI 白名单
  • TUI 命令链三修复(并行批次):spinner 回合态显示、斜杠命令接通引擎、/btw 占位符+ANSI 残骸

Test plan

  • llm.tests 605 + brain.other 412 + brain.context 933 + host.tests 1382 全绿
  • NativeTui.Tests 817 + NativeTui.Host.Tests 64 全绿
  • 子代理 E2E 3/3(含 tokenTotal>0 断言)+ StreamInterruption/ApiErrorRecovery + 流式增量 E2E 全绿
  • 用户真机验收清单留档 TASK063 文档(agents 分组/消息导航/思考行/启动提速)

…enTotal(引擎 Usage.TotalTokens), TUI FinishAgent >0 覆盖/0 保持原累计; 根因双修: ①QueryEngine 读孤儿 key(InputTokens/OutputTokens 全仓无生产者)改读 provider 统一约定 metadata[Usage] 并跨轮累计 ②BuildCompletionChunk 补 usage 参数透传; 三参协议扩散 IEventConsumer/BridgeProtocol/BridgeEvent/双消费者/ReplBridgeDriver/SubagentGroup 全改齐; E2E 实证 tokenTotal>0 且 ChatService 路径连带转绿
…等之物≠就绪'+误用形态(Run 前假就绪→空工具表)+正确写法诱导(对齐规则9); 新增契约锁测试防实现退化(占位恒返回=就绪信号永远假完成的静默致命缺陷)
…)+透传(迭代器上抛)两阶段消除 CS1626 全量收集——首事件前失败仍降级非流式(连接级错误无损重试),已 yield 后失败上抛防重复输出; watchdog/enumerator 所有权经 PrimeOutcome 转移由 finally 统一释放; 用户取消透传期改标准 OCE 上抛语义; 测试改造=现有 fallback 用例切首事件前失败形态(对齐真实连接错误)+新增门闩确定性增量红测试与中途上抛守卫
…1717 实证——showSpinner 是复合条件(isLoading/工具队列/队友运行才显示,空闲隐藏;流式文本可见时也隐藏——文本即反馈);TUI 现状是 spinner 常驻渲染(空闲也闪 Inferring),根因=无 Hidden 概念;实现 SpinnerItem.Hidden(MeasureHeight 0+Render 零输出),driver BeginTurn 显示/EndTurn 隐藏,ReplShell 初始 Hidden=true(启动即空闲);TUI 无流式正文(回合结束才上屏)故 token_delta 期保留显示——等价基准首行未完成阶段
…iSession.ProcessInputAsync 的 StartsWith('/') 分流,TUI 直接全发 mainAgent→LLM,命令被当聊天文本触发 AI);修复走引擎既有 SlashCommandRunner 共享链路(解析→CmdMap 路由→Console.Out 捕获→输出),EngineSession 回合绑定层加 StartsWith('/') 分流,命令输出经 consumer.OnText/OnDone 上屏为 AssistantMessage(Markdown 渲染);未知命令同屏诱导(/help 提示)不落 LLM——两类都不消耗模型调用;实测 /effort 378ms 返回真实命令输出、/nosuchcmd 136ms 返回未知诱导
…Hint 占位符当参数值填入提交(/btw <question> 字面量发给 AI,AI 回复问题内容为空)——SlashSuggester 增 HasRealArgumentValues(真值清单判定),占位提示态 Tab 不填入 Enter 提交输入原文,真值清单命令(/effort low)补全不受影响回归锁定;②根因=命令输出 ANSI 色码与 TUI Cell/StyleId 渲染模型不兼容(ESC 零宽跳过残骸显示 38;2;153;153;153m 形态)——DispatchSlashCommandAsync 上屏前 AnsiStripper.Strip(复用引擎版 stackalloc 全序列剥离,删自建重复实现);基线 825+67 全绿
…(f1-webui-flow.mjs)未入库,以实弹 E2E 等价覆盖(MockServer 50分片×20ms真实流+引擎全管道,首末 Content 时间差判据——全量收集形态下≈0 必红); TASK043 状态改 implemented, ADR 0146 转 accepted, TASK063 P7/P8/E 三表全勾+Auto Decision 三决策留档
@liuqihonggit
liuqihonggit enabled auto-merge (squash) October 21, 2026 19:01
@liuqihonggit liuqihonggit changed the title feat: TASK063 无人值守批次——P7 token 权威校正 + TASK043 流式增量透传重构 + TUI 命令链修复 feat: TASK063 P7 token 权威校正 + TASK043 流式增量透传重构 + TUI 命令链修复 Oct 21, 2026
@liuqihonggit
liuqihonggit disabled auto-merge October 21, 2026 19:17
@liuqihonggit
liuqihonggit merged commit 75f590e into main Oct 21, 2026
27 checks passed
@liuqihonggit
liuqihonggit deleted the w1 branch October 21, 2026 19:18
liuqihonggit added a commit that referenced this pull request Oct 21, 2026
## Summary

- **P7 子代理 token 完成态权威校正全链**(853d9e75b):AgentFinished 携带 tokenTotal →
TUI FinishAgent 权威覆盖;根因双修=QueryEngine 孤儿 key 改读 provider 统一
metadata["Usage"] + BuildCompletionChunk 补 usage 透传(连带 ChatService 路径
E2E 转绿)
- **P8 Completion Run 前占位语义**(c3c5ec77a):契约文档化(无可等之物≠就绪+误用诱导)+
引用切换守卫锁防退化
- **TASK043 流式增量透传两阶段重构(ADR 0146)**(a9236b754/532baa471):预热(可
fallback)+透传(上抛)消除 CS1626 全量收集;新增实弹 E2E StreamingIncrementalE2ETests 进
CI 白名单
- **TUI 命令链三修复**(并行批次):spinner 回合态显示、斜杠命令接通引擎、/btw 占位符+ANSI 残骸

## Test plan

- llm.tests 605 + brain.other 412 + brain.context 933 + host.tests 1382
全绿
- NativeTui.Tests 817 + NativeTui.Host.Tests 64 全绿
- 子代理 E2E 3/3(含 tokenTotal>0 断言)+ StreamInterruption/ApiErrorRecovery +
流式增量 E2E 全绿
- 用户真机验收清单留档 TASK063 文档(agents 分组/消息导航/思考行/启动提速)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant