🧠Tiered memoryL0 repo card (always-load), L1 module cards, L2 symbol/dep index — an index into code, never a copyarchitecture
🕰️Provable freshnessevery card carries files, content hashes, and the commit sha it was built at — staleness is a diff, not a guesskuda status
🔀Multi-repo workspacessibling checkouts and git-dep edges resolve across repo boundaries — dependents() spans the whole workspaceworkspace setup
🧩Ports, not frameworksextract (manifest | treesitter | lsp), summarize (template | llm), store, vcs — swap via config or a new adapter cratearchitecture
📄Language as dataper-language knowledge lives in grammar + query + manifest files — a new language is a data change, not a release
🤖Built for agentsCLI for humans and scripts, MCP for agents — cards end in verify: lists so memory stays a hypothesisMCP setup