"use client"; export default function ArchitecturePipeline() { const nodes = [ { id: "LAYER-01", name: "AGENTS", desc: "S0–S4 emit\nobservations + actions\nper timestep", color: "rgba(0, 200, 255, 0.4)", labelColor: "#00f5ff" }, { id: "LAYER-02", name: "ADV DETECTOR", desc: "KL-divergence\nanomaly scan\nByzantine flag", color: "rgba(255, 45, 85, 0.3)", labelColor: "#ff2d55" }, { id: "LAYER-03", name: "ORCHESTRATOR", desc: "Trust-weighted\naggregation &\ndecision output", color: "rgba(0, 255, 136, 0.3)", labelColor: "#00ff88" }, { id: "LAYER-04", name: "REWARD SIG.", desc: "Shaped scalar\nwith adversarial\npenalty term", color: "rgba(255, 184, 0, 0.3)", labelColor: "#ffb800" }, { id: "LAYER-05", name: "POLICY UPDATE", desc: "PPO gradient\nstep + trust\nposterior update", color: "rgba(0, 85, 255, 0.4)", labelColor: "#0088ff" }, ]; const arrows = ["ACTIONS", "FLAGS", "DECISION", "REWARD"]; return ( <>
{nodes.map((node, i) => (
{node.id}
{node.name}
{node.desc.split("\n").map((l, j) => {l}
)}
{i < nodes.length - 1 && (
{arrows[i]}
)} ))}
LOOP:   observe() →{" "} detect_adversary() →{" "} aggregate_trust() →{" "} act() →{" "} compute_reward() →{" "} update_policy() →{" "} repeat    // T: O(N·K) // SPACE: O(N²)
); }