"If it exists only in context, it does not exist."
State, plan, memory, and worklog survive outside the chat window.
GREENLOOP v2.4.0 / verification layer / MIT
Spec tools plan. Greenloop proves done.
A state-machine execution workflow for AI coding agents. It makes the agent persist state, converge before it edits, test its assumptions, and refuse completion until a verification harness exits cleanly.
$ curl -fsSL https://greenloop.violhex.workers.dev/install.sh | sh
Repo only: ... | sh -s -- --repo / both: --all / remove: --uninstall
The doctrine
AI makes expansion effortless. Greenloop keeps the useful exploration, then forces it back into state, evidence, and one finite observable done.
"If it exists only in context, it does not exist."
State, plan, memory, and worklog survive outside the chat window.
"The model is free at thought. The system is strict at consequence."
The agent can reason broadly, but edits and completion pass through gates.
"One finite, observable done when."
Every loop must reduce into an artifact, decision, deletion, or verified state.
Reduction
Greenloop exists because AI sessions can generate more structure than they can actually verify. The process begins in the wide field, but it cannot end there.
The useful move is reduction: preserve the original intent, remove defensive complexity, and return to contact with the real target.
The proof surface
Greenloop already has a public installer, agent bindings, state artifacts, enforcement hooks, an MCP server, and early comparative research. The next proof target is one real case study.
The current product surface is enough to test the wedge honestly against real AI-assisted work.
The method
This is the Thyrsus grammar applied to agent work: discover, architect, instrument, evaluate, archive.
01
Frame the request, constraints, and what counts as evidence.
02
Design the workflow, agents, gates, and boundaries.
03
Wire in capture, state, logs, and verification from the first move.
04
Run the loop, test the assumptions, and keep what fails.
05
Everything lands on the record, inspectable end to end.
Quickstart
Install the workflow, bind it to the agents already in your repo, then make completion observable.
Run the curl command. It fetches the workflow files, verifies checksums, and installs a greenloop command.
Run greenloop inside a repo. It detects your agent stack and writes native bindings without clobbering owned files.
Phase 1 initializes .greenloop/. The loop runs until the harness exits 0 and the worklog explains why.
repo/ |-- GREENLOOP.md contract, S/C/R, phases 0-10 |-- GREENLOOP-APPENDICES.md orchestration and role library |-- greenloop.state.schema.json state template |-- GREENLOOP-PROFILE-DESIGN.md design domain profile |-- AGENTS.md universal binding `-- .greenloop/ state / plan / memory / worklog
Inventory
Each target gets its native instruction channel. Anything not listed still reads the universal AGENTS.md binding.
Enforcement
On Claude Code, Greenloop can install gates that do not depend on model obedience.
The hooks read the same state the workflow writes, and they fail closed.
Example run
Field test
Greenloop is instructions first. Its minimum viable deployment is paste, and the workflow can still govern the session.
"Here is GREENLOOP.md. I want a site with the delivery and feel of a high-end Framer site, and it should take style changes that equally match."
Refused to copy pixels. Reconstructed the upper layers first, the constraints that caused the reference to emerge, and returned the chain as the deliverable:
artifact -> structure -> rules -> constraints -> intent
|-- tokens.json scales inferred, not pixels copied
|-- motion-spec.md reveal timing, stagger, reduced-motion fallback
|-- component-spec.md shared rules as evidence of a system
`-- brand-spec.md the feeling and what was deliberately not done
"No component may be implemented until the visual, motion, interaction, and emotional systems it expresses are explicitly described."
Get the files
Everything is markdown, JSON, shell, and TypeScript. Read it before you run it. That is the point.
Only when the task earns it. Greenloop compresses for small changes and expands for destructive, complex, or ambiguous work.
Shared files get marker-delimited blocks. Unknown files are backed up before replacement. Re-running upgrades in place.
Bun for the full TUI, or npx as fallback. The repo-only mode needs only sh and curl.
Yes. GREENLOOP.md is the source of truth. Edit it, version it, and your agents pick it up.