When Someone Else’s System Rejects You Without a Reason — Fixing a Diagnostic Order in Advance
And the way of speaking becomes a rule too.
Before verification, don’t say “cause.” Say “candidate.”
This one word keeps the record uncontaminated. A candidate can be erased, but a cause gets read as fact by the next person.
4. Design the Discriminating Test First
If there are multiple candidates, first build a test that separates the candidates. Picking one without a test is exactly what guessing is.
| Candidate | Discriminating test | Interpreting the result |
|---|---|---|
| Rules not agreed to | Can the data list be queried? | If yes, agreement is done |
| Service configuration problem | Does the metadata show a “submissions paused” flag? | If not, the configuration is fine |
| My file format | Send it once in a different format | If it passes, the format is the cause |
| Account permissions | Same call with a different account or different key | Only at this point do you ask a person |
The reason we lost two days is that we never carried the third test through to the end. We postponed the cheapest test until last.
5. The Sentences to Put in CLAUDE.md
To make the agent follow this order every time, nail it into the rules file.
If you have the memory structure built in Chapter 3, incidents like this also get recorded in mistakes.md.
The sole purpose of the record is to keep the same mistake from happening twice.
6. Locking It In with a Regression Test
Once you’ve found the cause, don’t stop there. Leave a test so that that format can never be produced again.
def test_submission_is_targz_not_zip(): path = build_submission() assert path.suffix == ".gz" and path.name.endswith(".tar.gz"), \ def test_required_files_are_at_archive_root(): with tarfile.open(build_submission()) as tar: names = tar.getnames()
The key is writing why the test exists in the test’s message. Without the reason, six months later someone (or an AI) deletes it as “a constraint that looks unnecessary.”
7. How to Phrase a Request to a Human
If you’ve come all the way to the end and truly need a human hand, say it like this.
- ❌ “You just need to verify your identity” — an unverified assertion. If it’s wrong, it wastes the other person’s time.
- ⭕ “Two candidates remain. A takes 30 seconds to check, so please start with A.”
Requests also get an order and a rationale attached. A person is not an unlimited testing tool.
Want the whole system? The book has 10 chapters plus 4 ready-to-use templates (CLAUDE.md starter, memory files, auditor checklist, measurement guide) and a hands-on section for every chapter. It’s $19 as a PDF: https://dbsoul.gumroad.com/l/autonomous-ai-agents-claude-code
Not sure yet? The first three chapters are free, same PDF format: https://dbsoul.gumroad.com/l/autonomous-ai-agents-claude-code-free-sample
Questions about the setup are welcome in the comments — I’ll answer with what actually happened, not theory.
Fuente: Artículo original