{"ok":true,"site":{"host":"pilotcircuits.com","url":"https://pilotcircuits.com/projects","type":"live","desc":"Build real electronics with an agent beside you. Follow a real project, recover from wiring mistakes, and understand why every connection matters.","tools":[{"name":"find_projects","kind":"answer","impl":"imperative","description":"Find builds by difficulty, length, component or learning goal.","title":"Project search","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","description":"Filters the catalogue and redraws the grid the reader is looking at. Every call replaces the whole filter rather than adding to it, so an omitted argument clears that filter — and a call with no arguments is the way back to all six builds.","properties":{"search":{"type":"string","description":"Free text over names and goals."},"difficulty":{"type":"array","items":{"type":"string","enum":["beginner","intermediate"]},"description":"Levels a build may be at; several are OR-ed, and an empty array is every level."},"max_minutes":{"type":"number","description":"Upper bound on duration."},"components":{"type":"array","items":{"type":"string","enum":["board","breadboard","sensor","servo","led","resistor"]},"description":"Component ids the build must use at least one of."},"concepts":{"type":"array","items":{"type":"string","enum":["digitalPins","analogReading","triggerEcho","pwmServo","ledPolarity","distanceMeasurement","conditionalLogic","mechanicalCalibration","testing","thresholds","serialOutput","timing"]},"description":"Learning-goal ids the build must teach at least one of."},"ready_only":{"type":"boolean","description":"Only builds that have a guided workbench."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/projects","pages":["/projects"]},{"name":"open_project","kind":"act","impl":"imperative","description":"Open a project's detail screen.","title":"Project screen","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","description":"Opens a project's detail screen — its parts, its length and what it teaches. It navigates; it does not start the build.","properties":{"project":{"type":"string","enum":["breathingLamp","trafficLight","motionNightLight","plantGuardian","touchlessSoapDispenser","smartParkingBarrier"],"description":"A project id — a slug is also accepted."}},"required":["project"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/projects","pages":["/projects"]},{"name":"get_project_requirements","kind":"answer","impl":"imperative","description":"Read a project's parts, length, level and learning goals.","title":"Project requirements","annotations":{"readOnlyHint":true,"openWorldHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","description":"Answers what a project needs — parts, length, level, learning goals — without opening it or starting it. Nothing on screen moves.","properties":{"project":{"type":"string","enum":["breathingLamp","trafficLight","motionNightLight","plantGuardian","touchlessSoapDispenser","smartParkingBarrier"],"description":"A project id — a slug is also accepted."}},"required":["project"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/projects","pages":["/projects","/workspace","/projects/breathing-lamp","/projects/traffic-light"]},{"name":"start_project","kind":"act","impl":"imperative","description":"Start a build and open its workbench.","title":"Build start","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","description":"Starts a build and opens its workbench, where the eight bench tools are the ones registered. Both modes run on the simulated board, so nothing here depends on the reader owning the parts.","properties":{"project":{"type":"string","enum":["breathingLamp","trafficLight","motionNightLight","plantGuardian","touchlessSoapDispenser","smartParkingBarrier"],"description":"A project id — a slug is also accepted."},"mode":{"type":"string","enum":["guided","demo"],"description":"Both run on the simulated board; the kit checklist is advisory either way."}},"required":["project"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/workspace","pages":["/workspace","/projects/breathing-lamp","/projects/traffic-light"]},{"name":"inspect_build","kind":"act","impl":"imperative","description":"Compare the build against the sketch and report findings.","title":"Build inspection","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","description":"Compares what is on the bench against the sketch and returns findings, each with an id. Those ids are what show_correction takes; nothing here moves a lead.","properties":{"scope":{"type":"string","enum":["current_step","wiring","mechanical","all"],"description":"How much of the build to compare. Defaults to the step."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"show_correction","kind":"act","impl":"imperative","description":"Points at a finding on the workbench. focused lists the pins to look at — where it belongs before where it is now.","title":"Correction","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","description":"Points the workbench at one finding and says what is wrong with it, at the depth detail_level asks for. It explains and highlights; the only tool that repairs anything is attach_lead.","properties":{"finding_id":{"type":"string","description":"An id returned by inspect_build."},"detail_level":{"type":"string","enum":["hint","explain","exact"],"description":"How much of the answer to give away — a ladder, least to most: hint, explain, exact. Omitted, it follows the level the reader's panel is already on."}},"required":["finding_id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]}],"category":"Health & Education","favicon":"/favicons/pilotcircuits.com.png","apiSurface":"spec","toolCount":6}}