IBM Bob 2.0 · parallel subagents
A 200 is not a pass. Probe the answer.
Three probes hit the cart, login, and search at the same time. Each one knows the right answer, so a quiet wrong result shows up in red with the value it should have been.
Probe lanes
3 of 3 failing · written by IBM Bob’s subagents · 9/26/2026, 12:00:00 AM
Cart Probe
Cart total
Fail
POST /api/cart/total · 2 × $10 + 1 × $15
- Expected
- total 35
- Got
- total returned 25
CART-001 · Cart total ignores quantity
Severity high · src/app/api/cart/total/route.ts
Steps to repeat
- POST /api/cart/total with { items: [{id:'1',price:10,qty:2},{id:'2',price:15,qty:1}] }
- Observe total === 25 instead of 35
Auth Probe
Login
Fail
POST /api/auth/login · password “ship”
- Expected
- rejected (401)
- Got
- password 'ship' returned ok:true
AUTH-001 · Partial password is accepted
Severity critical · src/app/api/auth/login/route.ts
Steps to repeat
- POST /api/auth/login with email buyer@demo.test and password ship
- Observe 200 with ok:true
Search Probe
Category search
Fail
GET /api/search?category=kitchen
- Expected
- 2 kitchen items
- Got
- 4 items returned (2 gear + 2 kitchen)
SEARCH-001 · Category filter is ignored
Severity medium · src/app/api/search/route.ts
Steps to repeat
- GET /api/search?q=&category=kitchen
- Observe 4 items returned including gear items
Run it with IBM Bob
01
Load the skill
Bob reads
skills/breakage-probe/SKILL.md: three probes, the request each sends, and the answer each expects.02
Spawn three subagents
Cart, Auth, and Search run in parallel against the running app, not one after another.
03
Name the file
Bob writes
reports/breakage-latest.jsonand points at the route behind each failure. This page reads that report.
Locally: npm run dev, then open the probe folder in Bob IDE and ask it to follow the skill. Or run npm run probe for the same three checks from a terminal.
Extra: read a page and the links on it
One agent reads the URL you send. The others read only the links written on that page, and only when the link stays on the same host. Links to other sites are listed and left unread.