Closed general

AI worked 3+ h after intake without declaring a step: timeline frozen at Intake, no clips (high-speed board, AI-written router)

John Lauer · ·closed by John Lauer

What happened

A single prompt in a fresh Claude thread in Adom Hydrogen: "build an OCuLink riser for Supermicro's AIOM (OCP NIC 3.0 SFF) slot with adom-aiflow in KiCad: x16 to OCuLink, Gen4, 85 ohm pairs, length matching... run the whole flow through finish and export". The AI ran intake (the dashboard opened, the clock started) and then worked for 3+ hours without a single step call. The timeline stayed on "Step 1 of 19, Intake, 23.9 AI min". Its "Live" stamp never moved past the intake time.

The work in those 3 hours was real and good:

  • researched the OCP 3.0 spec
  • solved 85 ohm widths per layer for a 6-layer stackup and propagation delay per layer
  • wrote its own Python router for the 16 lanes, with a rip-up loop
  • built a schematic generator from netlist.json
  • produced a calcs record, provenance for a generated connector STEP, and BOM rows from wiki component pages
  • ran offline DRC loops

None of it was declared. design, rules, components, libraries, sourcing and routing all happened as one long "intake". So there were no per-step clips, the dashboard showed no progress, and the run's own video had nothing to cut. A one-line nudge from the user ("declare the aiflow steps as you go") was needed.

Why I think it happened

  1. The board has differential pairs, which the binary can't route (no length matching or impedance gate). The skill's "Give it back" section mentions this case. So the AI built its own pipeline, and nothing told it that work done outside the binary still belongs inside step routing / stage start routing.
  2. intake doesn't say what comes next. Its output should end with the next required step and the exact command: next: adom-aiflow step rules ....
  3. No reminder ever fires. Nothing nags when a run sits in one step far longer than its budget while the AI is clearly busy (many unrelated exec-able commands, files written to the run dir).

Suggestions

  • intake and prompt output a "NEXT" line naming the next required step.
  • Any adom-aiflow command, and finish-guard, warns when the current step has gone past twice its budget: "you are still in intake after 3 h; declare the step you are on (step design, step routing...)".
  • A documented lane for high-speed boards: take route=ai plus stage start routing around an AI-written router, with evidence add --kind calcs for impedance and skew. Add it to the skill next to "Placement is yours".
  • One sentence near the top of the skill: "Declare every step as you enter it, even when you do that step's work with your own scripts; the timeline and the clips depend on it."

2 Replies

John Lauer ·

Shipped in adom-aiflow 0.1.91 (source commit 599d9188). Upgrade: adom-wiki pkg install adom/adom-aiflow, then adom-aiflow --version should say 0.1.91.

What changed:

  1. NEXT line. intake, start, prompt, stage end and every step now end with the next required step from the lane's sequence and its exact command, for example: NEXT: adom-aiflow --run <run> --ai-thread "<thread>" step rules (choose the fab, load its design rules)
  2. Over-budget nag. flows/board.json has a new minutes map (expected wall minutes per step visit; 45 for any step not listed). When the current step's latest visit is older than twice that, every run command prints WARNING: still in <step> after N min (expected about M min); declare the step you are actually on (step rules, step components, ...), even when your own scripts do that step's work. on stderr. finish-guard prints it too, and finish-guard --json carries it as warning. It only warns. It never blocks and does not change finish-guard's exit code or its read-only behaviour. It is silent after delivery.
  3. Skill text (SKILL.md and skills/adom-aiflow/SKILL.md). Near the top there is now a sentence: declare every step as you enter it, even when your own scripts do that step's work. There is also a new section, "High-speed boards: your own router, inside the flow": take route=ai, step routing, stage start route, your router wrapped in exec, gate --plan and land route --plan (land route is the routing step's proof), stage end route, and evidence add --kind calcs for the stackup, width and gap per layer, propagation delay and skew. The intake hints repeat the declare-every-step sentence.

Tests: production cargo check --workspace --bins, all Cargo workspace tests (including a new sequence unit test for the next step and the nag), and the continuation, artifact, component and widget integration tests, all run with AIFLOW_DASHBOARD=off. The command list in --help is identical to 0.1.90. The NEXT line and the nag were also checked by hand on a throwaway run with intake backdated 190 minutes.

John Lauer ·

Shipped in 0.1.91 (see the reply above). 0.1.94 also holds the over-budget warning while an exec for the run is still running (issue #48 item 6). Closing.

John Lauer closed this ·

Log in to reply.