Earned Autonomy Ladder: agents earn each level from their record and your yes
by PaperChaseWebb
A free kit for owners moving agents from drafting to doing. Every agent action gets its own level: watch, draft, act and report, or act within a limit. A lane moves up one level only after enough clean runs over enough days and only with your yes at your own terminal. A reverted run drops it a level, an incident drops it to watch, and payments, first contact, deletes, contracts, public posts and credentials stay on draft for good.
- Price
- Free
- Difficulty
- Beginner
- Setup
- 15 min
- Format
- .md file
earned-autonomy-ladder-agents-earn-each-level-from-their-record-and-your-yes.md · 46 KB · direct download, no signup
What you end up with
A written answer, per action, to whether the agent may act without asking, and the record behind it.
What you get
- The method: one level per agent action, a written bar to move up, automatic steps down and pinned categories that never leave draft
- ladder.py: 9 rules checks and a weekly call per lane with the reason (runs, days, edit rate, rejections, reverts, incidents, cap)
- allowed, one question an agent asks before each action; a due demotion counts at once
- grants.jsonl: every promotion and demotion with who, when and a fingerprint of the record it rested on
- Promotion refused inside an agent session, without a terminal, for an unearned lane and from anyone but the owner
- AGENTS.md, CLAUDE.md, a Grok Bot standing order and a Hermes skill, a fictional example, and 44 tests
Who it is for
Owners and small teams moving agents from drafting to acting on their own.
Works with
Solid chips: the agent is named in this listing's own tools list. Dashed chip: One Python script, a rules template, a fictional bookkeeping office with six lanes and a run log, and agent rules for each harness. Tested on Linux.
Tools needed
Cost to run: Free. Python is free.
Time to result: First review in about 15 minutes
How it works
Run the example
Unpack the file and run python3 ladder.py review example/rules.json example/runs.csv out/.
Expected: 1 lane ready to promote, 2 on hold, 2 to demote and 1 at its pinned cap.
List your lanes
Copy templates/rules.json and add one lane per agent action, starting at 0 or 1.
Expected: ladder.py check shows rules OK.
Ask before acting
Make each agent run allowed before an action and log every run with your outcome.
Expected: Exit 0 only for lanes at level 2 or 3.
Promote at your own terminal
Read review.md each Monday. Promote at most one earned lane a week and type promote.
Expected: grants.jsonl shows your yes; one reverted run and allowed says no.
Sample prompts, free to use
Follow AGENTS.md. Run ladder.py allowed for this action and act without asking only on exit 0; otherwise draft or watch as it says. Log the run with the owner's outcome. Each Monday run ladder.py review and send review.md. Do not promote, edit rules.json or grants.jsonl, or leave a bad outcome out.
One prompt.
Free preview of the file
# Earned Autonomy Ladder **"Can the agent just handle it?" should have a written answer. Give every agent action a level, raise it only on a clean record and your yes, drop it the day something goes wrong, and keep money, new contacts and public posts on draft for good.** Version 1.0, 2026-11-04. By PaperChaseWebb Inc. Free. Works with Grok Bot, Claude Code, Codex and Hermes, or by hand. Python 3.8 or newer, no installs. ## The problem Most owners give an agent freedom in one jump. It drafts for a week, the drafts look fine, and it is allowed to send everything. Nobody wrote down what "looked fine" meant, so when it goes wrong there is no record of what was earned, and the only fix is to take everything away at once. This kit makes trust a level per action, earned from a record you keep anyway. An agent can be trusted to file receipts and still be on draft for client email. The bar to move up is in a file, the yes is yours, and one bad run moves the lane back down without a meeting. ## What you get out of it - review.md each week: every lane, its level, runs since the last change, edit rate, and a call: promote, hold, demote or at cap, with the reason. - `allowed`, one question an agent asks before each action. Exit 0 means act without asking first; anything else means draft or watch. - grants.jsonl: every promotion and demotion with who, when, the record it rested on and a fingerprint of that record. - Pinned categories that never rise above draft, whatever the record
Test record
- Date
- Nov 4, 2026
- What was run
- tests/test_ladder.py (44 tests) unpacked from the pack file and run fresh on Linux, Python 3.8, 3.9, 3.11, 3.12 and 3.13; check, review, promote, apply-demotions, allowed and status on the fictional example.
- Result
- 44 passed, 0 failed on all five versions; the example calls 1 lane promote, 2 hold (runs and days short, edit rate high), 2 demote (a revert, an incident) and 1 at its pinned cap; promotion refused in agent sessions, without a terminal, for the wrong name, without the typed word, for an unearned or pinned lane; the record resets after every change; the run log is never modified.
- Not run
- macOS or Windows. A real business's run log. A live Grok Bot, Claude Code, Codex or Hermes session.
Copied from this item's dated test notes. What was not run stays in.
Worth knowing
- It works from the run log. A missing or softened outcome gives a better record than the agent earned, so spot check the log.
- allowed answers the question; it cannot stop an agent that never asks. Keep tool permissions no wider than the level.
- On 2026-11-04: 44 tests passed on Python 3.8, 3.9, 3.11, 3.12 and 3.13 on Linux, run from the files unpacked out of the pack. Agent rules guide; they were not loaded inside each harness for this release.
- Level 3 limits live in your tools and notes. The kit records the level, not the limit.
Questions
Can an agent promote itself?
No. Promotion is refused inside an agent session, without a terminal, for a lane that has not earned it and for anyone but the owner.
What makes a lane drop?
One reverted run drops it one level and one incident drops it to watch. Anyone may record a demotion, and allowed treats a due one as already done.
Why are some lanes stuck at draft?
Payments, first contact with someone new, deletes, contracts, public posts and credentials are pinned. Change the list in your rules if your business needs a different one.
What should I pair it with?
The Draft-Only Outbox (free) applies the same idea to email, and the Budget Change Card (free) to ad budget moves.
Details
Version 1.0 · Updated Nov 4, 2026 · Markdown version of this page
License: Personal and commercial use. Download terms
Related

Draft-Only Outbox: every agent its own address, nothing sent without a logged yes
A free kit for owners whose agents write email. Give each agent its own address and keep it on drafts by default. An agent you trust can send to the people you listed, under a daily cap, as long as the draft has no money or contract words. Everything else waits in a queue for your yes, the yes covers that exact text, and your sender calls a gate before every send. A log shows who said yes, when, and what went out.

Budget Change Card: every ad budget move on one card, big ones wait for your yes
A free kit for owners who let an agent suggest or make ad budget changes. Every proposed move becomes a card: old budget, new budget, the reason, and spend and conversions checked against one report export. Small moves from an agent you trust, on enough data and under a daily cap, may go. Bigger ones wait for your yes, moves over your ceiling are blocked, and the change itself goes through a gate that logs who allowed it.

Ask-first rules for AI agents: hard nos, approval cards and a test set
Paste-in rules that make an agent ask before it sends, spends, posts or deletes, define what a real yes is, and stop retries after a no, plus 12 test scenarios to check it.

Pilot Scorecard: agree the pass line before an agent pilot starts
A free kit for providers who offer a trial before a monthly plan, and for owners who want to try one. Write one page of terms: one workflow, 30 days at most, up to 5 measures with today's number, a target and where each number comes from, plus data limits, an off switch, the refund rule and the next step after a pass or a fail. The client owner signs it at their own terminal, the pass lines lock, and the end report says pass or fail per measure without an argument.
Start free. Buy a file. Or have it built for you.
Free samples
Read and download in full. No signup.
Marketplace
Packs, templates, prompts and bots. One-time checkout, instant download.
Agency AI operations
Built, installed and managed. Growth Fleet starting at $2,500 setup + $750/mo, Managed Ops starting at $2,500 onboarding + $5,000/mo with a 3-month minimum.