const ERAS = [ { era: 'v1–v4', period: '2024 – Early 2025', name: 'Origin', color: '#38bdf8', summary: 'Basic trajectory scanner — flat log, regex credential patterns, single-env.', milestones: [ 'Ed25519 trajectory signing', 'First OWASP LLM01 detection', 'Python SDK alpha', ], }, { era: 'v5–v7', period: 'Mid 2025', name: 'Epistemic Core', color: '#34d399', summary: 'Epistemic Contradiction Engine introduced. Belief graph, tiered memory, cheap-path budget governor.', milestones: [ 'Epistemic Contradiction Engine (ECE)', 'HOT / WARM / COLD memory tiers', 'Expected Value Governor (frontier budget)', 'Evidence provenance tracking (OBSERVED → DISPROVEN)', ], }, { era: 'v8–v9', period: '2026 – Now', name: 'Adaptive Memory Engine', color: '#a78bfa', summary: 'Full DERG graph, async dreaming for offline strategy compression, SHA-256 chain attestation, GCP Cloud Run deployment.', milestones: [ 'DERG graph with epistemic node status', 'Async offline strategy compression ("dreaming")', 'Cloud Run + Firebase Hosting production deploy', 'Multi-env policy (dev / staging / prod / air-gap)', '11.98M scans/sec benchmark', ], }, ] export default function ArchEvolution() { return (
Architecture Evolution

From scanner to Adaptive Memory Engine

Where it started, where it is, and where it's going.

{/* Timeline */}
{/* Vertical line */}
{ERAS.map((era, i) => (
{/* Timeline dot */}
{i + 1}
{/* Card */}
{era.era} {era.period}

{era.name}

{era.summary}

    {era.milestones.map(m => (
  • {m}
  • ))}
))}
) }