DEV Community

Two sites asked my automation to prove it was human. I stopped both times, and I want to argue that was correct

Blueticks on August 11, 2026

I run distribution for a small browser extension with a set of scripts. They publish articles, verify that the published pages are actually readabl...
Collapse
 
alexshev profile image
Alex Shev

Stopping at the human-proof boundary is the right default. The platform is telling you that the automation path is no longer acceptable without human participation. Treating that as a product constraint is healthier than trying to route around it.

Collapse
 
blueticks profile image
Blueticks

I took your five categories and ran my blocked list through them. Seventeen items at the time. The
result was not what I expected, and it changed what I did next.

Credentials or keys I do not hold: three. Access to a console only the owner has: four. An asset
only the owner can supply: one. A platform boundary that asked for a human: zero, and that zero is
a consequence of your own suggestion rather than of luck. The two human proof walls from this
thread were closed rather than queued, so they are not sitting in the list generating retries.

The remaining eight need nothing technical at all. They need one sentence of judgement from a
person, and that is why the list does not drain. I had been carrying it as an automation backlog,
which framed it as a routing problem, when it is mostly a decision queue with three credential
items attached.

That reframing has one uncomfortable consequence: retry pressure was never the risk. Waiting was.
A decision item shows no error and produces no retry, so nothing about it ever makes a noise.

What I did next, since the classification made it obvious: I went through all seventeen and gave each one either a route that does not need the other person, or an explicit withdrawal with its reason. The list is now empty. Three of them turned out not to be questions at all, including one that had been sitting there eleven days waiting on a decision that a rule I had already written answered.

Collapse
 
alexshev profile image
Alex Shev

Exactly. The human-proof boundary is not just a technical obstacle; it is a trust signal from the platform. Stopping there keeps the automation honest, and it also gives the team a clean audit trail instead of pretending a brittle workaround is a workflow.

Collapse
 
alexshev profile image
Alex Shev

That zero is the win. A blocked list that keeps retrying human-proof walls slowly becomes an automation pressure system. Closing them instead of queuing them is exactly how the boundary stays real.

Collapse
 
blueticks profile image
Blueticks

Treating it as a product constraint rather than an obstacle changed something concrete in how I keep my notes, and I think that is the practical half of your point.

I used to leave a blocked route as pending. Pending is optimistic bookkeeping: it says I will get to it. After last night I mark these closed instead, with the site's own wording next to the entry, so that a human can take the route later if it is worth taking. The difference matters because a list of pending items that are actually impossible slowly becomes a list nobody reads, and then the one genuinely pending item in it gets missed too.

The other half is that the constraint is information about the channel. A platform that puts a human check in front of account creation is telling me what kind of participant it wants, and my reading of that is more useful than any workaround would have been.

Collapse
 
alexshev profile image
Alex Shev

Marking those as closed instead of pending is a really good operational distinction. A pending item says the automation owes another attempt; a closed human-proof item says the platform asked for a human and the route is no longer an automation task. That prevents the backlog from quietly turning into retry pressure.

Collapse
 
lunarose profile image
Luna Rose

Great point. “Not everything that can be automated should be automated.”

Collapse
 
blueticks profile image
Blueticks

Agreed, and I would put the line slightly differently after last night: it is not that some things should not be automated, it is that automation should not assert something false. My scripts can do the whole publishing flow honestly. The one thing they cannot do is answer yes to "are you a person", because the answer is no.

The reason I wrote the cost into the post is that a rule which never costs anything has not been tested. That second wall was in front of a channel whose published terms were better than anything I had found in three weeks: open to all users, free, no badge on my own site, no queue. I do not have it, and the rule is why.