feat(awooop): expose ansible runtime readiness
Some checks failed
CD Pipeline / tests (push) Failing after 51s
CD Pipeline / build-and-deploy (push) Has been skipped
CD Pipeline / post-deploy-checks (push) Has been skipped
Code Review / ai-code-review (push) Successful in 12s

This commit is contained in:
Your Name
2026-05-24 15:01:51 +08:00
parent 4874f2b649
commit 1322216f73
6 changed files with 79 additions and 2 deletions

View File

@@ -51,6 +51,14 @@ interface AutomationQualitySummary {
ansible_apply_total?: number
ansible_pending_check_mode_total?: number
}
ansible_runtime?: {
ansible_playbook_binary_present?: boolean
playbook_root_present?: boolean
inventory_present?: boolean
playbook_count?: number
can_run_check_mode?: boolean
blockers?: string[]
}
}
interface DossierCoverageResponse {
@@ -338,6 +346,7 @@ export function AutomationEvidenceCard() {
const topGate = quality?.gate_failures?.[0]
const executionBackend = quality?.execution_backend_summary ?? null
const ansibleRuntime = quality?.ansible_runtime ?? null
const qualityLoaded = Boolean(quality)
const claimReady = Boolean(quality?.production_claim?.can_claim_full_auto_repair)
const route = snapshot?.route ?? null
@@ -374,6 +383,7 @@ export function AutomationEvidenceCard() {
routeDetail,
routeTone: routeTone(route),
executionBackend,
ansibleRuntime,
}
}, [snapshot, t])
@@ -525,6 +535,12 @@ export function AutomationEvidenceCard() {
checkMode: derived.executionBackend.ansible_check_mode_total ?? 0,
apply: derived.executionBackend.ansible_apply_total ?? 0,
pending: derived.executionBackend.ansible_pending_check_mode_total ?? 0,
runtime: derived.ansibleRuntime?.can_run_check_mode
? t('ansibleRuntimeReady')
: t('ansibleRuntimeBlocked', {
blockers: (derived.ansibleRuntime?.blockers ?? []).slice(0, 2).join(', ') || '--',
}),
}),
})}
</span>
</div>