fix(runs): prioritize failed terminal receipts
Some checks failed
CD Pipeline / workflow-shape (push) Has been cancelled
CD Pipeline / cancel-stale-cd (push) Has been cancelled
CD Pipeline / tests (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled
Some checks failed
CD Pipeline / workflow-shape (push) Has been cancelled
CD Pipeline / cancel-stale-cd (push) Has been cancelled
CD Pipeline / tests (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled
This commit is contained in:
@@ -18,6 +18,22 @@ export interface AwoooPStatusChain {
|
||||
verification?: string | null;
|
||||
needs_human?: boolean | null;
|
||||
next_step?: string | null;
|
||||
run_terminal_precedence?: {
|
||||
active?: boolean | null;
|
||||
reason?: string | null;
|
||||
run_id?: string | null;
|
||||
run_state?: string | null;
|
||||
error_code?: string | null;
|
||||
outcome_timeout_no_write_terminal?: boolean | null;
|
||||
timeout_at?: string | null;
|
||||
terminal_at?: string | null;
|
||||
terminalizer_runtime_write_performed?: boolean | null;
|
||||
outcome_runtime_write_status?: string | null;
|
||||
transport_replayed?: boolean | null;
|
||||
incident_resolution_authorized?: boolean | null;
|
||||
runtime_closure_verified?: boolean | null;
|
||||
safe_next_action?: string | null;
|
||||
} | null;
|
||||
operator_outcome?: {
|
||||
schema_version?: string;
|
||||
state?: string | null;
|
||||
@@ -466,6 +482,13 @@ export interface AwoooPStatusChain {
|
||||
|
||||
function toneClass(chain?: AwoooPStatusChain | null) {
|
||||
if (!chain) return "border-[#d8d3c7] bg-[#faf9f3] text-[#5f5b52]";
|
||||
if (
|
||||
chain.run_terminal_precedence?.active === true
|
||||
|| chain.stage_status === "failed"
|
||||
|| String(chain.repair_state ?? "").startsWith("failed_")
|
||||
) {
|
||||
return "border-[#e2a29b] bg-[#fff0ef] text-[#9f2f25]";
|
||||
}
|
||||
if (chain.repair_state === "auto_repaired_verified") {
|
||||
return "border-[#9bc7a4] bg-[#f0faf2] text-[#17602a]";
|
||||
}
|
||||
@@ -477,6 +500,11 @@ function toneClass(chain?: AwoooPStatusChain | null) {
|
||||
|
||||
function chainIcon(chain?: AwoooPStatusChain | null) {
|
||||
if (!chain) return Route;
|
||||
if (
|
||||
chain.run_terminal_precedence?.active === true
|
||||
|| chain.stage_status === "failed"
|
||||
|| String(chain.repair_state ?? "").startsWith("failed_")
|
||||
) return TriangleAlert;
|
||||
if (chain.repair_state === "auto_repaired_verified") return CheckCircle2;
|
||||
if (chain.needs_human || chain.repair_state === "blocked_manual_required") return ShieldCheck;
|
||||
return Activity;
|
||||
@@ -557,6 +585,7 @@ export function AwoooPStatusChainPanel({
|
||||
approve_post_apply_verifier_plan: t("nextActions.reviewPostApplyVerifier"),
|
||||
assign_km_writeback_owner_after_verified_execution: t("nextActions.prepareKmPlaybookWriteback"),
|
||||
assign_playbook_trust_owner_after_verified_execution: t("nextActions.prepareKmPlaybookWriteback"),
|
||||
await_new_source_recurrence_after_agent99_relay_recovery: t("nextActions.collectEvidenceOrWait"),
|
||||
};
|
||||
return labels[key] ?? valueOrEmpty(value, emptyLabel);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user