"use client"; import { Brain, Shuffle, CircleGauge, ShieldAlert, ArrowRight, Sparkles, ChartLine } from "lucide-react"; import { formatScore } from "../lib/theme"; import type { EvalSummary } from "../lib/types"; const ARCH = [ { icon: Brain, title: "Orchestrator", desc: "Learns trust, verification, and recovery from behavior alone." }, { icon: Shuffle, title: "Shuffled Specialists", desc: "Hidden profiles reshuffle every reset — no identity memorization." }, { icon: CircleGauge, title: "Trust Ledger", desc: "Bayesian updates turn observed behavior into routing signal." }, { icon: ShieldAlert, title: "Reward Engine", desc: "Completion + detection + calibration + efficiency." }, ]; const BEFORE_STEPS = [ "Orchestrator delegates with no evidence.", "Adversarial specialist poisons high-stakes output.", "Poisoned state cascades across downstream tasks.", "Mission fails — nobody knows which slot was risky.", ]; const AFTER_STEPS = [ "Trust ledger updates after every action.", "High-stakes + low-trust triggers verification.", "Adversarial attempt blocked before cascade.", "Profile swap proves skill, not memorized identity.", ]; const CHARTS = [ { title: "Baseline Delta", desc: "Policy score lift over random and heuristic baselines.", src: "/assets/charts/baseline_delta_lines.png", }, { title: "Failure Fishbone", desc: "Real AI reliability failures mapped to SENTINEL modules.", src: "/assets/charts/failure_fishbone_map.png", }, { title: "Cluster Health", desc: "Survivability trend across policies during GPU operations.", src: "/assets/charts/cluster_health_policy_lines.png", }, { title: "Trust Gap", desc: "How quickly trust separates reliable and risky specialists.", src: "/assets/charts/trust_gap_over_time.png", }, { title: "Reward Components", desc: "Accuracy, stakes, verification, confidence, and routing signals.", src: "/assets/charts/reward_component_stacked_area.png", }, { title: "Detection vs Poisoning", desc: "Caught adversarial events compared with accepted poison.", src: "/assets/charts/detection_vs_poisoning.png", }, ]; export default function Landing({ proof, onEnterMission, onEnterJudge, }: { proof: { random: EvalSummary; heuristic: EvalSummary; oracle: EvalSummary; trained?: EvalSummary; task3Heuristic: EvalSummary; } | null; onEnterMission: () => void; onEnterJudge: () => void; }) { return (
{/* hero */}

Agents fail because they{" "} trust blindly

SENTINEL trains an orchestrator to decide who to trust, when to verify, and how to recover in long multi-agent tasks when specialist agents are unreliable or adversarial.

{/* score strip */}
Random
{formatScore(proof?.random.avg_score)}
Heuristic
{formatScore(proof?.heuristic.avg_score)}
Oracle‑lite
{formatScore(proof?.oracle.avg_score)}
GRPO Replay
{formatScore(proof?.trained?.avg_score)}
Task 3 Detect
{formatScore(proof?.task3Heuristic.avg_detection_rate)}
{/* before / after */}
Why This Matters
Before vs After SENTINEL
✗ Without Trust Calibration

Blind Delegation

{BEFORE_STEPS.map((s, i) => (
{i + 1} {s}
))}
0.19
✓ With SENTINEL Training

Trust‑Aware Routing

{AFTER_STEPS.map((s, i) => (
{i + 1} {s}
))}
0.71
{/* architecture */}
Architecture
What the System Is Made Of
{ARCH.map((a) => (

{a.title}

{a.desc}

))}
{/* evidence charts */}
Evidence
Baseline, Trust, Reward, and Failure Maps
{CHARTS.map((chart) => (

{chart.title}

{chart.desc}

{chart.title}
))}
); }