fix(iwooos): project strict runtime closure
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 2m36s
CD Pipeline / build-and-deploy (push) Successful in 15m32s
CD Pipeline / post-deploy-checks (push) Successful in 1m58s

This commit is contained in:
ogt
2026-07-15 14:15:36 +08:00
parent bdb97afc5b
commit 7f504ca52e
7 changed files with 493 additions and 19 deletions

View File

@@ -36,7 +36,7 @@ type Copy = {
assetTypes: string;
nist: string;
siem: string;
aiLoop: string;
strictRun: string;
verified: string;
functions: string;
framework: string;
@@ -70,6 +70,7 @@ type Copy = {
failedCollectors: string;
failedCollectorsUnavailable: string;
sameRunMissing: string;
sameRunVerified: string;
loading: string;
unavailable: string;
refresh: string;
@@ -87,7 +88,7 @@ const COPY: Record<"zh" | "en", Copy> = {
assetTypes: "資產類型",
nist: "NIST 控制",
siem: "SIEM 閉環",
aiLoop: "AI 閉環",
strictRun: "同 run 閉環",
verified: "24h 已驗證",
functions: "治理六功能",
framework: "完整資安框架",
@@ -121,6 +122,7 @@ const COPY: Record<"zh" | "en", Copy> = {
failedCollectors: "失敗 Collector",
failedCollectorsUnavailable: "失敗原因待安全分類",
sameRunMissing: "尚無同 run 閉環證據",
sameRunVerified: "18 段同 run 閉環已驗證",
loading: "正在載入資安控制平面",
unavailable: "Live readback 無法取得",
refresh: "重新整理資安控制平面",
@@ -136,7 +138,7 @@ const COPY: Record<"zh" | "en", Copy> = {
assetTypes: "Asset types",
nist: "NIST control",
siem: "SIEM closure",
aiLoop: "AI closure",
strictRun: "Same-run closure",
verified: "Verified 24h",
functions: "Six functions",
framework: "Security framework",
@@ -170,6 +172,7 @@ const COPY: Record<"zh" | "en", Copy> = {
failedCollectors: "Failed collectors",
failedCollectorsUnavailable: "Failure detail awaiting safe classification",
sameRunMissing: "No same-run closure evidence",
sameRunVerified: "18-stage same-run closure verified",
loading: "Loading security control plane",
unavailable: "Live readback unavailable",
refresh: "Refresh security control plane",
@@ -557,10 +560,10 @@ export function SecurityAssetControlPlaneCockpit({
icon={Radar}
/>
<MetricCell
label={copy.aiLoop}
label={copy.strictRun}
value={
payload
? `${payload.summary.ai_loop_observed_stage_count}/${payload.summary.ai_loop_stage_count}`
? `${payload.ai_automation.strict_runtime_completion.present_stage_count}/${payload.ai_automation.strict_runtime_completion.required_stage_count}`
: "--"
}
icon={Bot}
@@ -986,7 +989,15 @@ export function SecurityAssetControlPlaneCockpit({
/>
{copy.sameRunMissing}
</div>
) : null}
) : (
<div className="mt-3 flex items-center gap-1.5 border-t border-[#ebe8df] pt-2 text-[10px] font-medium text-[#17602a]">
<CheckCircle2
className="h-3.5 w-3.5 shrink-0"
aria-hidden="true"
/>
{copy.sameRunVerified}
</div>
)}
</div>
<div className="border border-[#d8d3c7] bg-white p-3">