aps-agent/poc/pi-fallback/P5-RELEASE-NOTES.md

93 lines
7.5 KiB
Markdown
Raw Permalink 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.

# P5-RELEASE-NOTES — Pi Agent 兜底发布边界与验收(Agent-D)
> 角色:Agent-D(P5 发布实现)· 日期:2026-09-04
> 依据:`P4-P5-DESIGN.md`、`P4-P5-AUDIT.md`、P3 验证记录与当前代码现状。
> 本文是给主管的发布准备材料,不是正式发布批准。`CHANGELOG.md`/`fallback.md`
> 不由本文更新,由主管统一收口。
## 1. TL;DR
P5 **当前不可按“已可正式发布”封板**。可交付边界是:
- 默认关的兜底能力代码(P1/P2 已提交;P3 仍为工作区变更,未提交);
- 本 runbook 与本文的可复跑发布准备材料;
- 开发/验证用的仓库 poc runtime,**不是发布产物**。
当前实现是**本地 spawn runner**,不承诺独立 pi-runtime service 已可用。若要发布启用形态,应用容器/部署机必须具备 Node + Pi 制品,或显式配置 `APS_FALLBACK_PI_CLI`;当前默认仓库 poc runtime 不是发布产物。桌面默认包不含 Node/pi,未内置启用。
## 2. 当前可发布边界
| 项 | 边界 |
|---|---|
| 功能开关 | `fallback` 默认关;缺失/损坏/非 bool 均失败关闭 |
| P1 只读兜底 | 已提交;默认关;失败显式回原话术 |
| P2 写路径/确认卡 | 已提交;计划锁/checkpoint/diff/审计在环 |
| P3 高风险 S4/S6/S7 | 能力代码在工作区,未提交;白名单 fail-closed;P3-VALIDATION 已收口为 GO(见缺口 #2 复核记录) |
| Pi runtime | 只在 `poc/pi-fallback/runtime`,`node_modules` 不入 git;**不是发布制品** |
| Web/Docker | 镜像无 Node/pi;只能按“本地 spawn + 制品/显式路径”验收,不能按独立 service 发布 |
| 桌面 | 默认包无 Node/pi;sidecar allowlist 不含 `LLM_*`/`APS_FALLBACK_*`;不声称桌面已启用 |
| P4 质量 | 已交付并经主管复核:44 passed;结论/场景映射见 `P4-QUALITY-NOTES.md`;文件仍在工作区未提交 |
| P4 注入/离线 | 已交付并经主管复核:injection 57 passed / 1 skipped,offline 24 passed;见 `P4-SECURITY-NOTES.md`、`P4-P5-VALIDATION.md`;文件仍在工作区未提交 |
| 文档同步 | CHANGELOG/fallback.md/GOAL-P3/P3-VALIDATION 已由主管同步;仍以工作区未提交为准 |
## 3. 发布缺口表
| # | 缺口 | 状态/影响 |
|---|---|---|
| 1 | P3 产品代码未提交 | 不能形成可复现发布基线 |
| 2 | P3-VALIDATION GO/NO-GO 矛盾(已收口) | 已收口:P3-VALIDATION §5 标为历史现场并新增 §7 Agent-O 复证,GOAL-P3 已追加 Agent-O 留言,顶部判定 GO |
| 3 | Pi runtime 无发布分发 | Docker/K8s/桌面均缺 Node/pi;默认 poc 路径不能作为部署配置 |
| 4 | 桌面 sidecar env allowlist 不透传 `LLM_*`/`APS_FALLBACK_*` | 桌面即便带制品也无法启用 |
| 5 | P4 注入/离线专项与 notes 已交付复核:injection 57 passed / 1 skipped、offline 24 passed | P4 注入/离线确定性门禁可勾选;正式发布仍受真实 smoke/打包边界约束 |
| 6 | P4 质量 golden 已交付复核:44 passed | 确定性成功/误写/确认轮次门禁可勾选;不等同正式发布批准 |
| 7 | P4-QUALITY-NOTES 已提供确定性集指标聚合;产品层统一指标导出仍缺 | 成功率/误写率/确认轮次/耗时与 cost_points 近似仅在测试层可复算,真实 usage/token/cost、日预算与 API 未交付 |
| 8 | 无 per-step 耗时、usage/token/cost 解析、日预算/告警、触发率周报 | 成本与质量口径不完整 |
| 9 | F5 “无模型 force-off + UI 明示”与现状不一致 | 现状是逐次显式失败,无自动关开关/UI 状态位;需主管定产品语义 |
| 10 | `/api/gov/audit` 无服务端 runId 过滤 | “按 runId 一键回放”不是现成功能,只有审计字段+文件证据链 |
| 11 | S7 通用 run manifest 未见写路径 | P3-DESIGN 要求与源码不一致,需复核或移后续任务 |
| 12 | S4 真实冒烟未做;S6 超上限真实冒烟未做 | 真实层验收不完整 |
| 13 | 全量 golden 数字口径过期 | 1071+ 等旧数字不能继续使用,需定当前回归基线 |
| 14 | WMS 侧补录不在 P3 范围 | 发布文案不得把 S6 写成全系统补录 |
## 4. 发布前验收清单
以下各项全绿才可继续走正式发布流程:
1. `fallback` 默认关并可在 `GET /api/features` 核对;文件损坏/缺失不误开。
2. 无模型/断网现场不崩溃:默认关时零副作用;开启态显式失败或主管已裁决的 force-off 行为。
3. Node/Pi 制品路径显式配置可复跑:先确定性 golden,再真实 smoke。
4. Web/Docker 有无 Node 两态与实际一致;文档不把独立 service 写成已可用。
5. 桌面包缺 Node 不崩;文档不承诺桌面默认启用 Pi。
6. P3 白名单缺失时全场景拒绝,无样例自动放行;角色不可见闸不削弱。
7. P4 专项已复核:quality 44 passed、injection 57 passed / 1 skipped、offline 24 passed;
主管 8 文件联合 197 passed / 1 skipped in 51.87s,ruff All checks passed;
引用 `P4-QUALITY-NOTES.md` / `P4-SECURITY-NOTES.md` / `P4-P5-VALIDATION.md`。
该项可按确定性门禁勾选;正式发布仍受本清单其余真实层/打包项约束。
8. runId 审计关联可验证:审计字段 + run 目录 + sha256 证据链能复现;明确当前 API/UI 不提供 runId 服务端过滤。
9. S4/S6/S7 现场冒烟(或主管认可的等价复证)与结果文件齐全。
10. 收尾无 `_saga_cp.json`、无 `server/data` 非预期残留、无残留 pi 进程。
11. Agent-E 用康尼数据完成真实验收并留证据(按主管排期)。
回归命令入口见 `docs/development/pi-fallback-runbook.md` §6;Python 一律 `.venv\Scripts\python.exe`。
## 5. 需要主管/用户拍板的决策
1. **Runtime 形态**:是否把 Node + Pi 制品打进 Web/Docker 镜像/安装包,还是另立独立 pi-runtime service?本轮只支持“本地 spawn + 制品”,不能按独立 service 发布。
2. **桌面策略**:桌面是否做可选组件/首次下载,还是本轮明确不进入桌面包?当前 sidecar allowlist 不透传 `LLM_*`/`APS_FALLBACK_*`。
3. **默认运行路径**:仓库 poc runtime 不能作为发布默认路径;部署标准路径、版本锁与分发归属由谁定义?
4. **F5 语义**:无模型/断网时接受“逐次显式失败”,还是补“自动 force-off + UI 明示”产品行为?若补,需排产品代码任务,不在本轮文档内关闭。
5. **P4/P5 门禁口径**:P4 确定性门禁已复核可勾选;P5 是否进入真实打包/康尼验收需用户拍板,当前发布边界只作为工作区交付说明。
6. **回归基线**:全量 golden 的 target 版本与已知失败清单统一口径;不再引用 1071+ 等过期数字。
7. **审计回放**:是否补 `/api/gov/audit` 的 runId 过滤与 GovConsole 回放视图;不补则发布说明明确当前边界。
8. **S4/S6/S7 收尾**:S4 真实冒烟、S6 超上限真实冒烟、S7 manifest 缺口是否在 P5 前补齐,或另立后续任务并由主管确认发布范围。
## 6. 发布声明建议措辞
正式发布文档至少包含:
- “兜底为默认关闭的可选增强能力,不是主干排产链路”;
- “当前实现为本地 spawn runner;若启用,应用容器/部署机需具备 Node + Pi 制品,或显式配置 `APS_FALLBACK_PI_CLI`;当前默认仓库 poc runtime 不是发布产物”;
- “桌面默认包不含 Node/pi,未内置启用 Pi 兜底”;
- “无模型/断网时回退原话术并显式失败,不自动修改功能开关”;
- “CHANGELOG/fallback.md/GOAL-P3/P3-VALIDATION 已由主管同步;本文不构成正式发布声明”。