60 lines
1.4 KiB
Markdown
60 lines
1.4 KiB
Markdown
# ops_go_live_bundle_contract
|
||
|
||
## 目标
|
||
|
||
把发布前证据包与 `manifest.json` 复核结论压成一份统一 contract,供:
|
||
|
||
- Ops Center 交付面板
|
||
- CLI `go-live-export / go-live-review`
|
||
- 海外 Codex 驾驶员
|
||
|
||
共同消费。
|
||
|
||
它解决的问题不是“现在能不能上线”,而是:
|
||
|
||
> 现在有没有一份足够完整、足够可信、可交付可复盘的上线证据包
|
||
|
||
## 主接口
|
||
|
||
- `GET /api/v1/ops/go-live-bundle`
|
||
|
||
## 核心字段
|
||
|
||
- `status`
|
||
- `missing`
|
||
- `ready`
|
||
- `attention`
|
||
- `blocked`
|
||
- `status_label`
|
||
- `headline`
|
||
- `bundle_available`
|
||
- `report_dir`
|
||
- `manifest_path`
|
||
- `artifact_total`
|
||
- `failure_total`
|
||
- `critical_failures`
|
||
- `noncritical_failures`
|
||
- `env_audit`
|
||
- `summary`
|
||
- `recommended_commands`
|
||
|
||
## 判定原则
|
||
|
||
- 如果当前还没有 bundle / manifest
|
||
- `status = missing`
|
||
- 如果 manifest 明确标记 `review_status_hint=blocked`
|
||
- `status = blocked`
|
||
- 如果 manifest 已存在,但:
|
||
- 仍有非关键失败
|
||
- 环境审计提示 attention
|
||
- launchpad 摘要存在漂移
|
||
- 则 `status = attention`
|
||
- 只有当 manifest 可读、review 为 ready、关键摘要一致
|
||
- 才允许 `status = ready`
|
||
|
||
## 设计约束
|
||
|
||
- 页面不直接触发 shell 导出 bundle
|
||
- 后端默认只读最新 bundle / manifest,不负责替代 CLI 执行导出
|
||
- 当 bundle 缺失时,必须明确给出固定命令,而不是让操作者自己猜路径
|