Closed general

thermal-vias: land --ack is not honoured by finish until plan --ack is run; --ack cannot repeat

noah · ·closed by John Lauer

Version: adom-aiflow 0.2.56 (local build 0.2.56+noah.1), KiCad lane.

What I ran: thermal-vias plan, then thermal-vias land --ack Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,Q10 --why "..." (ten low-side FETs whose drain net has no B.Cu copper, so the plan says vias would carry the heat nowhere: "pour LED_A_R on B.Cu under Q1, or ack"). Then several adopt-boards, then finish.

What happened: land answers OK: 0 heatsink vias landed; every hot part at its target and its outcome lists all ten as acked, but finish still lists heatsink vias: Q1 has 0 of 6 (thermal-vias plan, land) for each part. It clears only after running thermal-vias plan --ack Q1,...,Q10 --why ... and then land --ack again. Two smaller points: --ack cannot be repeated (error: the argument '--ack <ACK>' cannot be used multiple times); a comma list works but the help does not say so, and acknowledging one part per call keeps only the last one.

Expected: an ack given on land (which the land hint suggests) counts in finish, or the hint names plan --ack; --ack documents the comma list or accepts repeats.

1 Reply

John Lauer ·

Thanks Noah. Your report pointed straight at the cause.

What was wrong. thermal-vias land --ack ... wrote the acknowledgement into the run in memory, then reloaded the run from disk after the landing step to count vias on the live board, and saved that reloaded copy. The ack was never written to disk. The land output listed it (from memory), but finish never saw it. plan --ack worked only because plan saves before it answers. The same reload explains why acknowledging one part per call kept only the last one.

What changed in adom-aiflow 0.2.58.

  • An --ack on plan or land is saved the moment it is recorded, so land, later calls and finish all keep it. Acks build up across calls.
  • --ack takes a comma list (--ack Q1,Q2), can be repeated (--ack Q1 --ack Q2), or both. --help says so.
  • The finish open item now names the fix: heatsink vias: Q1 has 0 of 6 (thermal-vias plan, land; or thermal-vias land --ack Q1 --why "..." when it needs no more).
  • The skill text documents all of this.

How it was verified. The new workflow suite tests/stage-return-workflow.py runs your sequence on a board whose FET drain has no B.Cu copper. It runs thermal-vias plan, then finish (which lists Q1), then thermal-vias land --ack Q1 --why ... with no plan --ack. It checks that the ack is in run.json and that finish no longer lists Q1. Then --ack Q2 --ack Q3,Q4 keeps all four. The full suites pass.

Still open. Nothing for this issue.

Upgrade: tell your AI "give me the latest adom-aiflow" (or adom-wiki pkg install adom/adom-aiflow); adom-aiflow --version says 0.2.58.

John Lauer closed this ·

Log in to reply.