/** * dashboard-client/src/tabs/VectorCortexTab/sections.tsx — DASH-0b sectioned * layout for the Vector Cortex tab. * * Groups the existent flat VectorCortexTab card list under 4 `
` headers — Cortex status / Cortex repair / Cortex cache / * Cortex adaptive — without editing any card component file. Every card is * imported verbatim by its current path (unchanged prop contract) and appears * under EXACTLY one section (bijective assignment). * * Groups (spec §Goal): * - Cortex status — VC0C health card + ModelImprovementCard + * VectorCortexTopologyCard + VectorCortexShardsCard * (+ embedded Reconstruct) * - Cortex repair — VectorCortexClosureCard + VectorCortexRestoreCard + * VectorCortexRepairCard * - Cortex cache — VectorCortexCrystalsCard + VectorCortexEconomicsCard + * VectorCortexDiagnosticsCard * - Cortex adaptive— VectorCortexOutcomesCard + VectorCortexPolicyCard + * VectorCortexPlansCard + VectorCortexRenderCard + * VectorCortexRolloutCard + VectorCortexPlatformCard + * VectorCortexLedgerCard * * The health card (VC0C "Live Safety Envelope") markup is moved here verbatim * from the predecessor VectorCortexTab so the sectioned (flag-ON) layout owns * all 18 cards. Consumers pass the live poll state + health-reset handlers. * * PREVENT-PI-004: local reader data only. PREVENT-011: no `any`. */ import type { VectorCortexHealthCard, VectorCortexEvaluationSummary, } from "../../api/vector-cortex"; import type { VectorCortexPollState } from "../useVectorCortexPoll"; import { Card, CardContent, CardHeader, CardTitle } from "../../components/ui/card"; import { Badge } from "../../components/ui/badge"; import { Metric } from "../VectorCortexMetric"; import { VectorCortexRenderCard } from "../VectorCortexRenderCard"; import { VectorCortexRolloutCard } from "../VectorCortexRolloutCard"; import { VectorCortexClosureCard } from "../VectorCortexClosureCard"; import { VectorCortexRestoreCard } from "../VectorCortexRestoreCard"; import { VectorCortexRepairCard } from "../VectorCortexRepairCard"; import { VectorCortexCrystalsCard } from "../VectorCortexCrystalsCard"; import { VectorCortexEconomicsCard } from "../VectorCortexEconomicsCard"; import { VectorCortexDiagnosticsCard } from "../VectorCortexDiagnosticsCard"; import { VectorCortexOutcomesCard } from "../VectorCortexOutcomesCard"; import { VectorCortexPolicyCard } from "../VectorCortexPolicyCard"; import { VectorCortexPlatformCard } from "../VectorCortexPlatformCard"; import { VectorCortexShardsCard, VectorCortexReconstructCard, } from "../VectorCortexShardsCard"; import { VectorCortexPlansCard } from "../VectorCortexPlansCard"; import { VectorCortexTopologyCard } from "../VectorCortexTopologyCard"; import { VectorCortexLedgerCard } from "../VectorCortexLedgerCard"; import { ModelImprovementCard } from "../../components/ModelImprovementCard"; /** Props the sectioned layout needs from the VectorCortexTab shell. */ export interface VectorCortexSectionsProps { /** The polled evaluation summary (guaranteed non-null by the shell). */ data: VectorCortexEvaluationSummary; /** Live VC0C health envelope (may be null when VC0C is off). */ health: VectorCortexHealthCard | null; /** The full poll state (holds every card's view slice). */ poll: VectorCortexPollState; /** Reset-cooldown handler wired to the VC0C health card. */ onReset: () => void; /** Reset feedback message shown on the VC0C health card. */ resetMsg: string | null; } function StatusHeading({ id, title }: { id: string; title: string }): React.ReactElement { return (

{title}

); } /** * The VC0C "Live Safety Envelope" health card, moved verbatim from the * predecessor VectorCortexTab. It is the 18th card in the sectioned layout. */ function Vc0cHealthCard({ health, onReset, resetMsg, }: { health: VectorCortexHealthCard | null; onReset: () => void; resetMsg: string | null; }): React.ReactElement { return (
Live Safety Envelope (VC0C)
{health?.stateSource === "ephemeral" && ( EPHEMERAL (non-live) )}
{resetMsg && (
{resetMsg}
)} {!health ? (
Health unavailable (VC0C off).
) : (
)}
); } /** The four section groups, rendered as `
` blocks. */ export function VectorCortexSections({ data, health, poll, onReset, resetMsg, }: VectorCortexSectionsProps): React.ReactElement { return ( <>
{data.ml5dEnabled && ( )}
); }