The best way to start contributing is to drop a frontier code agent into the repo and ask it what's up. The codebase is large, interdependent, and intentionally instrumented for agent navigation. An agent can orient you faster than any document can, and the guidance it follows — the AGENTS.md files scattered through the tree — is also there for you to read.
Not only is the AGENTS.md guidance there for you, all documentation in this project is organized into a fractal onboarding regime. The root README orients you to the project; the root AGENTS.md gives global guidance. As you descend into a subsystem, the local README tells you what it does and the local AGENTS.md tells you how to behave while working there — and the closer guidance is to your working directory, the more authoritative it is. Beyond these two registers, you'll find specialized docs like PAWL.md or FIVE_POINT_HARNESS.md for specific workflow contracts. Documentation lives next to the code it describes, not in a central folder; it is structural.
The product here is not features; it's the machinery that turns sandbox investigation from bespoke reverse-engineering heroics into normal software. A good contribution makes that machinery more reliable, better grounded, or broader in reach. Adding complexity without adding durability is not a contribution. If your change doesn't leave the system easier to trust or extend, reconsider whether it belongs. Contributions that belong are easier to make than it might seem.
This project does not treat commits as atomic. You may, but don't expect others to. What we close over are functioning contracts: tests pass, CARTON validates, and PAWL's capacity to learn from new inputs is not degraded. Pull requests can have as many or as few commits as you like, structured however you prefer, as long as the contracts hold at the end.
For setup and first-run logistics, see COLD-START.md. For project guidance and local conventions, start with the root AGENTS.md and follow the trail into whichever subsystem you're touching.