Original Reddit post

Ever had this happen? Turn 3: “We can’t use Python — the team only knows TypeScript.” Turn 47: Claude cheerfully suggests a Python library. It’s not a hallucination. Claude remembered the decision. It just forgot the reason — so the constraint felt optional. I built Crux to fix this. It maintains a causal dependency graph of your architectural decisions across the entire session: ⛔ CONSTRAINT: Team only knows TypeScript ↓ 💡 RATIONALE: TypeScript is the only viable option ↓ ▸ DECISION: Do not introduce Python dependencies These three are welded together. Claude sees the WHY every time — not just the what. How it works: Extracts decisions automatically from normal conversation (no /remember commands) Scores atoms by relevance + importance (PageRank on the dependency graph) and injects only what’s relevant to the current prompt Before compaction: injects co-inclusion rules so Claude can’t summarize away the rationale without the decision After compaction: reloads the full graph from disk and re-injects it Install (one line):

1. Add the marketplace /plugin marketplace add akashp1712/claude-marketplace # 2. Install the plugin /plugin install crux@akashp1712

Zero dependencies. Zero cost in local mode. Works immediately. Commands: /crux:status — see your full decision graph /crux:why Express — trace why a decision was made, all the way back to root constraints /crux:decisions — list everything active + what got superseded /crux:export — persist to CLAUDE.md permanently Open source (MIT): github.com/akashp1712/claude-crux submitted by /u/Prestigious-Bus-8069

Originally posted by u/Prestigious-Bus-8069 on r/ClaudeCode