// ENGINEER VIEW — systems topology for engineers const { useState } = React; const SERVICES = [ { name: "orchestrator", type: "Railway Worker", role: "Primary interface · routes exchanges · assembles context · dispatches to specialists", status: "live" }, { name: "FalkorDB", type: "Railway Database", role: "Graph storage · OpenCypher · vector search at 384 dims · append-only write target", status: "live" }, { name: "write-workers", type: "Railway Workers", role: "Write-time consolidation · decompose · tag · embed · write · stateless + horizontal", status: "live" }, { name: "append-workers", type: "Railway Workers", role: "Taxonomy re-tag · correction appends · Insight generation · background traversal", status: "live" }, { name: "auditor", type: "Railway Worker", role: "Async classification audit · samples write-worker output · human escalation queue", status: "live" }, { name: "cataloger", type: "Railway Worker", role: "Session cataloger · predictive state model · lateral awareness · one step behind", status: "live" }, { name: "insight-library",type: "Railway Web", role: "Read-only Insight graph browse · filterable by context · time · entity", status: "live" }, ]; const STATUS_META = { live: { label: "LIVE", color: "#3dd68c", bg: "rgba(61,214,140,0.1)" }, }; const GRAPH_NODES = [ { id: "user", x: 60, y: 50, label: "User", color: "#38d4c8" }, { id: "session", x: 200, y: 50, label: "Session", color: "#38d4c8" }, { id: "message", x: 340, y: 50, label: "Message", color: "#38d4c8" }, { id: "chunk", x: 480, y: 50, label: "Chunk", color: "#9d7ee8" }, { id: "context", x: 590, y: 140, label: "Context", color: "#e8a84c" }, { id: "topic", x: 480, y: 140, label: "Topic", color: "#e8a84c" }, { id: "entity", x: 370, y: 140, label: "Entity", color: "#e8a84c" }, { id: "insight", x: 590, y: 0, label: "Insight ★", color: "#3dd68c" }, ]; const GRAPH_EDGES = [ { from: "user", to: "session", label: "PARTICIPATED_IN", color: "#38d4c8" }, { from: "session", to: "message", label: "CONTAINS", color: "#38d4c8" }, { from: "message", to: "chunk", label: "CONTAINS", color: "#38d4c8" }, { from: "chunk", to: "context", label: "IN_CONTEXT", color: "#e8a84c" }, { from: "chunk", to: "topic", label: "TAGGED", color: "#e8a84c" }, { from: "chunk", to: "entity", label: "MENTIONS", color: "#e8a84c" }, { from: "insight", to: "chunk", label: "DERIVED_FROM ★", color: "#3dd68c", planned: true }, { from: "insight", to: "context", label: "IN_CONTEXT ★", color: "#3dd68c", planned: true }, ]; const ABAC_RULES = [ { title: "Write access", body: "Cara cluster only. No agent writes to the graph directly. Graph topology is owned by consolidation workers, not agents." }, { title: "Read access — Orchestrator", body: "Full traversal within the principal's graph. Cross-context reads within the user's access profile." }, { title: "Read access — Specialists", body: "Scoped to permitted contexts. Specialist A reads business_deal context. Specialist B reads operational context. Cross-contamination structurally impossible." }, { title: "Read access — Auditor", body: "Cross-context read for audit purposes only. Auditor decisions are logged. Every read is traceable." }, { title: "Multi-context chunks", body: "Chunks that span contexts carry multiple IN_CONTEXT edges. Retrieval checks the full access profile before surfacing." }, { title: "Forgetting", body: "Tombstone records retire chunks from retrieval. The original node is preserved. Forgetting is auditable." }, ]; const EMBEDDING_SPEC = [ { k: "Model", v: "sentence-transformers/all-MiniLM-L6-v2" }, { k: "Dimensions", v: "384" }, { k: "Runtime", v: "Local to write worker — no external API" }, { k: "Version tracking", v: "embedding_model_version on every Chunk node" }, { k: "Re-embed policy", v: "Full re-embed on major version change" }, { k: "Cross-version retrieval", v: "Degraded but non-zero utility" }, ]; const CARA_WORKERS = [ { type: "Write Workers", color: "#38d4c8", trigger: "POST /chunk from orchestrator", ops: ["Semantic chunking (Haiku)", "Context tagging", "384-dim embedding", "FalkorDB write"], scale: "Horizontal — stateless", status: "live", }, { type: "Append Workers", color: "#9d7ee8", trigger: "Schedule + write worker activity", ops: ["Taxonomy re-tagging", "Correction appends (superseding)", "Insight generation (traversal)", "Tombstone writes"], scale: "Lower-priority queue", status: "live", }, ]; function ServiceTable() { return (
Systems Topology
Seven services. All independently deployable on Railway. The write worker cluster is stateless and horizontally scalable. The graph is the source of truth.
Access boundaries are structural, not procedural.{" "} Context membership is attached to chunks at write time by the write worker. The graph topology contains no traversal paths from a restricted query origin to out-of-scope chunks. A principal with access to context:business_deal cannot retrieve chunks tagged exclusively context:personal — not because a policy engine checked the request, but because no traversal path exists.