OpenKT — knowledge synthesis across 5 teams

memories → MemMachine facts → synthesized KBs (conflicts · forks · relations) · connected knowledge graph · 2026-05-30

the team building this product · 30 memories from 3 people → 7 KBs · 4 conflicts · 2 forks

Knowledge graph — click any node to read it. ● memory · ▦ knowledge base · ◆ person · relation

Click a node to inspect — a memory shows its raw text, a KB its summary, a person their contributions.

People — who is contributing what

Claude (AI engineer)15 memories
Embedding & Vector StrategyMemory Architecture: MemMachine vs OpenKT RolesDatabase & Infrastructure ConsolidationKnowledge Base Synthesis & ClusteringAuthentication & Access ControlPipeline Architecture & Job Tracking
Pratham (founder)12 memories
Embedding & Vector StrategyDatabase & Infrastructure ConsolidationMemory Architecture: MemMachine vs OpenKT RolesKnowledge Base Synthesis & ClusteringAuthentication & Access ControlProduct Vision & Deployment
server-agent (gastown rig)3 memories
Database & Infrastructure ConsolidationPipeline Architecture & Job Tracking

Knowledge bases

Memory Architecture: MemMachine vs OpenKT Roles Claude, Pratham

MemMachine is the memory engine: ingest, extract episodic + semantic signals, recall via /search endpoint. OpenKT is the knowledge layer: synthesize MM's signals into team knowledge bases and skills. OpenKT does NOT recall; it builds FROM MemMachine's signals. Episodic memory in Neo4j; semantic features in Postgres. Recall never reimplemented in OpenKT.

⑂ FORK — Recall return format: single vs dual layer
Claude: Recall returns both MemMachine raw facts + OpenKT KB briefs in meta.knowledge_bases
Pratham: Recall must stay MemMachine-only; KB is built FROM MM signals, not a second recall path

Knowledge Base Synthesis & Clustering Claude, Pratham

Retired cosine similarity threshold (0.75) — Titan similarities for related memories only 0.15–0.32, never clustered. Moved to LLM-based synthesis: project-level stage clusters topics, writes current-state summaries, detects supersedes vs open forks, forms relations. Simple v3 prompt outperformed over-prescriptive v2; kept lean. Forks require contributor-attributed sources (semantic features strip contributor).

KB clustering method → now LLM-based project-level synthesis with topic clustering (was Cosine similarity >= 0.75 per-memory classify_kb)
Synthesis prompt complexity → now Lean v3 prompt (was Over-prescriptive v2 prompt)

Embedding & Vector Strategy Claude, Pratham

Single canonical embedding model: Amazon Bedrock Titan v2. Chosen for cost, IAM-native auth, and unified system architecture. BGE entirely eradicated. Interim: OpenKT calls Bedrock directly; post-DB-collapse: OpenKT will reuse MemMachine's stored Titan vectors to eliminate double-embedding.

BGE embedding helper status → now BGE eradicated; Titan only (was BGE running in parallel)

Database & Infrastructure Consolidation Claude, Pratham, server-agent

One shared Postgres (15432 locally) for both MemMachine and OpenKT. MemMachine coexists in public schema after Alembic migration workaround. Neo4j (17687) stores episodic memory. RabbitMQ (15673) for async jobs. Region: us-east-1 (Bedrock Titan v2 availability constraint; Singapore ap-southeast-1 unavailable). Terraform state drift must be managed with -target flag.

MemMachine schema placement → now MemMachine in public schema of shared DB (was Separate openkt + memmachine schemas)

Pipeline Architecture & Job Tracking Claude, server-agent

Per-memory pipeline: preprocess → embed (Titan) → triage → classify_kb, with mm-sync running in parallel on 5-minute cron. Every stage tracked in agentic_jobs with idempotency keys, retries, dead-letter queue. Fallback: when MemMachine unhealthy, OpenKT reads features directly from Postgres via Drizzle so recall never hard-fails. End-to-end shakeout passed on local docker-compose.

Authentication & Access Control Claude, Pratham

Email + password only — no magic links, no social login. Dual auth layer: Supabase JWT for dashboard; Clerk webhook mirrors users and orgs into RDS. One dispatcher resolves either token into ActorContext.

⑂ FORK — Auth method scope
Pratham: Email + password only; no magic links or social login
Claude: Dual auth: Supabase JWT + Clerk webhook for flexibility

Product Vision & Deployment Pratham, Claude

OpenKT is the context cloud for AI-native teams — knowledge bases prevent agents from repeating work already done. Knowledge bases convert into skills via Create Skills plugin. OpenKT ships as Claude Code plugin with prompts, skills, MCPs, required scripts. Ship fast: correct + minimal + shipped beats complete + perfect + siloed. Month-long build cycle; ready to go live.