Expand description
Perdure — a typed goal runtime for long-horizon agents.
Perdure gives an agent’s goals a typed, deterministic, auditable control plane: goal -> budget -> authority -> diagnostic -> typed patch -> verify -> checkpoint -> resume -> trace.
The foundation is a small compiled language whose compiler is also an agent
harness: every diagnostic carries a machine-applicable repair (preferred_patch),
so an agent — even a deterministic one — can drive a failing project to green
without guessing. The goal runtime wraps that loop in durability: budgets,
authority scopes, append-only event history, checkpoints, resume, and replay.
Modules§
- action
- The Action Layer: fake long-horizon business goals.
- adopt
- Adopting an existing repo:
perdure init --existingandperdure goal init. - agent
- The agentic repair loop.
- ast
- builtins
- check
- The Perdure checker: type and effect analysis.
- cli
- The
perdurecommand-line interface —new,check,run,test,fix,race,trace,replay,bench,audit. A small hand-rolled dispatcher so the output is exactly what we want, with zero argument-parsing dependencies. - diagnostics
- event
- Append-only event history for goal runs.
- fmt
- The one Perdure formatter.
- goal
- The resolved goal contract.
- guard
- The coding-agent guard session — Perdure’s runtime for an externally-edited repo.
- hash
- SHA-256 (FIPS 180-4), hand-rolled and dependency-free.
- http
- The
http.get/http.postplan tools — the ONLY network code in the binary. - interp
- lexer
- mcp
perdure serve-mcp— a SERVER-ONLY Model Context Protocol front door.- parser
- patch
- Typed patches and the verification pipeline.
- plan
- The Perdure plan language: durable, re-executable agentic workflows.
- program
- project
- Project I/O: discovering
.pdrfiles into aWorkspace, writing verified results back, and scaffolding new projects withperdure new. - render
- Human-facing rendering. Everything an agent consumes is JSON elsewhere; this module is purely the pretty, colored view for people.
- runner
- runtime
- The durable goal runtime.
- schema
- Versioned JSON Schemas for every machine-facing output Perdure produces.
- shell
- Real local command execution — the one place in Perdure that spawns a process.
- snapshot
- Real-filesystem snapshots for the coding harness.
- source
- span
- store
- The durable goal store: everything a long-horizon run leaves on disk.
- term
- Tiny ANSI styling, dependency-free. Honors
NO_COLORand disables itself when stdout is not a TTY (so piped/JSON output stays clean). - token
- tool
- Tool dispatch: the one place that knows every tool a plan can
call, which of them are real (they touch the world outside the run), and how each is authorized and invoked. - trace
- Persisting agent runs so
perdure traceandperdure replaycan re-open them. - types
- value