@@ -1539,6 +1539,24 @@ cargo check --workspace
15391539 - ` cargo tree -p bitfun-product-domains --no-default-features --depth 1 --edges features ` 仅显示 ` serde ` 、` serde_json ` ,不会拉入 ` dirs ` 。
15401540 - ` cargo tree -p bitfun-services-integrations --no-default-features --depth 1 --edges features ` 仅显示 ` bitfun-events ` 、` serde ` 、` serde_json ` 、` log ` 、` tokio ` 。
15411541
1542+ P2 后产品表面契约轨道(contract-only):
1543+
1544+ - 背景:最新 CLI TUI、Desktop、Remote、Server 和 ACP 都是 first-class product surface。后续重构不应把它们
1545+ 拉平成同一套命令实现,而应共享 runtime capability facts。
1546+ - 原则:** surface divergence, capability convergence** 。命令、快捷键、pane/card/TUI rendering 属于 surface
1547+ presentation;session/thread identity、environment identity、permission facts、artifact refs、event facts 和
1548+ capability request/response 属于可共享 contract。
1549+ - 候选 contract:` SurfaceKind ` 、` ThreadEnvironment ` 、` RuntimeArtifactKind ` 、` RuntimeArtifactRef ` 、
1550+ ` PermissionDecision ` 、` PermissionScope ` 、` ApprovalSource ` 、` CapabilityRequest ` 。纯 DTO 优先放入
1551+ ` bitfun-core-types ` ;必要 port trait 放入 ` bitfun-runtime-ports ` 。
1552+ - 明确不做:不改 CLI slash command / TUI、不改 Desktop command palette 或 pane 行为、不新增 command engine crate、
1553+ 不调整 ` product-full ` 、不做 per-product feature set,也不把 ` ratatui ` 、` crossterm ` 、Tauri 或 Web UI 依赖带入
1554+ contract crate。
1555+ - 进入方式:该轨道可作为 PR3 前的 contract-only 前置提交或 PR3 的第一组无行为变更提交;一旦需要改变 UI、
1556+ 命令语义、权限策略或运行时调用路径,必须拆成单独产品变更 PR 并先确认。
1557+ - 验证:DTO/port 只做 serialization round-trip、conversion/no-op check 与 boundary check;不能只凭
1558+ ` cargo check ` 声明产品行为等价。
1559+
15421560需要单独审视的高风险项:
15431561
15441562- ` ToolUseContext ` 、tool registry/provider、concrete tool implementation 外移。
@@ -1569,7 +1587,9 @@ cargo check --workspace
156915872 . 已完成:MCP runtime 与 dynamic tools:MCP config service orchestration、server process / transport lifecycle、adapter、dynamic tool/resource/prompt provider 已归属 ` bitfun-services-integrations ` ;未混入 remote-connect 或 tool registry owner 化。验收重点是 MCP wire shape、auth/config merge、dynamic manifest 快照和 core registry 集成等价。
15701588 - 保留边界:` bitfun-core ` 只保留 core ` ConfigService ` store adapter、OAuth data-dir 注入、` BitFunError ` 映射、legacy facade 和与全局 tool registry 的组装调用;配置写入、OAuth、SSE/session 与 registry 行为不得在本 PR 中改变。
15711589 - 后续切片:tool registry/provider owner 化需要放入 PR4,并先保留 dynamic provider metadata、工具清单顺序和 snapshot wrapper 等价测试。
1590+ - 文档校正:P2 后补充文档中的 MCP runtime step 已由本 PR2 闭环;后续 MCP 相关工作只保留 tool registry/provider owner 化和 concrete tool implementation 迁移,不再重复迁移 config/process/transport lifecycle。
157215913 . remote-connect runtime:通过 ` AgentSubmissionPort ` 、` SessionTranscriptReader ` 、` EventSink ` 等 port 合约迁移 remote-connect / relay-facing runtime。验收重点是 message contract、session submission、remote control 同步与无真实网络依赖的 integration test。
1592+ - 进入前先复核产品表面契约轨道:如果 remote-connect 需要表达 source surface、thread environment、approval source 或 artifact ref,先补 contract-only DTO/port 和 round-trip/no-op tests,不改变现有 remote behavior。
157315934 . agent tools + ` tool-packs ` owner 化:` ToolUseContext ` port 化、tool registry/provider 化、concrete tool implementation 按 feature group 迁移;必须保持 builtin/readonly/dynamic manifest、snapshot wrapping、runtime restrictions、cancellation 与 Deep Review tool flow 等价。
157415945 . ` product-domains ` runtime + core facade finalization:迁移 miniapp runtime/compiler/builtin 与 function-agent 运行逻辑,最后把 ` bitfun-core ` 收敛为 facade + product runtime assembly;不在本 PR 中修改 ` bitfun-core default = [] ` 或 per-product feature matrix。
15751595
@@ -1605,6 +1625,7 @@ cargo check --workspace
16051625- 最近 ` origin/main ` 的 Deep Review 变更增加了 context profile、evidence ledger、capacity/cost/queue 控制、` deep_review_run_manifest ` / ` deep_review_cache ` 、以及 review-team UI orchestration;最新主干还补充了 agent-stream tool-call dedupe、search remote/fallback、session rollback persistence 和 companion typewriter。P3 facade 收敛前必须确认这些行为要么仍由 core product runtime assembly 拥有,要么已有对应 owner crate + port/provider 合约和等价测试。
16061626- 最新主干的 mode-scoped subagent visibility 将 ` agentic::agents ` 重组为 definitions / registry / visibility 边界,并扩展了 desktop subagent API 与 Review Team 可见性测试;后续若迁移 agent registry,不能只做路径 re-export,必须保留 mode 可见性过滤、hidden/custom/review 分组语义和前后端 API contract。
16071627- 最新主干的 CLI 重构主要新增 TUI/theme/selector/dialog/chat-state 等 app-layer 代码,后续又收敛预置 theme 并补充 desktop companion pet resize / Windows UX;这些当前没有改变 ` services-integrations ` 的迁移归属。后续若调整 shared crate 边界,必须继续把 ` bitfun-cli ` 、` ratatui ` 、` crossterm ` 、` arboard ` 、` syntect-tui ` 等 CLI-only 依赖限制在 app adapter / presentation layer,desktop / web-ui presentation 修复也不应被误判为 core service 迁移前置条件。
1628+ - P2 后产品表面策略要求“surface divergence, capability convergence”:CLI ` /diff ` 、Desktop 快捷键/面板、Remote card、ACP method 可以映射到同一 capability contract,但不能为了复用把 surface command 或 UI rendering 下沉到 contract crate。
16081629- ` ToolUseContext ` 的 shared-context / evidence checkpoint hook、` TaskTool ` / ` CodeReviewTool ` 的 Deep Review capacity flow、session manifest/cache persistence、rollback persisted-turn cleanup、search fallback chain 与 stream finish/tool-call contract 不能在 P3 中只通过 re-export 消失;如果外移,需要先补 boundary contract、旧路径兼容和对应 regression。
16091630- P3 的闭环检查应同时覆盖 Rust crate graph 与产品 runtime 行为:边界脚本只证明依赖方向,不能替代 Deep Review、MCP dynamic tools、remote connect、snapshot wrapping、miniapp/function-agent 的产品等价性验证。
16101631- 当前 PR 的 P3 范围按“显式保留 core-owned runtime + 强制 owner crate 边界”闭环;后续如果要继续外移这些 runtime 路径,需要作为新的迁移批次先补 port 设计、等价测试和用户确认。
@@ -1620,6 +1641,7 @@ cargo check --workspace
16201641- tool registry / concrete tool implementation 外移必须先有工具清单等价测试,并保留 dynamic provider metadata;不能把注册名解析、snapshot wrapper 或 runtime restriction 行为改成隐式约定。
16211642- 已新增并扩展内置工具清单基线测试,后续 registry/provider 外移必须先保持该清单、注册顺序、runtime collection 顺序、dynamic provider metadata 顺序和修改类工具 snapshot wrapper 等价,再评估 owner crate 边界。
16221643- miniapp 与 function-agent runtime 外移必须先明确 Git/AI service、PathManager、process execution 和 permission policy 边界;如果需要行为合约变化,必须作为后续单独 PR 并先确认。
1644+ - 产品表面 contract 补强必须保持 observational:只记录 surface/thread/environment/permission/artifact facts,不改变 CLI、Desktop、Remote、ACP 的现有交互和运行时语义。
16231645- ` bitfun-core default = [] ` 和依赖版本收敛仍是后续独立评估项,不与 runtime 外移或构建脚本调整混在同一批提交。
16241646
16251647** 验收门:**
@@ -1664,10 +1686,11 @@ git diff -- package.json scripts/dev.cjs scripts/desktop-tauri-build.mjs scripts
166416869 . 已完成:前移低风险保护项:dependency profile / feature graph 基线、轻量 contract crate 依赖瘦身、feature group 说明、boundary check 扩展、迁移前快照测试。
1665168710 . 进行中:PR 1 ` services-integrations ` runtime 收口,先处理 remote-SSH workspace registry / session mirror helper 和已迁移 file-watch 的 contract 复核;announcement 仅迁移无 config/content/remote fetch 依赖的 helper。
1666168811 . 已完成:PR 2 MCP runtime 与 dynamic tools;已迁移 config service orchestration、server process / transport lifecycle、adapter、dynamic tool/resource/prompt provider,core 保留 ConfigService store adapter、OAuth data-dir 注入、BitFunError 映射、legacy facade 和 registry assembly。
1667- 12 . 待执行:PR 3 remote-connect runtime。
1668- 13 . 待执行:PR 4 agent tools + ` tool-packs ` owner 化。
1669- 14 . 待执行:PR 5 ` product-domains ` runtime + core facade finalization。
1670- 15 . 后续独立评估:` bitfun-core default = [] ` 或 per-product feature set。
1689+ 12 . P2 后前置轨道:产品表面 contract-only 补强,可在 PR3 前或 PR3 第一组提交中处理;只允许 DTO/port、round-trip/no-op tests 和 boundary check,不实现 CLI/Desktop/Remote/ACP UI 或命令变更。
1690+ 13 . 待执行:PR 3 remote-connect runtime。
1691+ 14 . 待执行:PR 4 agent tools + ` tool-packs ` owner 化。
1692+ 15 . 待执行:PR 5 ` product-domains ` runtime + core facade finalization。
1693+ 16 . 后续独立评估:` bitfun-core default = [] ` 或 per-product feature set。
16711694
16721695冗余清理 PR 不进入上述主线序号。只有在满足 ` 0A.6 ` 的绝对等价要求时,才可以插入到相邻里程碑之间,并且不得与主线拆分 PR 混合。
16731696
0 commit comments