/**
 * Finite public projection contract for proof cards.
 *
 * Each proof card composes `run_proof_evidence` (run summary, severity, key
 * outputs) with the matching review queue entry's headline/decision when one
 * exists. Card surfaces stay bounded — no raw paths, provider IDs, or audit
 * fragments.
 */
import { readPublicTitle } from "./runProjectionContract.js";
export const PROOF_CARD_PROJECTION_PUBLIC_SOURCE = "proof-cards";
export const PROOF_CARD_STATUSES = [
    "ready",
    "in-progress",
    "needs-attention",
    "blocked",
];
export const PROOF_CARD_TONES = [
    "primary",
    "success",
    "warning",
    "destructive",
    "muted",
];
export function toneForProofCardStatus(status) {
    switch (status) {
        case "ready":
            return "success";
        case "in-progress":
            return "primary";
        case "needs-attention":
            return "warning";
        case "blocked":
            return "destructive";
    }
}
export function readProofCardLabel(value) {
    return readPublicTitle(value ?? null);
}
