# GOAL:Pi Agent 兜底能力 · P4/P5 收口(多 agent 协同 · 第五轮) > 本文件是本轮协同的协调板。每个 sub agent 开工前必读;完工后在最终报告里给交接物。 > 目标文档:`P4-P5-DESIGN.md` 与 `P4-P5-AUDIT.md`。 ## 主管已核实基线(2026-09-04) - HEAD:`main@35131cd`;P1 `3543208`、P2 `967ae37` + `801725b` 已提交。 - P3 产品代码与验证文档在工作区、未提交;`P3-VALIDATION.md` 记录 FB-03-BUG-1 修复后 GO; 主管复核五个兜底专项文件 `72 passed`。 - `server/data/features.json` 当前无 `fallback: true`,功能默认关。 - Pi runtime:`poc/pi-fallback/runtime/node_modules/@mariozechner/pi-coding-agent`,0.73.0,本机已装。 - 详细方案 P4 剩余:质量 golden 30+ 场景、注入防护 20 例、离线降级演练; P5 剩余:发布准备、文档同步、runbook、集成验证。 ## 本轮出口(代码不提交) 1. P4 确定性质量回归设施:成功/失败、误写率、确认轮次、耗时可统计; 2. P4 prompt 注入黄金集 ≥20 例,全部确定性且 100% 拦截/显式失败; 3. P4 离线/无模型降级演练与测试,开关仍 fail-closed; 4. P5 发布准备:runtime 分发形态、runbook、文档同步、验收清单; 5. 主管汇总集成验证:专项联合测试 + ruff + 文档门禁,工作区保持不提交不推送。 ## 硬约束 - 不 `git commit/push`;不覆盖用户既有 dirty worktree 改动;改动最小化。 - Python 一律 `.venv\Scripts\python.exe`;P4 黄金测试确定性(fake runner/脚本化模型,零真实 LLM)。 - 产品行为保持既有治理:白名单 fail-closed、确认卡、checkpoint、审计链不能被削弱。 - 本轮各 agent 写文件范围互不重叠;CHANGELOG/fallback.md 收口由主管统一更新。 - 桌面打包若需真实执行,只做文档/可复跑清单,不动 release 产物。 ## 角色分工 | 角色 | 任务 | 主要输出 | |---|---|---| | Agent-A 设计审计 | 读详细方案与现状,产出 P4/P5 文件级设计与缺口审计 | `poc/pi-fallback/P4-P5-DESIGN.md`、`poc/pi-fallback/P4-P5-AUDIT.md` | | Agent-B 质量实现 | 按 Agent-A 设计实现 P4 质量 golden/指标设施 | `tests/golden/test_fallback_p4_quality.py`、`poc/pi-fallback/P4-QUALITY-NOTES.md` | | Agent-C 注入/离线实现 | 按 Agent-A 设计实现注入防护与离线降级 | `tests/golden/test_fallback_p4_injection.py`、`tests/golden/test_fallback_p4_offline.py`、`poc/pi-fallback/P4-SECURITY-NOTES.md` | | Agent-D 发布实现 | 编写 runtime 分发、runbook、部署/桌面打包清单 | `docs/development/pi-fallback-runbook.md`、`poc/pi-fallback/P5-RELEASE-NOTES.md` | | Agent-E 验证员 | 主管汇总后执行联合验证与攻击复证 | `poc/pi-fallback/P4-P5-VALIDATION.md` | ## 交互协议 - Agent-A 与 Agent-B/C/D 之间不直接改同一文件;主管作为消息中继。 - Agent-A 完成设计后,主管把 Agent-A 的设计打包给 Agent-B/C/D。 - 若 Agent-B/C/D 发现设计缺口或产品 bug,先返回主管,主管再把信息转给 Agent-A 修订设计,形成闭环。 - 所有交互记录和最终结论写回本协调板留言区。 ## 留言区 (由主管统一追加;sub agent 不要并发写本文件) [Agent-F 审计员] 2026-09-04 — P4/P5 独立审计完成,交接 `poc/pi-fallback/P4-P5-AUDIT.md`。核心缺口:无质量 corpus/指标聚合、无统一 20+ 注入黄金集、无 resolve_model/离线全集测试、无 runbook/runtime 分发;P3 状态文件存在 GO/NO-GO 前后矛盾。 [Agent-A 设计员] 2026-09-04 — P4/P5 文件级设计完成,交接 `poc/pi-fallback/P4-P5-DESIGN.md`。给出 Q-01..Q-40、I-01..I-26、O-01..O-10、P5 runbook 结构与 Agent-B/C/D 写范围。 [主管裁决] 2026-09-04 — ① F5 自动 force-off/UI 状态位本轮不改产品,只锁现状并记缺口;② Pi status: 首行机器校验本轮不补产品,I-25 只断言零越权写并记缺口;③ 发布文档按“本地 spawn runner + 显式制品/env”表述,不承诺独立 pi-runtime service;④ P3-VALIDATION/GOAL-P3 文档矛盾由主管在收口时修正;⑤ per-step/token 产品字段另立后续任务,本轮不加。 [Agent-B 质量实现] 2026-09-04 — 交付 `tests/golden/test_fallback_p4_quality.py` 与 `poc/pi-fallback/P4-QUALITY-NOTES.md`;Q-01..Q-40 共 40 个确定性场景(44 个 pytest 节点) **44 passed**,ruff 清理后 All checks passed。 [Agent-D 发布实现] 2026-09-04 — 交付 `docs/development/pi-fallback-runbook.md` 与 `poc/pi-fallback/P5-RELEASE-NOTES.md`;按“本地 spawn runner + 显式制品/env”写,未承诺独立 service/桌面已内置;列出 runId 回放、runtime 分发等发布缺口。 [Agent-C2 注入实现] 2026-09-04 — 交付 `tests/golden/test_fallback_p4_injection.py`; I-01..I-26 已产品化攻击面 + 白名单 fail-closed,**57 passed / 1 skipped**(Windows junction/symlink 显式跳过)。 [Agent-H 离线实现] 2026-09-04 — 交付 `tests/golden/test_fallback_p4_offline.py`; O-01..O-10 无模型/断网/降级全集,**24 passed / 0 skipped**。 [主管联合复核] 2026-09-04 — 8 个兜底专项最终 **197 passed / 1 skipped in 51.87s**, P4 三文件 + 既有兜底测试 ruff **All checks passed**。补 `P4-SECURITY-NOTES.md`、 `P4-P5-VALIDATION.md`;修正 P3-VALIDATION §5/§7 与 GOAL-P3 留言的 GO/NO-GO 时序矛盾。 **结论**:P4 测试设施与 P5 发布准备材料收口;P3 产品代码与 P4/P5 文档全部未提交; 真实打包/runtime 分发/康尼验收另轮执行,未宣称可正式发布。