The tools talk to each other.
noema.tools isn’t four products in a row. It’s one loop: your AI sessions, your architecture, and the memory that connects them — the thing no single tool can do alone.
The ecosystem loop
How the loop runs
-
You work in Pragma
You run Claude Code inside Pragma. Every action — a file touched, a diff, an error, a tool call — becomes a typed, navigable atom instead of a scroll of terminal output.
-
Atoms become project memory
Those atoms flow into the Context Router — the memory layer — keyed by your project slug. It remembers what happened across sessions, so context doesn’t reset every time you start again.
-
Morphē shows the real system
Morphē reads the Router’s overlay and paints lens badges on the graph. Each node carries the real activity on that part of the code — the map reflects what happened, not a diagram drawn once and left to rot.
-
Strata hands off back to Pragma
Select a subgraph in Morphē and it compiles to a Markdown + YAML skeleton. That brief hands straight back to Pragma — and the next Claude Code session starts already oriented. The loop closes.
One paradigm, five domains
Everything in noema.tools is an atom — a minimal, typed, addressable unit of meaning. Each tool atomizes a different domain; the Context Router remembers them across sessions.
| Tool | Its atom | Domain | Format |
|---|---|---|---|
| Noema | an idea (title + body + parent) | knowledge & conversation | .noema.json |
| Pragma | an agent action (FileTouch, Diff, Error…) | execution & observability | NDJSON → SQLite |
| λεξις | a geometric primitive (10 atoms) | formal semantics | λεξις text |
| Morphē | a typed node on a canvas | architecture & design | GraphJson |
| Context Router | an atom persisted as project memory | memory across sessions | MSSQL / SQLite |
Noema atomizes knowledge. Pragma atomizes agent actions. Morphē atomizes architecture. λεξις gives atoms formal semantics. The Context Router remembers them across sessions.