Batch 4

Agent workspace

The right column of the workbench, where the agent's work becomes legible: what it knows about the build, what it found, what it did, and the tool call underneath each sentence. Not a chatbot — the conversation happens elsewhere. This panel shows the context the page shares with the agent, and the effect of every action it takes.

Five of these fifteen materials are named “card” in the inventory. None of them is one. The rule the batch settled on: a surface contains the user's input or a countable object, never the agent's output. The one ground change in the whole panel is the knowledge check — and it goes down, into a sunken band, because that region belongs to the person answering it.

G-01 → G-15

Drive the agent

Every material in its real place, with the agent actually working. The same run(tool, input) a WebMCP callback calls on the workbench — same payload, same commit, same canvas move.

Drive the agent

HC-SR04VCCTRIGECHOGNDSIG5VGNDOpenClosed5VGNDTrig → D8Echo → D6SIG → D95VGNDGreen → D3Red → D25VGND

Waiting for an agent

Build Coach

Agent not connected

WebMCP is unavailable in this browser

Manual demo controls are still active.
Step 3 of 7

Wire the distance sensor

The agent has not inspected this step yet.

In this step

5 of 6
  • Sensor's power leadbb.pos4
  • Sensor's ground leadbb.neg4
  • Sensor's Trig leadD8
  • Sensor's Echo leadD7elsewhere
  • 5Vbb.pos1
  • GNDbb.neg1

Coaching level

Press Inspect my build and watch: the pulse goes to its lattice, the tool name shimmers, each phase names itself, the timeline fills in order, the tab slides to Findings and the canvas glides to the two pins. Then it stops — because the next thing that has to happen is you moving a wire, and on this bench the agent cannot: chapter six is laid out by its author, so attach_lead refuses every call here. On the five chapters you assemble yourself it does not refuse; it moves the lead. What keeps that honest is not that the agent has no hands — it is that the move lands as a commit Ctrl+Z takes back, that the timeline says the agent made it rather than you, and that the finished build counts how many it made.

G-01 · G-02 · G-13 · G-14 · G-15

The panel

The frame the agent writes into: header with the live pulse, three tabs that never scroll away, one pinned action, and a tool count you can open.

The panel

Assembled

Build Coach

Agent connected
Connected via WebMCP
Step 3 of 7Blocked

Wire the distance sensor

5 of 6 expected connections match.

Connections5 of 6

Coaching level

Drive it

Findings are what the agent noticed, not what is true. Move the wire and the row changes state in place rather than vanishing; forget the findings and the panel goes back to never having looked.

360px, exactly as it will sit in the workbench. Sticky header, one scrolling body, a pinned action that never scrolls out of reach. The tabs live in the header so the agent can switch them without the navigation moving, and the underline slides — an agent that changes the view without you seeing it move has, as far as the user is concerned, done nothing.

Header, tools and the offline notice

Tool inventory

WebMCP unavailable

WebMCP is unavailable in this browser

Manual demo controls are still active.

The tool count in the header below opens the case: WebMCP is meant to be the structure of this product rather than a badge on it, and a count nobody can check is exactly a badge. So the number is never written down anywhere — it is the length of whatever list the panel is handed, and the specimen below is handed the bench's own seven. The note quoted a literal `6` for a while, above a header that had said 7 since `attach_lead`, which is the failure it is arguing against. When the API is missing the pulse goes to its hollow ring — absence drawn as absence — and the notice reassures rather than warns, because every manual control still works.

G-16

The coach figure

A face for the agent, on the bench. It changes with the tool the browser is calling and says in a word what the ring only points at — the first thing on screen a newcomer reads as the agent.

Three bodies, one face

Halo
Pad
Lamp

The first draft borrowed another company's mascot — a cloud head with a terminal for a face — and was stopped for it. These three come from things the product already draws. Halo is a ball with the bench ring floating over it, index dot and crosshair arms included: the same agent that lands on a hole. Pad is the ball inside the ring, a plated pad with a face, and it has no arms — the ring's own arms come out when it points. Lamp is a 5 mm LED with eyes, dome, flange and two legs of unequal length, and it lights up while a test runs.

Eleven moods

Waiting for an agent

offline

Listening

idle

Reading your build

looking

explain_project · get_build_context · inspect_build · verify_current_step · find_projects · get_project_requirements

Thinking it over

thinking

comparingSketch · comparingExpected · checkingAlignment

Pointing at it

showing

show_correction · point_at

Working on the bench

touching

attach_lead

Running the test

testing

run_functional_test

Moving on

moving

navigate_build_step · open_project · start_project

Found something

found

Looks good

passed

That did not work

failed

Five are the acts in model.ts — one verb per tool, eleven tools. Thinking is not an act but a phase of looking: the face only thinks while the handler is comparing, because the page cannot see the model think between calls, and a face that pretended to would be a badge measuring nothing. The last three are held for under two seconds after a call lands, read off the note the runner logs beside it.

On the shelf, and on the mat

KIT

Thinking it over

Comparing against the sketch

Working on the bench

Carrying the lead across

On a chapter with a kit the coach is the last thing on the shelf and the shelf is its plate. The capstone has no shelf, so it brings the shelf's colours with it. Either way it stands at the top right of the well, where the sketch put it, and the phase under the word is the same sentence the timeline prints under a running row.

G-03 · G-04 · G-08 · G-12

Guidance and teaching

What the agent knows about the step, the three-rung ladder from a nudge to the exact fix, the correction that opens inside its finding, and the one question the interface asks back.

Guidance and coaching level

Blocked

Step 3 of 7Blocked

Wire the distance sensor

5 of 6 expected connections match.

Connections5 of 6

Clear

Step 3 of 7

Wire the distance sensor

Every expected connection for this step matches.

Connections6 of 6

Not yet inspected

Coaching level

The agent moves this control too, through show_correction's detail_level. The thumb slides, so you see it happen.

The panel carries what the agent knows; the canvas carries what to do. Saying `Connect the sensor's Echo pin to D7.` in both places would halve its authority, so the instruction stays above the board and this stays a report. Four connections are countable, so they get four ticks rather than a bar — and finishing is a state change, not a bar reaching its end.

Teaching ladder

Hint first

Notice

Compare where the Echo lead sits with the highlighted pin on the board's header.

Explain

Exact fix

Explain

Notice

Compare where the Echo lead sits with the highlighted pin on the board's header.

Explain

A pin number is part of the program, not a preference: the sketch names D7 and no other hole along that header.

Exact fix

Show exact fix

Notice

Compare where the Echo lead sits with the highlighted pin on the board's header.

Explain

A pin number is part of the program, not a preference: the sketch names D7 and no other hole along that header.

Exact fix

Move the Echo lead from D6 to D7.

Always three rungs tall. A closed rung keeps its label and its dashed pad instead of collapsing to nothing: two filled pads and one dashed circle say there is another level of help available without a word being read. Collapse them and the product's headline claim — three levels of teaching, you pick how much — becomes an invisible feature.

Correction

Finding with its correction open

Connection mismatch

WarningCamera frame94% confidence

The Echo lead is connected to D6. This build expects D7.
Distance sensorEchoBoardD6BoardD7

Correction

Notice

Compare where the Echo lead sits with the highlighted pin on the board's header.

Exact fix

What `Show me` opens, and where it opens: inside the finding it explains, not in another tab. An indent and one accent rule down the left — the quotation device — rather than a box. A box would say separate object; the correction is not a separate object, it is the finding, elaborated. Raising a rung here raises the coaching level in the header, so one state change is confirmed in two places.

Knowledge check

Before and after answering

Quick check

Why must the Echo wire match the pin defined in the sketch?

The one place in the panel where the ground changes — and it changes down, into a sunken band with a hairline top and bottom, no radius and no side edges. Everywhere else the agent is telling you something; here the interface is asking, and the region belongs to you. Real radios inside a real fieldset, so arrow keys and grouping cost nothing.

G-05 · G-06 · G-07

Findings

What an inspection reports: severity in the disc, the evidence understated beneath the title, and the affected pins as chips that take the canvas there. The rejected card direction stays on the page.

Open decision · finding register

A · Editorial

Connection mismatch

WarningCamera frame94% confidence

The Echo lead is connected to D6. This build expects D7.
Distance sensorEchoBoardD6BoardD7

Servo horn is 90° off

WarningVisual alignment check91% confidence

The gate will close when the sketch sends the OPEN position.
Micro servoSIG

B · Card

Connection mismatch

Camera frame94% confidence

Warning
The Echo lead is connected to D6. This build expects D7.
Distance sensorEchoBoardD6BoardD7

Servo horn is 90° off

Visual alignment check91% confidence

Warning
The gate will close when the sketch sends the OPEN position.
Micro servoSIG

Both directions carry the same two findings, derived from the same graph, in a column exactly as wide as the shipping panel. The left one is built on the alert's shell: one filled disc holds all the colour, and a hairline separates the two. The right one is the Batch 2 card draft. The question is not which looks better on its own — it is which one still reads as one calm account of one build when the agent adds a third.

States

Open → resolved

Connection mismatch

WarningCamera frame94% confidence

The Echo lead is connected to D6. This build expects D7.
Distance sensorEchoBoardD6BoardD7

Nothing open

No open findings for this step.

Run an inspection when you think the wiring is done.

A resolved finding does not vanish — it changes state in place. A row that disappears on click is a change the user never saw happen, and the whole panel exists to make the agent's work visible.

G-09 · G-10 · G-11

Activity and tool details

Every tool call, in human language, on a copper trace — with the machinery folded underneath each sentence and the raw result shut until asked for.

The spine

Reading, finding, fixing, verifying

Agent read the current build context

14:31

Agent inspected wiring for Step 3

14:31

1 connection mismatch found

14:31

Agent pointed at the connection

14:32

Correction highlighted on the workbench

You moved the Echo wire to D7

14:33

Agent verified Step 3

Comparing with the expected graph

A call that failed

Agent ran the check: barrier

14:36

Not a generic dot-and-line timeline. The spine is a copper trace and every entry is a plated pad: hollow where the agent only looked, blue where it changed the workbench, dark where you did — the record says which of you moved it, at a glance. The running entry's marker is the activity pulse itself, so there is no second in-progress animation to invent; above it the trace runs blue because that is the segment being laid, and below it there is none, because that route does not exist yet.

Developer details

Open

The human sentence first, the machinery underneath it, and raw JSON shut until asked for — the product's teaching contract applied to its own plumbing. Each disclosure carries its entry's headline in an sr-only suffix, because twelve controls all named Developer details are unusable in a screen-reader rotor.

Tool call badge

  • explain_project
  • get_build_context
  • inspect_build
  • show_correction
  • point_at
  • attach_lead
  • verify_current_step
  • navigate_build_step
  • run_functional_test

Mono, 4px radius, never a capsule: rule 1 keeps the capsule for things you press, and rule 13 files a tool name with D7 and 94% — a reading, not a control. The leading mark says whether the call only looks at the build or changes it.