feat: add ops center and node onboarding flow
This commit is contained in:
56
docs/schemas/ops_doctor_decision_contract.md
Normal file
56
docs/schemas/ops_doctor_decision_contract.md
Normal 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` 必须稳定可消费,不能把面板跳转逻辑继续留给前端猜测。
|
||||
Reference in New Issue
Block a user