Plain ships Python for agents — and the COMPAS-Robots lesson it inherits
Plain v1.0 ships typed Python and on-demand docs designed for coding agents — and the dependency-graph lesson COMPAS-Robots quietly taught AEC studios.
Plain v1.0 shipped this week on Hacker News — a Python web framework that brands itself, with no apology, as “for humans and agents.” Built by Dave Gaeddert’s team at PullApprove, originally a 2023 fork of Django, it is now a 31-package monorepo with typed models, on-demand docs, slash-command skills for Claude Code, and an MCP server in the box. The interesting move is not that Plain works with agents. It is that the framework’s dependency graph was redrawn to be readable by them.
←TODAY: Plain (BSD-3, 31 packages, Python 3.13+, Postgres-only) ships typed signatures and an MCP server for AI clients in v1.0.
→3012: By Zurich-3012, the framework you pick is the dependency graph your agents inhabit — typed and traceable, or quietly fragile.
Fulcrum: The same property that lets a junior reader navigate a codebase fast is the property that lets an agent edit it without breaking three other things.
The topology Plain redraws
Look at the surface. Plain’s models declare fields as annotated Python attributes (email: str = types.EmailField()). The typing carries through views, forms, URLs. plain check runs the ty type-checker on every pass. The signatures the IDE shows, CI enforces, and a coding agent reads are the same string. OpenTelemetry traces and slow-query detection are first-class — N+1 problems are surfaced by a slash-command, /plain-optimize, that captures a trace and proposes the fix.
The inputs and outputs are explicit at every layer. The bottleneck the framework optimises for is not “lines per minute”; it is “minutes to first correct edit by a stranger” — and a coding agent is the strangest stranger of all.
The PAZ archive’s canonical Python framework is COMPAS, the ETH Block Research Group’s Python-first computational AEC stack, and its sibling COMPAS-Robots — typed Python wrapping inverse kinematics for industrial arms in real ETH fabrication research (Mesh Mould, the autonomous-terrain-modelling work of Robotic Landscapes, the Discrete Aggregations prefabrication paper). COMPAS solved schema-first geometry and robotics for AEC. Plain is doing schema-first web for agents. The shared insight: typed, explicit interfaces are what lets a framework outlive its first hype cycle — whether the next reader is a junior, an LLM, or a robot controller.
What it changes on a working desk
The question for an architect or engineer running an in-house tool stack is now precise: can an agent — Claude, Codex, Amp, or whatever ships next — read enough of your project to fix one bug without breaking three other things? If your data model lives in untyped dictionaries, undocumented helper functions, and a wiki nobody opens, the answer is no. The agent will hallucinate a plausible fix and your CI will say nothing, because there is nothing to check against.
Atelier: PAZ’s in-house Python stack — PAZ-GPT, the PAZ Grasshopper↔Archicad library — ships typed models and named interfaces precisely because the next reader is sometimes a coding agent. The rule we apply across the studio: every tool surface (Postgres schema, Grasshopper component, Archicad add-on) gets a one-page typed interface an agent can read without ambiguity. Not for elegance. For the third revision that arrives at 22:00 the night before a Wettbewerb deadline.
Hack: This Hack teaches you to inspect a framework’s signature surface from the command line — the topology read every coding agent now performs first. Workflow domain, three shell moves, four minutes:
uvx plain-start my-paz-tool
cd my-paz-tool
plain docs models --api # typed signatures only
plain docs models --search "queryset" # narrow to one concept
plain docs --search "queryset" # across all 31 packages
Run the same exercise on your own toolkit. If it cannot answer --api or --search from the shell, the dependency graph is unreadable — and that is the bottleneck, not the model.
The cartographer’s warning
One sober note from the systems desk. The risk Plain quietly addresses is not “agents can’t write code.” It is the opposite: agents will write a great deal of code into systems whose dependency graphs nobody fully holds in their head anymore. We did not run out of compute in my time. We ran out of intact people who remembered how the old system worked. Frameworks that publish their topology in machine-readable form — typed signatures, on-demand docs, slash-command skills — are the ones whose dependency graph survives the people. Pick those.
Then draw your real dependency graph this week — not the architecture diagram, the dependency graph. The exercise of finding the third single-point you did not know you had is the whole point.
Source: HN Robots
SOURCE · ↗
PAZ Kaffi · multidisciplinary editorial, led by PAZ Academy