HumboldtJoker's picture
Upload folder using huggingface_hub
4554903 verified
Raw
History Blame Contribute Delete
12.5 kB
{
"description": "Multiverse Campus system architecture, operational constraints, and confirmed audit findings",
"triples": [
{
"subject": "campus_runtime",
"predicate": "implemented_with",
"object": "Node.js 20"
},
{
"subject": "campus_language",
"predicate": "implemented_with",
"object": "TypeScript"
},
{
"subject": "campus_server",
"predicate": "implemented_with",
"object": "Express 4"
},
{
"subject": "campus_client",
"predicate": "implemented_with",
"object": "React 18 + Vite 7 + Tailwind CSS 4"
},
{
"subject": "campus_state",
"predicate": "implemented_with",
"object": "Zustand (49 stores)"
},
{
"subject": "campus_database",
"predicate": "implemented_with",
"object": "PostgreSQL 16 (120 tables, 377 migrations)"
},
{
"subject": "campus_cache",
"predicate": "implemented_with",
"object": "Redis 7 (data + Socket.IO pub/sub)"
},
{
"subject": "campus_real-time",
"predicate": "implemented_with",
"object": "Socket.IO 4 (Redis adapter, PM2 cluster)"
},
{
"subject": "campus_process_mgr",
"predicate": "implemented_with",
"object": "PM2 cluster mode (max instances)"
},
{
"subject": "campus_jobs",
"predicate": "implemented_with",
"object": "pg-boss 12 (durable, PostgreSQL-backed)"
},
{
"subject": "campus_queue",
"predicate": "implemented_with",
"object": "NATS JetStream (sprite generation)"
},
{
"subject": "campus_monorepo",
"predicate": "implemented_with",
"object": "npm workspaces: shared, design-system, server, client"
},
{
"subject": "campus",
"predicate": "integrates",
"object": "Matrix (Synapse) (Chat)"
},
{
"subject": "campus",
"predicate": "integrates",
"object": "Stripe (Payments)"
},
{
"subject": "campus",
"predicate": "integrates",
"object": "LiveKit (Video/audio)"
},
{
"subject": "campus",
"predicate": "integrates",
"object": "BigBlueButton (Lectures)"
},
{
"subject": "campus",
"predicate": "integrates",
"object": "Groq (LLM (primary))"
},
{
"subject": "campus",
"predicate": "integrates",
"object": "Anthropic (LLM (Claude))"
},
{
"subject": "campus",
"predicate": "integrates",
"object": "OpenRouter (LLM (fallback))"
},
{
"subject": "campus",
"predicate": "integrates",
"object": "PixelLab (Sprite generation)"
},
{
"subject": "campus",
"predicate": "integrates",
"object": "SendGrid (Email)"
},
{
"subject": "campus",
"predicate": "integrates",
"object": "AWS S3 (Storage)"
},
{
"subject": "campus",
"predicate": "integrates",
"object": "GCP Secret Manager (Secrets (optional))"
},
{
"subject": "staging_environment",
"predicate": "shares_database_with",
"object": "production_environment"
},
{
"subject": "campus_migrations",
"predicate": "must_be",
"object": "additive_only"
},
{
"subject": "campus_migrations",
"predicate": "must_be",
"object": "backward_compatible_and_reversible"
},
{
"subject": "campus_auth",
"predicate": "uses",
"object": "bearer_jwt_15min_access_7day_refresh"
},
{
"subject": "campus_auth",
"predicate": "middleware_chain",
"object": "verifyToken -> rejectIfIneligible -> requireAdmin/requireModerator"
},
{
"subject": "websocket_auth",
"predicate": "verified_via",
"object": "handshake.auth.token -> verifyToken()"
},
{
"subject": "campus_deploy",
"predicate": "flows_through",
"object": "push_to_main -> coolify_rebuild (webhook flaky)"
},
{
"subject": "deploy-safe.sh",
"predicate": "provides",
"object": "snapshot + smoke test + rollback"
},
{
"subject": "audit_finding_C1",
"predicate": "severity",
"object": "CRITICAL"
},
{
"subject": "audit_finding_C1",
"predicate": "describes",
"object": "Lecture instructor_id type mismatch \u2014 all lectures broken"
},
{
"subject": "audit_finding_C1",
"predicate": "remediation",
"object": "socket.userId is a numeric string but lecture_sessions.instructor_id is a UUID column. Use consistent ID types; never compare socket IDs to DB UUIDs with ===."
},
{
"subject": "audit_finding_C1",
"predicate": "located_at",
"object": "server/src/services/lectureCapture.ts:48"
},
{
"subject": "audit_finding_C2",
"predicate": "severity",
"object": "CRITICAL"
},
{
"subject": "audit_finding_C2",
"predicate": "describes",
"object": "Webhook signature bypass when env var is unset"
},
{
"subject": "audit_finding_C2",
"predicate": "remediation",
"object": "Never skip signature verification when a secret env var is missing \u2014 reject the request instead, or require NODE_ENV=development for any bypass."
},
{
"subject": "audit_finding_C2",
"predicate": "located_at",
"object": "server/src/routes/webhook.ts:219"
},
{
"subject": "audit_finding_H1",
"predicate": "severity",
"object": "HIGH"
},
{
"subject": "audit_finding_H1",
"predicate": "describes",
"object": "JWT_SECRET falls back to empty string"
},
{
"subject": "audit_finding_H1",
"predicate": "remediation",
"object": "Startup must be fatal (process.exit(1)) when JWT_SECRET is empty or a placeholder. Never sign or verify with a defaulted secret."
},
{
"subject": "audit_finding_H1",
"predicate": "located_at",
"object": "server/src/middleware/auth.ts:12"
},
{
"subject": "audit_finding_H2",
"predicate": "severity",
"object": "HIGH"
},
{
"subject": "audit_finding_H2",
"predicate": "describes",
"object": "connect_error triggers rapid reconnection loop"
},
{
"subject": "audit_finding_H2",
"predicate": "remediation",
"object": "All reconnect paths need exponential backoff. Only refresh tokens on 401/403, not on every connect_error."
},
{
"subject": "audit_finding_H2",
"predicate": "located_at",
"object": "client/src/stores/presenceStore.ts:578"
},
{
"subject": "audit_finding_H3",
"predicate": "severity",
"object": "HIGH"
},
{
"subject": "audit_finding_H3",
"predicate": "describes",
"object": "Gem debit without transaction protection"
},
{
"subject": "audit_finding_H3",
"predicate": "remediation",
"object": "debitGems/creditGems plus any dependent operation must share one DB transaction. A crash between them loses currency permanently."
},
{
"subject": "audit_finding_H3",
"predicate": "located_at",
"object": "server/src/routes/store.ts:1108"
},
{
"subject": "audit_finding_H4",
"predicate": "severity",
"object": "HIGH"
},
{
"subject": "audit_finding_H4",
"predicate": "describes",
"object": "Trade system has no accept handler \u2014 feature incomplete"
},
{
"subject": "audit_finding_H4",
"predicate": "remediation",
"object": "trade:create-offer exists but accept/decline/cancel do not. Don't build on the trade flow assuming it completes."
},
{
"subject": "audit_finding_H4",
"predicate": "located_at",
"object": "server/src/services/socketHandlers/tradeHandlers.ts"
},
{
"subject": "audit_finding_M1",
"predicate": "severity",
"object": "MEDIUM"
},
{
"subject": "audit_finding_M1",
"predicate": "describes",
"object": "JWT_SECRET prefix leaked into NPC Matrix password"
},
{
"subject": "audit_finding_M1",
"predicate": "remediation",
"object": "Never derive user-visible values from signing secrets. Use a separate secret or an HMAC derivation."
},
{
"subject": "audit_finding_M1",
"predicate": "located_at",
"object": "server/src/services/shopkeeperTools.ts:368"
},
{
"subject": "audit_finding_M2",
"predicate": "severity",
"object": "MEDIUM"
},
{
"subject": "audit_finding_M2",
"predicate": "describes",
"object": "Matrix admins receive isAdmin=true in client response"
},
{
"subject": "audit_finding_M2",
"predicate": "remediation",
"object": "Client-facing admin flags must reflect server-enforced roles only; Matrix server admin is not campus admin."
},
{
"subject": "audit_finding_M2",
"predicate": "located_at",
"object": "server/src/routes/auth.ts:87"
},
{
"subject": "audit_finding_M3",
"predicate": "severity",
"object": "MEDIUM"
},
{
"subject": "audit_finding_M3",
"predicate": "describes",
"object": "No security headers (helmet/CSP/HSTS missing)"
},
{
"subject": "audit_finding_M3",
"predicate": "remediation",
"object": "Add helmet middleware with an appropriate CSP."
},
{
"subject": "audit_finding_M3",
"predicate": "located_at",
"object": "server/src/index.ts"
},
{
"subject": "audit_finding_M4",
"predicate": "severity",
"object": "MEDIUM"
},
{
"subject": "audit_finding_M4",
"predicate": "describes",
"object": "Faculty can kick/ban other faculty and admins"
},
{
"subject": "audit_finding_M4",
"predicate": "remediation",
"object": "Moderation handlers must check the TARGET's role, not just the actor's \u2014 no acting on equal/higher privilege."
},
{
"subject": "audit_finding_M4",
"predicate": "located_at",
"object": "server/src/services/socketHandlers/facultyPanelHandlers.ts:259"
},
{
"subject": "audit_finding_M5",
"predicate": "severity",
"object": "MEDIUM"
},
{
"subject": "audit_finding_M5",
"predicate": "describes",
"object": "No per-student message cap on agent conversations"
},
{
"subject": "audit_finding_M5",
"predicate": "remediation",
"object": "Every new LLM-calling path needs a per-student daily cap or token budget."
},
{
"subject": "audit_finding_M5",
"predicate": "located_at",
"object": "server/src/services/socketHandlers/agentHandlers.ts"
},
{
"subject": "audit_finding_L1",
"predicate": "severity",
"object": "LOW"
},
{
"subject": "audit_finding_L1",
"predicate": "describes",
"object": "Foreign keys without ON DELETE break agent deletion"
},
{
"subject": "audit_finding_L1",
"predicate": "remediation",
"object": "New FKs referencing agents (or similar parents) need ON DELETE CASCADE or explicit dependent cleanup."
},
{
"subject": "audit_finding_L1",
"predicate": "located_at",
"object": "migrations 193/223/303"
},
{
"subject": "audit_finding_L2",
"predicate": "severity",
"object": "LOW"
},
{
"subject": "audit_finding_L2",
"predicate": "describes",
"object": "Agent job payments without transaction"
},
{
"subject": "audit_finding_L2",
"predicate": "remediation",
"object": "gem_balance and earnings updates must share one transaction."
},
{
"subject": "audit_finding_L2",
"predicate": "located_at",
"object": "server/src/services/agentAutonomy.ts:1704"
},
{
"subject": "antipattern_env_fallback_disables_security",
"predicate": "warns",
"object": "Env var fallback that silently degrades security (audit pattern 4)."
},
{
"subject": "antipattern_parseint_no_nan_guard",
"predicate": "warns",
"object": "parseInt on route params without a NaN guard (audit pattern 3)."
},
{
"subject": "antipattern_socket_on_without_off",
"predicate": "warns",
"object": "Socket listener registration \u2014 confirm matching socket.off cleanup (audit pattern 2)."
}
]
}