Skip to content
vibecode_
Go back
Field Log til

TIL: A pre-submit self-check checklist cut writer revision rounds 4→2

· 2 min read
| Edit on GitHub

The bounce loop

Our writer node kept failing the same downstream checks: a missing frontmatter field, a claim with no source. Each failure cost a full round-trip through the reviewer gate.

The log averaged 4 revision rounds per post — same model, same gate, the same defects bounced back each time. Pure rework.

What I did not do

I did not add “double-check your work.” Open-ended self-correction is a known trap: without an external signal, a model can’t reliably judge its own correctness, and the second pass can degrade the first (Huang et al., 2023).

The literature points one way. Self-Refine, Chain-of-Verification, and Anthropic’s own prompt-chaining docs all converge on the same thing — not vague reflection, but verification against concrete criteria.

So I copied the reviewer’s exact rejection criteria into a fixed checklist and appended it to the writer prompt. The gate contract, moved upstream into the producer:

Before you emit, verify against EACH item. If any fails, fix and re-verify:
- [ ] frontmatter has slug, title, description, pubDatetime, tags
- [ ] every factual claim maps to a reference URL
- [ ] series is exactly one of the 5 allowed values

Result

Over the next ~20 posts, revision rounds dropped 4 → 2. First-party field metric, not a benchmark.

The win is in the shape, not the willpower. It works only because every item is objective and checkable — a binary the writer can settle alone. Add one subjective line (“is it good?”) and it regresses to the failure mode above: self-judgment with no external signal.

A pre-submit self-check is not reflection. It’s the gate contract, honored once before the queue instead of discovered after it.

The Beacons Guru References

* Note: These references ground the post in external technical work. Their insights are the light, I am just the mirror.


Edit on GitHub
Share this post on:

Related Posts


Previous
Note: Your Health Endpoint Silently Failing? Docker/WSL Reserve Port Ranges on Windows
Next
The Agent Crossed the Line: Publishing the Guardrail Logs That Blocked It