feat: add ops center and node onboarding flow

This commit is contained in:
Your Name
2026-04-18 23:52:51 +08:00
parent 246838ae4c
commit b9c29481b5
142 changed files with 89727 additions and 186 deletions

View File

@@ -0,0 +1,56 @@
# ops_doctor_decision_contract
## Purpose
冻结 `doctor-decision` 主决策 contract让页面、CLI、Codex 都消费同一份“当前先看哪一面、先执行什么动作、为什么”的正式结论。
## Producer
- backend service `app.services.ops_service.get_ops_doctor_decision`
- API `GET /api/v1/ops/doctor-decision`
## Primary Consumers
- `domain-web` Ops Center 顶部总检入口与主决策详情面板
- `domain-api/deploy/multi-region/drive_ops_center.sh doctor-decision`
- 海外 Codex 驾驶员 / 自动驾驶策略层
## Required Payload
- `status`
- `status_label`
- `headline`
- `detail`
- `decision`
- `summary`
- `recommended_commands`
- `contract_navigation`
## Decision Shape
- `decision.status`
- `decision.reason_code`
- `decision.headline`
- `decision.detail`
- `decision.preferred_surface`
- `decision.next_action_code`
- `decision.recommended_commands`
## Summary Shape
- `summary.required_failures`
- `summary.optional_unavailable`
- `summary.scene_log_reports_total`
- `summary.scene_log_reports_ok`
- `summary.scene_log_status_counts`
- `summary.scene_log_problem_node_codes`
- `summary.contract_surface_gaps`
- `summary.launchpad_recommended_target_node_code`
- `summary.launchpad_recommended_recovery_label`
- `summary.launchpad_recommended_recovery_summary`
## Notes
- 优先读取最新 `go-live bundle` 中的 `doctor_decision` 产物。
- 如果 bundle 尚未导出,后端必须回落到 live `stack-diagnosis + go-live-summary` 兜底,而不是直接返回空。
- `preferred_surface` 必须稳定可消费,不能把面板跳转逻辑继续留给前端猜测。