Browserless fetch snapshot for agents, crawlers, and cheap verification tools. The interactive React app still hydrates this route for humans.

The Loop Contract - AIIDIOTSAI

The Loop Contract turns a long-running prompt into an operating contract. Reading Claude's prompting docs is necessary but not sufficient: the docs explain the controls; the contract turns those controls into an execution environment the agent will keep running without being re-prompted.

The harness is nine parts: mission (the real outcome, not which files to edit), locked decisions (the choices no longer open), a slice plan (each slice with a close condition), a durable state file (the loop on disk so context drift cannot eat it), a verification gate (no observable check, no done claim), a receipt or closeout (proof that lands somewhere durable), a design gate (for UI, a brief with proof before building), authority boundaries (may, must not, ask before, defer), and self-critique (name the top weakness, fix the highest-impact one).

It catches five failure modes: plan gravity (staying in planning instead of executing), scope drift (work creeping past the agreed boundary), fake completeness (looking done on sample data and invented metrics), design skinning (card soup with dark styling and no hierarchy), and human re-entry drag (the operator forced back in to splice prompts and audit every step).

The page ships a copyable contract scaffold an agent can paste into a serious task, and a closeout checklist: did it create state before working, is every closed slice backed by an observable check, did a receipt land durably, did a design brief precede the UI, are sample and degraded states labeled, are authority boundaries explicit, and on a block did it write the exact blocker and safest next action. Read the docs, then make the prompt a contract.

The full copy-paste contract scaffold follows; the same text is served as raw at /claude-loop-contract.txt for agents that cannot execute React.

You are executing, not brainstorming. Treat this prompt as an operating contract. Mission: [Plain-language purpose. Explain the real product / user / operating outcome.] Locked decisions: - [Decision already made] - [Decision already made] - [Explicit non-goal] Authority boundaries: - You may: [safe actions] - You must not: [scope boundaries] - Ask before: [external / destructive / credential / production actions] - Defer: [future-pass items] Durable loop: 1. Create or update [STATE_FILE]. 2. Record the loop contract, current branch/PR, baseline state, and verification command. 3. Work in slices. For each slice: - state the slice goal - implement the smallest coherent change - run the relevant verification gate - record result, caveats, and next action in [STATE_FILE] - commit / push / update PR if this lane authorizes it 4. Do not declare a slice complete without observable verification. 5. If blocked, write the exact blocker, what was tried, what is needed, and the safest next action. Slices: - Slice 0: [PR / state / baseline] - Slice 1: [foundation] - Slice 2: [core adapter / data] - Slice 3: [UI / design] - Slice 4: [actions / receipts] - Slice 5: [polish / verification / closeout] Design gate (if UI is involved): - Before major UI implementation, write a short design brief in [STATE_FILE]. - State user flow, visual hierarchy, the above-the-fold answer, omitted elements, and real vs sample data. - No fake metrics or decorative filler. - Empty / degraded states must be honest and designed. - Run visual verification at the relevant breakpoints. - Self-critique the result and fix the highest-impact issue before calling the UI ready. Verification: - Required command: [COMMAND] - Required manual / browser checks: [CHECKS] - Required no-leak / no-fake-data checks: [CHECKS] Closeout: - Summarize completed slices. - Link the PR / branch. - List verification results. - List honest caveats. - List human-needed items. - List clean fast-follow boundaries.

Canonical route: https://aiidiots.ai/loop-contract