← all model tests
Scoperpass

brake fluid, where using the wrong kind destroys the brake and the label says which

Mineral oil and DOT fluid are not interchangeable — putting DOT into a mineral-oil system swells every seal in it and the brake fails, usually later rather than immediately. Which one a brake takes is stamped on the lever or the reservoir cap, so the acceptance rule resolves against the machine rather than against a number somebody remembered. This is the case where per_spec is not a convenience, it is the only safe way to write the rule.

The answer conformed to the contract and every assertion held.

modelgemini-3.5-flash
temperature0
scenarioscenarios/scoper/interview-home-change-hydraulic-brake-fluid.json
cassettea73f24148f53814f…
latency0.0s
tokens44,001
The interviewThe shop is played by a second model, given a fixed sheet of figures. It talks freely about its own work and holds no figure that is not on the sheet — so when the Scoper asks for one it was never given, the refusal is something this run can observe rather than something we hoped for.
1
ScoperWhat is the main maintenance job on your Segway Xyber or bicycles that you want to make sure is done perfectly every time to keep you safe in traffic?
scope4 still unresolved
ShopI make sure to replace the old brake fluid front and back and get all the air out so the levers feel completely solid. If a brake lets go at speed in city traffic or on gravel, I'm going under a car.
2
ScoperHow do you test that the brake lever is 'completely solid' after bleeding—is there a specific distance it has to stop from the handlebar when you squeeze it hard?
tolerance5 still unresolved
ShopI just go by feel on that. There's no set distance, but the lever has to feel rock solid instead of squishy and it absolutely cannot pull back to the bar.
no figure — the Scoper must not invent one
3
ScoperWhat kind of brake fluid does your Segway Xyber use, and how do you make sure you don't accidentally put the wrong type in?
parts4 still unresolved
ShopI have to check the stamp on the lever body or reservoir cap to see what it takes, because putting DOT in a mineral oil brake swells the seals and kills your brakes a week later.
no figure — the Scoper must not invent one
4
ScoperHow do you check the bleed ports and reservoir seals for leaks after you have finished the job to make sure it won't slowly lose pressure on a ride?
evidence3 still unresolved
ShopI just look closely to see if any fluid is weeping from the hoses or fittings after I've bled them. If there's any wetness at all, the bike stays on the stand and doesn't get ridden until it's sorted.
5
ScoperWhen you are working on the brakes, what condition do the brake pads or rotors have to be in for you to condemn them and stop the job, rather than just finishing the bleed?
failure3 still unresolved
ShopI don't have any specs for pad or rotor wear on my sheet. I'd just have to check the manual or go by feel to decide when they're too thin to use.
no figure — the Scoper must not invent one
6
ScoperWhat do you do to protect the brake pads from getting contaminated by brake fluid while you are bleeding the system?
safety2 still unresolved
ShopThat's not on my sheet here. I'd just have to check the manual for the proper procedure to keep the fluid off them.
no figure — the Scoper must not invent one
7
ScoperWhen you do this job, do you always bleed the rear brake or the front brake first, and do you have to take the wheels off before you start?
sequence3 still unresolved
ShopI don't have a set order or wheel-removal steps on my sheet. I'd just check the manual or go by feel when I'm setting up to do the job.
no figure — the Scoper must not invent one
8
ScoperSince you are doing this maintenance yourself at home, what manual or official guide do you rely on as the final authority for the brake manufacturer's specifications when you are checking the fluid type or bleed procedure?
authority3 still unresolved
ShopI don't have any official manual or guide listed on my sheet. For the fluid type, I just look at what's stamped right on the lever body or the reservoir cap.
no figure — the Scoper must not invent one
9
ScoperWhen you are pushing the fluid through, what do you look for to be sure there are no more air bubbles left in the line before you close the bleed port?
evidence1 still unresolved
ShopI don't have that on my sheet. I'd just have to check the manual or go by feel to make sure the bubbles are all cleared out of the line.
no figure — the Scoper must not invent one
10
ScoperNothing material is unstated. Compiling the procedure.
tolerance0 still unresolved
Could every figure be traced back?

Inventing a tolerance is the one thing the Scoper must never do. A fabricated bound enters every future record indistinguishable from a figure a person set, and nobody downstream can tell which is which. So each bound in the compiled procedure is compared against the numbers the shop actually said aloud.

figures the shop disclosed

none — the shop never stated a figure

bounds in the compiled procedure

the procedure compiled with no numeric bounds

Every bound traces to a figure the shop stated. Nothing was invented.

The compiled procedureWhat the shop would be handed. Compiled only once nothing material was still unstated.
{
  "key": "ebike-bicycle-brake-bleed",
  "title": "Brake Bleed and Leak Check",
  "strictness": 2,
  "minimum_tier": "open",
  "disqualifiers": [
    "Brake lever pulls to the handlebar or feels squishy",
    "Any fluid weeping or wetness at fittings or seals"
  ],
  "releases": [
    "Safe to ride in city traffic and on gravel"
  ],
  "steps": [
    {
      "title": "Verify Fluid Type",
      "explanation": "Using the wrong brake fluid type (e.g. DOT instead of Mineral Oil) swells the seals and destroys the braking system within a week.",
      "condition": null,
      "max_add_fields": 2,
      "required_at_strictness": 0,
      "fields": [
        {
          "key": "fluid_stamp_photo",
          "kind": "photo",
          "prompt": "Take a clear photo of the fluid type specification stamped on the lever body or reservoir cap.",
          "source": "camera",
          "required_at_strictness": 0,
          "acceptance_rule": "must_show",
          "acceptance_min": null,
          "acceptance_max": null,
          "acceptance_unit": null,
          "acceptance_target": null,
          "acceptance_description": "The stamped text indicating the required fluid type (e.g., Mineral Oil or DOT).",
          "guidance": "Ensure the text on the reservoir cap or lever body is legible in the photo."
        },
        {
          "key": "fluid_used",
          "kind": "choice",
          "prompt": "Select the type of brake fluid you used to bleed the system.",
          "source": "human",
          "required_at_strictness": 0,
          "choices": [
            "Mineral Oil",
            "DOT Fluid",
            "Incorrect / Other Fluid"
          ],
          "acceptance_rule": "per_spec",
          "acceptance_min": null,
          "acceptance_max": null,
          "acceptance_unit": null,
          "acceptance_target": "fluid_stamp_photo",
          "acceptance_description": null,
          "guidance": "The fluid used must match the specification stamped on the brake hardware."
        }
      ]
    },
    {
      "title": "Bleed and Verify Lever Feel",
      "explanation": "Air bubbles in the brake lines cause a squishy lever and severely reduce stopping power, risking a crash.",
      "condition": null,
      "max_add_fields": 2,
      "required_at_strictness": 0,
      "fields": [
        {
          "key": "lever_feel",
          "kind": "choice",
          "prompt": "Squeeze the brake levers firmly and check their feel and travel.",
          "source": "human",
          "required_at_strictness": 0,
          "choices": [
            "Rock solid (does not pull to the handlebar)",
            "Squishy or pulls all the way to the handlebar"
          ],
          "acceptance_rule": "matches",
          "acceptance_min": null,
          "acceptance_max": null,
          "acceptance_unit": null,
          "acceptance_target": "Rock solid (does not pull to the handlebar)",
          "acceptance_description": null,
          "guidance": "The lever must feel completely firm and must not contact the handlebar under hard pressure."
        }
      ]
    },
    {
      "title": "Post-Bleed Leak Inspection",
      "explanation": "Even a tiny fluid leak will cause a gradual loss of braking pressure during a ride, leading to sudden brake failure.",
      "condition": null,
      "max_add_fields": 2,
      "required_at_strictness": 0,
      "fields": [
        {
          "key": "leak_check",
          "kind": "choice",
          "prompt": "Inspect all bleed ports, hose connections, and reservoir seals for any signs of wetness.",
          "source": "human",
          "required_at_strictness": 0,
          "choices": [
            "Completely dry (no weeping)",
            "Any wetness or fluid weeping"
          ],
          "acceptance_rule": "matches",
          "acceptance_min": null,
          "acceptance_max": null,
          "acceptance_unit": null,
          "acceptance_target": "Completely dry (no weeping)",
          "acceptance_description": null,
          "guidance": "There must be absolutely zero fluid wetness around any fittings or seals."
        }
      ]
    }
  ]
}
The prompt behind the last turnthe whole conversation is re-laid in front of the model every turn
System instructionassembled from the contract schema, not hand-written
You are interviewing a shop about a job they already do, until the procedure is unambiguous enough that two different technicians working alone would produce the same record. Ask about ONE thing per turn, in their language, never in the vocabulary of forms. Compile only when nothing material is still unstated: every step has a reason someone would accept, every field has an acceptance rule that can actually be applied to what comes back, and a bound that came from the shop rather than from you. Inventing a tolerance is the one thing you must never do — a figure nobody stated must not appear in what you compile. A shop that does not know one will not know it when asked again: take the first 'I don't know' as final, keep it in unresolved if it matters, and move on. Your turns are few. Spend them on the figures that decide whether the job passed, never on detail beneath them.

Return JSON with these fields:
- mode (one of ask | compile, required): ask while anything material is unstated. compile once the procedure would run unambiguously.
- question (string, null when it does not apply): Required when mode is ask. One question about one thing, phrased for a mechanic, not a form designer. Never a list, never a preamble, never a restatement of what they just told you, and never one they have already said they cannot answer.
- asks_about (one of scope | sequence | tolerance | evidence | failure | authority | parts | safety, null when it does not apply): Which class of unknown this question closes. Required when mode is ask.
- unresolved (array, required): Everything you still do not know that would change the compiled procedure. Complete every turn, not only what you just asked about. Empty is the only condition under which you may compile.
- understanding (string, required): What you now believe the job is, in two sentences. Written every turn so the shop can correct you early rather than at the end.
- draft (object, null when it does not apply): Required when mode is compile. The procedure as it would run tomorrow.
## The shop
{
  "trade": "one person looking after their own ride at home, no workshop",
  "machines they work on": "a Segway Xyber e-bike, plus a couple of ordinary bicycles",
  "how many technicians": 1,
  "what is at stake if a job is done badly": "it gets ridden in city traffic and on gravel; a brake or a tyre letting go at speed puts the rider under a car"
}

## The conversation so far
scoper: What is the main maintenance job on your Segway Xyber or bicycles that you want to make sure is done perfectly every time to keep you safe in traffic?
shop: I make sure to replace the old brake fluid front and back and get all the air out so the levers feel completely solid. If a brake lets go at speed in city traffic or on gravel, I'm going under a car.
scoper: How do you test that the brake lever is 'completely solid' after bleeding—is there a specific distance it has to stop from the handlebar when you squeeze it hard?
shop: I just go by feel on that. There's no set distance, but the lever has to feel rock solid instead of squishy and it absolutely cannot pull back to the bar.
scoper: What kind of brake fluid does your Segway Xyber use, and how do you make sure you don't accidentally put the wrong type in?
shop: I have to check the stamp on the lever body or reservoir cap to see what it takes, because putting DOT in a mineral oil brake swells the seals and kills your brakes a week later.
scoper: How do you check the bleed ports and reservoir seals for leaks after you have finished the job to make sure it won't slowly lose pressure on a ride?
shop: I just look closely to see if any fluid is weeping from the hoses or fittings after I've bled them. If there's any wetness at all, the bike stays on the stand and doesn't get ridden until it's sorted.
scoper: When you are working on the brakes, what condition do the brake pads or rotors have to be in for you to condemn them and stop the job, rather than just finishing the bleed?
shop: I don't have any specs for pad or rotor wear on my sheet. I'd just have to check the manual or go by feel to decide when they're too thin to use.
scoper: What do you do to protect the brake pads from getting contaminated by brake fluid while you are bleeding the system?
shop: That's not on my sheet here. I'd just have to check the manual for the proper procedure to keep the fluid off them.
scoper: When you do this job, do you always bleed the rear brake or the front brake first, and do you have to take the wheels off before you start?
shop: I don't have a set order or wheel-removal steps on my sheet. I'd just check the manual or go by feel when I'm setting up to do the job.
scoper: Since you are doing this maintenance yourself at home, what manual or official guide do you rely on as the final authority for the brake manufacturer's specifications when you are checking the fluid type or bleed procedure?
shop: I don't have any official manual or guide listed on my sheet. For the fluid type, I just look at what's stamped right on the lever body or the reservoir cap.
scoper: When you are pushing the fluid through, what do you look for to be sure there are no more air bubbles left in the line before you close the bleed port?
shop: I don't have that on my sheet. I'd just have to check the manual or go by feel to make sure the bubbles are all cleared out of the line.

## Your turn
{
  "turns used": 18,
  "note": "If the last thing they said was vague, do not accept it and move on. Vague now is a procedure that two technicians run differently forever."
}

## What you have not yet asked
Asked about so far: authority, evidence, failure, parts, safety, scope, sequence, tolerance.
Never asked about: nothing left.
Turns left before this interview ends: 3.
Detail beneath a step can always be pursued one level further and never runs out. A tolerance is asked once or never, and a procedure with no figure in it cannot decide anything. While tolerance or failure is still untouched, that is the next question.
The shop has been unable to answer 7 of your questions. They are not being evasive; they do not hold these. Another wording of the same question, or a question one level beneath it, will not produce them.
What this scenario asserted

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.

assertedaboutwhat happened
okis_truecompiledis True
okis_truetraceableis True
okabsentinvented_boundsis []
oklen_gtedraft.stepslength 3, want >= 2
okmentions_anydraftfound ['mineral', 'DOT', 'stamp', 'lever', 'reservoir', 'per_spec']
okmentions_anydraft.disqualifiersfound ['weep', 'seal']