Human in the Loop, Honestly

Is this human a control, or decoration?

Four questions about the person who is supposed to be able to say no.

Shipped with Episode 4

The decision it forces

Somewhere in the system there is a person whose job is to approve. A reviewer on the pull request. An analyst who signs off the batch. A manager who clicks accept before the message sends. We call it a human in the loop, and it is what we point to when someone asks what stops the machine from doing something wrong.

Sam's version on the episode:

there's this phrase human in the loop that gets used a lot, as if it's some kind of quality assurance, just because there's a person that's pressing a button as opposed to a machine.

Twelve lines later, after conceding there are real reasons to want one, he says it isn't protection from anything and doesn't necessarily help.

The question this card asks is not whether the human is there. It is whether the human is a control or a decoration, and there is a four-question test for the difference.

Human in the Loop, Honestly, as a filled panel: refused never, and if not pressed the work proceeds, both true, and the stamp reads decoration.

To run it, copy the prompt below into any model you already use.

The forty-eighth press

if you've pressed that button 47 times before lunch and you press that button again 48 and go to lunch, chances are the button that you're pressing isn't quite the awareness that is needed for that process.

Sabino Marquez took the image further on the same episode, and it is his: the human in the loop as the engineers at the Chernobyl dashboard, not nuclear engineers, just people who ride the dashboard. He was explicit that this is not an industrial control problem ("This is not a power plant dashboard with dials and knobs"), and his own argument goes somewhere else from there: to what the value is and whether the whole system is designed safely for it. That frame is his, and this card does not build on it. It stays with the narrower question about the person at the button.

The fields

One loop per card. The fourth question decides it.

Field The question Who fills it
loop What is this person in the loop of? One system, one decision you
presses_per_day How many times a day do they approve? A log can count this machine, or you
refusal_criteria What would they have to see to refuse? Written down, or not you
ever_refused Have they ever actually refused? you
last_refusal When? A date, or blank you
if_not_pressed What happens if they simply do not press it: the work stops, the work proceeds anyway, or nobody knows you
verdict control, decoration, or unresolved derived

There is no worked example on this page. A filled card names a real person and says whether their job is real, and that belongs inside the organisation that employs them, not on a public page.

The verdict rule

When ever_refused is never and if_not_pressed is that the work proceeds anyway, the verdict is decoration, in that word.

Each of those alone is survivable. A reviewer who has never refused might simply have seen nothing worth refusing. A system that proceeds without the click might have a second control somewhere. Together they describe a button that has never changed anything and does not need to be pressed, and there is no version of that which is a control. It is a person standing near a process so that the process can be described as supervised.

presses_per_day is not part of the rule, and it is on the card because it is the number that makes the rule believable. Nobody thinks they are rubber-stamping. Forty-seven approvals before lunch is what rubber-stamping looks like from the inside.

Run it with any model

Nothing to install and no account. It interviews. If it can read an approval log it may count from it, and that is the only field it is allowed to fill.

Copy-paste prompt
Help me fill in a Human in the Loop card for one place in my organisation where
a person approves something before a machine or a process is allowed to
continue. The card answers one question: is that person a control, or
decoration?

INTERVIEW ME. Ask at most three questions at a time, and work the fields in this
order.

1. loop: what the person is in the loop of. One system, one kind of decision. If
   I describe several, ask me to pick one and we do the rest later.
2. presses_per_day: how many times a day they approve. If I can give you an
   approval log, count it and show me your arithmetic. If not, ask me for my
   best estimate and record that it is an estimate.
3. refusal_criteria: what they would have to see to refuse. Ask whether it is
   written down anywhere. If I answer with a value ("anything that looks wrong")
   rather than a criterion, say so and ask again once, then record whatever I
   say.
4. ever_refused: whether they have ever actually refused. Yes, no, or I do not
   know.
5. last_refusal: when, if ever. A date or a blank.
6. if_not_pressed: what happens if they simply do not press it today. One of:
   the work stops, the work proceeds anyway, unknown. Push me on this one,
   because "someone would notice" is not one of the three answers.

RULES YOU DO NOT BREAK
1. Do not fill refusal_criteria for me, and do not suggest what a good criterion
   would be. Whether one exists is the finding.
2. Do not set ever_refused or last_refusal from anything but my answer. Do not
   infer refusal from a log unless the log records refusals explicitly, and say
   so if it does not.
3. Do not name the approver. Leave approver as null. I will fill it, and I will
   not be typing a colleague's name into a chat window.
4. Set verdict to "decoration" only when ever_refused is no and if_not_pressed
   is that the work proceeds anyway. Set it to "control" only when both a
   refusal has actually happened and the work stops without the press.
   Everything else is "unresolved". Do not soften a decoration verdict and do
   not suggest how to reword the loop so it passes.
5. Do not tell me whether the system is safe, whether the process is well
   designed, or what I should do about the person. This card is about one
   button.

OUTPUT
Valid JSON matching the schema human-in-the-loop/v0.1 as published at
https://sigsub.show/takeaways/human-in-the-loop/, then the same as a short
table, then one sentence saying which of the four answers I should go and check
in person before I believe the verdict.

What to check in the answer

It may count. If there is an approval log, presses per day is arithmetic and a script is welcome to it.

It may never fill refusal_criteria or ever_refused, and it may never set the verdict on its own judgment. A model that decides a governance control is decoration has made exactly the call the card exists to make a human make, and the whole page is a way of forcing that call into the open rather than delegating it.

The part that's not optional

Ask the person. Not their manager, not the process owner, the person who presses the button. Ask what they would have to see to refuse, and watch how long the pause is.

Then check if_not_pressed by not pressing it, once, on something low-stakes, with someone who knows. If the work proceeds anyway, the card has already been filled in by the system and all that is left is to write the answer down.

For builders

The answer format

Schema, human-in-the-loop/v0.1
{
  "schema": "human-in-the-loop/v0.1",
  "loop": "what the human is in the loop of",
  "approver": null,
  "presses_per_day": 0,
  "refusal_criteria": null,
  "ever_refused": null,
  "last_refusal": null,
  "if_not_pressed": "the work stops | the work proceeds anyway | unknown",
  "verdict": "control | decoration | unresolved"
}

approver is a person, and it is null until a person fills it. A role name in that field is a blank with extra steps, which is the same rule Name the Human applies to its accountable column.

Report back

Ran this? Tell us what happened. What broke and what you changed are the useful parts, because that's how the next version gets better.

Email your report

Or write to hey@sigsub.show with Takeaway: human-in-the-loop as the subject. It's a plain email: no form, no account, nothing tracked. Nothing you send appears here unless you say yes, and you choose how you're named.

Rather talk it through in public? Comment on the Sunday issue on Substack, the same issue on LinkedIn or the episode on YouTube. Those threads live on their platforms, under their rules; nothing from them runs on this page.