aps-agent/poc/pi-fallback/GOAL-P4.md

79 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 分发/康尼验收另轮执行,未宣称可正式发布。