All Articles/Engineering & State Machines
Engineering & State Machines
August 2026•6 min read

The 12-State Submission Machine: Never Guessing If a Listing is Live

Why naive boolean flags cause catastrophic failure in autonomous agent workflows, and how our Drizzle-backed finite state machine guarantees truthful execution.

The Myth of 'Boolean Distribution'

When amateur tools automate web submissions, they usually maintain a single database column: `is_submitted: boolean`. If an agent clicks a submit button, it flips the flag to `true`. This causes massive operational failure.

What happens if the directory requires email confirmation? What if the listing is placed in a 4-week moderation line? What if a Cloudflare challenge blocked the POST request? Marking a submission as 'done' simply because a button was clicked is a recipe for silent failure.

The 12 Verified States

In LaunchNests Ship, every platform submission lifecycle is governed by an explicit 12-state machine enforced at the database level with Drizzle ORM:

1. Discovered → 2. Eligible → 3. Claimed → 4. In Progress → 5. Human Required → 6. Submitted → 7. Queued → 8. Under Review → 9. Published (verified via automated HTTP 200 checks) → 10. Declined → 11. Expired → 12. Archived.

Proof-Based Verification

An agent cannot transition a submission to `published` without providing verifiable cryptographic or network proof. Our verification worker actively pings the canonical directory URL; only when an HTTP 200 response confirms the presence of the product title does the listing count as live in your dashboard.

Ready to test LaunchNests Ship?

Connect your AI agent via MCP and distribute your software across 50+ platforms with verified state tracking.