PNP Compute is the IDE + runtime for NeuroLang — a Python framework where every capability is a typed, composable neuro. From a single skill to a full agency, on one substrate.
A flow's behaviour cannot be derived from the behaviour of its parts. Glue code is opaque.
Agents write to mailboxes, billing, prod code without surfacing the capability boundary.
The "decision" lives inside an LLM context window — irretrievable, irreproducible, unverifiable.
These are not accidents. They are inevitable when you build agents on substrates that erase compositional structure.
The Python library. Typed primitives, composition operators, plans as values.
The program. A composed network of neuros — authored in NeuroLang, runnable, shareable, installable. The apps are NeuroNets.
The IDE + runtime fused — like a Lisp Machine. Authoring, execution, and visualisation in one continuous environment.
A typed, composable runtime unit. Identity, behaviour, optional language surface. The same shape covers thinking, planning, tool use, memory, model invocation, and behaviour policy.
Drop a folder in; the runtime sees it. No restart. Hot-loadable. Validated. Versionable.
neuros/extract_book/
├── conf.json # contract
├── code.py # behaviour
└── prompt.txt # optional
from neurolang import neuro, Flow, Memory
from neurolang.stdlib import web, reason
@neuro(effect="tool")
def extract_book(url: str) -> dict:
"""Scrape title, author, summary."""
...
research: Flow = (
web.search
| extract_book
| reason.summarize
| memory.store
)
plan = research.plan(query="category theory")
plan.cost_estimate() # budget rolled up
plan.run(memory=Memory.discrete())
plan.serialize() # inspect, replay
Workspace + team. Color, emoji, agents.
Unit of work inside an agency.
Role orchestrator with router + planner + replier + profile.
Atomic capability. Hot-loadable.
Four layers. Each groups the next. Scale from one capability to a full agency without changing the model.
STT/TTS over LiveKit. Sub-second round trip.
Graph-native authoring with R3F.
Multi-agent transcripts with mediation.
Cron triggers persisted in SQLite + APScheduler.
Direct typed agent-to-agent messages with depth guard.
Android remote with WebRTC desktop streaming.
Meeting Rooms. Multiple agents share a transcript with a mediator picking the next speaker round-robin.
agent.talk. Direct typed messages between agents. Depth-guarded (MAX=4) — the substrate beneath rooms.
Schedules. Cron-style triggers. "Every morning at 8 send me the summary" — handled by the runtime.
| Capability | LangChain | DSPy | Pydantic AI | NeuroLang |
|---|---|---|---|---|
| Plans as first-class values | — | — | — | ✓ |
| Effects in types | — | — | partial | ✓ |
| Budget annotations | — | — | — | ✓ |
| Recovery as primitive | library | library | library | language-level |
| Bidirectional NL ↔ code | — | partial | — | cached adjunction |
| Categorical / 3D viz | — | — | — | ✓ |
Pre-alpha. APIs unstable. Bones in place. Trinity taking shape. The right Python library + the right authoring surface for agentic coding.