Conversation
helsome
left a comment
There was a problem hiding this comment.
Draft 阶段的 foundation 方向是对的,尤其是 append-only lineage、独立 run/generation identity、retry/regenerate/edit/fork 的非破坏语义。当前先保持 Draft,不建议提前合基础层,因为 #34 的关键闭环还没有完成:
- 把 Folio branch projection 真正接到 Pi runtime 的
fork/get_fork_messages/get_entries,确保切 branch 后模型上下文本身隔离,而不只是本地 UI/存储投影隔离; - branch UI:当前 branch 可见、regenerate alternatives 可切换、failed/cancelled 可正确 retry、历史 branch 可返回;
- reload 后验证 branch/message/run lineage、workspace snapshot、tool/citation/evidence 都恢复且不串 branch;
- 用 Bun 跑 unit/integration + 当前仓库 CI。现在“环境没有 Bun”不能作为 ready-to-merge 的最终验证;
- 按 #34 做真实 Copilot E2E:生成回答 → regenerate → 编辑早期问题 → fork → 两个 branch 分别产生不同 tool/evidence,并证明 reload 后引用和 tool state 仍严格隔离。
这些完成后再 Ready for review。当前不要求推翻已有 3 个 phase,重点是把 runtime/UI/真实 E2E 接成完整闭环。
helsome
left a comment
There was a problem hiding this comment.
补充更新一下审核标准:上一轮对 #34 的验收要求偏严。你现在已经补到 Phase 3b / 4a / 4b,runtime branch isolation、branch switching、edit/regenerate/retry/fork 的 UI 与 smoke coverage 都已经形成完整骨架。真实 Copilot 的完整多分支 evidence/citation 演示可以作为后续验证,不再要求一次性做到极致。当前继续保持 Draft 主要是尊重作者状态;等你认为实现 ready、标记 Ready for review 后,只要基础 unit/typecheck/关键 smoke 能通过、没有明显 branch 串线或 destructive overwrite 问题,就可以按可合增量处理。
helsome
left a comment
There was a problem hiding this comment.
补充当前贡献验收要求(你这条仍是 Draft,所以先不做强制 Request Changes):转 Ready for review 前,请把验证材料整理成可复现的测试报告,而不是只写“passes”。至少包含实际命令、Bun/OS、pass/fail 数量、失败基线说明。
另外这条已经修改了 BranchSwitcher、AgentPanel、TurnCard 等可见 UI,Ready 前请贴至少一张实际修改后截图;最好覆盖 branch switching / edit-regenerate-fork 相关界面。已有界面改造优先 Before/After。
Issue #34:对话分支与消息操作
本 PR 按层补齐对话 lineage 与非破坏性操作,当前仍保持 Draft。
fork、get_fork_messages、get_entries协议支持;子分支隔离及运行时 session/entry/leaf 身份记录。可复现验证报告(2026-09-21)
环境:Bun 1.4.2;Microsoft Windows 11 家庭中文版(10.0.22621,Build 22621)。
bun test --isolate packages/shared/src/agent/workspace-context.test.tsbun test --isolatebun run typecheckapps/electron目录执行bun run buildmodule.register()弃用提示FINAGENT_AGENT_PROVIDER=local,使用隔离的FINAGENT_USER_DATA_DIR失败基线与跳过项
初次在本 PR 分支执行全仓测试时为 1306 pass、3 fail、8 skip。3 个失败均是
workspace-context.test.ts的等待超时:新增运行路径会请求 Piget_entries,而该文件的FakePiProcess未返回此 RPC。对照干净的上游 main 工作树运行同一聚焦命令为 3 pass、0 fail;为 fake 增加get_entries的空 entries/leaf 响应后,本分支聚焦测试为 3 pass,全仓测试也变为 1309 pass、0 fail。8 个 skip:7 个 LongBridge 账户/投资组合 fixture 条件测试(fixture 未配置),以及 1 个 Windows symlink 能力测试(当前环境不支持/无权限创建 symlink)。
实际界面截图
截图来自 Electron 39.8.9 桌面应用及隔离测试配置。测试环境没有配置 LLM API key,因此行情提问显示 “Add an API key to connect”;截图只证明分支和消息操作 UI,不代表真实模型调用,也不声称完成真实多分支 evidence/citation E2E。
完整、配置了真实凭据的 Copilot 多分支 evidence/citation 验证留作后续工作;本 PR 维持 Draft,等待作者决定何时转为 Ready for review。
Related to #34.