feat: require production infrastructure evidence

This commit is contained in:
Codex Local
2026-08-26 22:56:19 +08:00
parent 3786db0de8
commit feb99de192
19 changed files with 237 additions and 61 deletions
+17 -5
View File
@@ -1,8 +1,8 @@
openapi: 3.1.0
info:
title: 数据采集终端—云端系统 API
version: 0.66.0
description: 工程框架、SaaS核心业务、设备v2能力协商与智能体启动状态查询、首次通话就绪与最低固件门禁、背景资料准备失败闭环、活动通话授权撤回安全停止、语音内容闭环、终端终稿补传、批量设备遥测、录音上传队列、隐私对账、固件、双轨录音、状态事件、具体资源分享、受控运营配置、Agent组合组件引用、质量证据门禁、运营自定义版本族投放、新通话运行时冻结与供应商启动传递、带并发版本校验的配置投放暂停恢复、带严重度和验收证据门禁的联调问题闭环、含阻断告警定位及当前主机健康证据的发布候选技术验收快照、绑定候选版本与构建摘要并按业务时区生成的可审计试点日/周运行证据、可审计且不生成正式告警的接收器联通测试、外部依赖预检台账、证书到期清单,以及带价格版本冻结、供应商用量去重和硬额度控制的费用治理接口。
version: 0.67.0
description: 工程框架、SaaS核心业务、设备v2能力协商与智能体启动状态查询、首次通话就绪与最低固件门禁、背景资料准备失败闭环、活动通话授权撤回安全停止、语音内容闭环、终端终稿补传、批量设备遥测、录音上传队列、隐私对账、固件、双轨录音、状态事件、具体资源分享、受控运营配置、Agent组合组件引用、质量证据门禁、运营自定义版本族投放、新通话运行时冻结与供应商启动传递、带并发版本校验的配置投放暂停恢复、带严重度和验收证据门禁的联调问题闭环、含阻断告警定位、当前主机健康及生产基础设施强制条件的发布候选技术验收快照、绑定候选版本与构建摘要并按业务时区生成的可审计试点日/周运行证据、可审计且不生成正式告警的接收器联通测试、外部依赖预检台账、证书到期清单,以及带价格版本冻结、供应商用量去重和硬额度控制的费用治理接口。
servers:
- url: http://localhost:58080
description: 本地开发
@@ -3284,6 +3284,17 @@ components:
warning_count: { type: integer, minimum: 0, maximum: 64 }
critical_count: { type: integer, minimum: 0, maximum: 64 }
gate_satisfied: { type: boolean, description: 仅当快照未超过15分钟且综合状态及全部检查均为healthy时为true。 }
OpsAcceptanceProductionInfrastructureState:
type: object
additionalProperties: false
required: [applicable, deployment_profile, offsite_backup_ready, external_alert_receiver_ready, mock_services_disabled, gate_satisfied]
properties:
applicable: { type: boolean, description: 目标环境为PRODUCTION时为true。 }
deployment_profile: { type: string, enum: [MISSING, demo, production] }
offsite_backup_ready: { type: boolean, description: 最近主机报告证明异地备份已启用、已回读验证且未过期。 }
external_alert_receiver_ready: { type: boolean, description: 最近主机报告证明真实外部告警接收器已配置且密钥可读。 }
mock_services_disabled: { type: boolean, description: 最近主机报告证明模拟语音与模拟告警服务均未运行。 }
gate_satisfied: { type: boolean }
OpsAcceptanceDependencyState:
type: object
additionalProperties: false
@@ -3338,13 +3349,13 @@ components:
additionalProperties: false
required: [code, satisfied, summary]
properties:
code: { type: string, enum: [candidate_build_identified, database_migration_clean, required_dependencies_available, integration_issues_clear, outbox_clear, critical_alerts_clear, platform_health_current] }
code: { type: string, enum: [candidate_build_identified, database_migration_clean, required_dependencies_available, integration_issues_clear, outbox_clear, critical_alerts_clear, platform_health_current, production_infrastructure_ready] }
satisfied: { type: boolean }
summary: { type: string }
OpsAcceptanceSnapshot:
type: object
additionalProperties: false
required: [id, generated_at, tenant_id, candidate_version, build_digest, environment, run_type, scope, redaction_policy, runtime_build, database, integration_issues, external_dependencies, outbox, alerts, platform_health, gates, overall_gate_satisfied, disclaimer]
required: [id, generated_at, tenant_id, candidate_version, build_digest, environment, run_type, scope, redaction_policy, runtime_build, database, integration_issues, external_dependencies, outbox, alerts, platform_health, production_infrastructure, gates, overall_gate_satisfied, disclaimer]
properties:
id: { type: string, format: uuid }
generated_at: { type: string, format: date-time }
@@ -3362,7 +3373,8 @@ components:
outbox: { $ref: '#/components/schemas/OpsAcceptanceOutboxState' }
alerts: { $ref: '#/components/schemas/OpsAcceptanceAlertState' }
platform_health: { $ref: '#/components/schemas/OpsAcceptancePlatformHealthState' }
gates: { type: array, minItems: 7, maxItems: 7, items: { $ref: '#/components/schemas/OpsAcceptanceGate' } }
production_infrastructure: { $ref: '#/components/schemas/OpsAcceptanceProductionInfrastructureState' }
gates: { type: array, minItems: 8, maxItems: 8, items: { $ref: '#/components/schemas/OpsAcceptanceGate' } }
overall_gate_satisfied: { type: boolean }
disclaimer: { type: string }
OpsAcceptanceSnapshotResponse: