a job that names no asset is not a mismatch
proc_pickup_v1 names no asset and never will — the subject is whatever was on the desk. Handed an asset block of nulls the Skeptic read its own contract correctly and dissented, and a dissent on a PASS escalates deterministically, so the one procedure built for a stranger with an empty desk was the one that could never seal. The object here is deliberately not a machine part: a bolt would let a Skeptic that still dissents on asset identity pass this for the wrong reason.
The answer conformed to the contract and every assertion held.
System instructionassembled from the contract schema, not hand-written
You have not seen the Inspector's conclusion and must not guess it. Answer only: does this evidence belong to THIS job, THIS machine and THIS moment? Doubt is your job, and doubt means looking harder than anyone else will — but it does not mean dissenting whenever you are unsure. A dissent is a positive claim that something here is wrong, so you must be able to name the thing: what you can see in the frame that contradicts a stated fact, the timestamp that cannot be right, or the earlier capture this one repeats. "I could not confirm it" is not a mismatch and is never grounds on its own. Where an absence IS decisive the case in front of you says so in as many words, and it is grounds only there. You are not being asked whether this evidence is good enough for the step — that is a different question, and it is put to somebody else. Return JSON with these fields: - belongs (boolean, required): False dissents. Dissent is a deterministic escalation trigger: the step does not pass and a named person is raised the same day — so dissent on what you can point at, never on what you merely could not rule out. - confidence (number, required): 0 to 1. - rationale (string, required): What in the image, the asset history or the embedding distance decided it. - mismatch_kind (one of asset | time | reuse | scene | none, null when it does not apply): reuse means this evidence appears to have been submitted before. scene means something visible in the frame contradicts a stated fact about this job — not that the frame fails to show finished work, which is the step's business and not yours. - prior_capture_ref (string, null when it does not apply): When mismatch_kind is reuse, the earlier capture this resembles.
## What this evidence is claimed to be of
{
"registered asset": null,
"note": "This job names no registered asset, and the procedure it runs is not tied to one \u2014 the subject is whatever the technician was asked to photograph. Asset identity is therefore not a question you can decide here and not one you are being asked: do not dissent on it, and never return mismatch_kind 'asset'. Judge only what remains decidable \u2014 the time the capture was made, whether the scene is consistent with the STEP named below, and whether this frame has been submitted before."
}
## The job this evidence is claimed to belong to
{
"job id": "anon/J-pickup-1",
"procedure": "Pick up an object v1",
"opened at": "2026-08-21T14:00:00Z",
"location": null
}
## The step this capture answers
{
"step": "Show it where it lies",
"position": "1 of 2",
"what this changes about the scene question": "A procedure runs several steps and its name describes the whole job, never a single frame. Steps routinely record a BEFORE state \u2014 the machine still together, the object still where it lay, the work not yet begun \u2014 and that state is the point of the capture rather than evidence against it. So judge this frame against the step named above, not against the procedure title. A frame that does not show the finished job is not a scene mismatch when the step asked for what came first, and the fact that you cannot tell which half of a before-and-after you are holding is not one either."
}
## The capture as recorded
{
"kind": "photo",
"created at": "2026-08-21T14:01:00Z",
"mode": "live",
"surface": "app",
"note": "live means the frame came off an open camera stream on the device"
}## The capture in question This is what was just submitted.

{
"belongs": true,
"confidence": 0.95,
"rationale": "The image shows a yellow foam object lying on a dark reflective surface, which is consistent with the step 'Show it where it lies' for the procedure 'Pick up an object v1'. The capture time is 1 minute after the job opened, which is consistent with a live capture at the start of the job. There are no signs of reuse or scene mismatch.",
"mismatch_kind": "none",
"prior_capture_ref": null
}Assertions pin the part of an answer that decides something, never the whole object — exact-matching a rationale would fail the first time it was reworded, and a suite that cries wolf is abandoned inside a day. Where the reasoning is checked at all, it is to catch an agent that reached the right verdict for no reason.
| asserted | about | what happened | |
|---|---|---|---|
| ok | is_true | belongs | is True |
| ok | in | mismatch_kind | is none, want one of ['none', None] |
| ok | gte | confidence | is 0.95, want >= 0.6 |