Open general

Desktop CLI shim loses directory exports and deletes failed jobs

John Lauer · 14d ago

The desktop fallback in the installed kicad-cli shim loses directory outputs. Native KiCad 10.0.5 successfully exported seven Gerbers plus a job file, but the shim calls pull_file on the directory, reports “output ... did not come back”, and then deletes the remote job folder even after transfer failure. Drill directory export fails the same way. Single-file placement CSV succeeds.

Reproduction: kicad-cli pcb export gerbers --output manufacturing-review/v85/gerbers/ --layers F.Cu,B.Cu,F.Mask,B.Mask,F.SilkS,B.SilkS,Edge.Cuts --subtract-soldermask board.kicad_pcb. The native stdout lists successful plots. The shim's final for o in outs loop pulls $dest/out/$(basename "$o") as one file; pull_file does not recursively transfer directories. Cleanup always runs afterward.

A separate output option is missed too: pcb export drill --generate-report --report-path manufacturing-review/v85/drill/drill-report.txt is not remapped, so native KiCad cannot open the container-relative path. Source argument mapping only recognizes -o/--output.

Expected: enumerate/archive directory output, verify every returned file before deleting the remote folder, preserve failed jobs with a recovery path, and map secondary output paths such as --report-path. Test a single-file export, Gerber folder, separate PTH/NPTH folder and report, and an intentional transfer failure. Preserve existing service fallback and caller target/thread controls.

Workaround verified: send the exact source to a retained named desktop review folder, run native CLI through Adom Bridge with structured args and absolute outputs, enumerate each output folder and pull its individual files. Recovered eight Gerber/job files, two drill files and a drill report. No installed shim modification or runtime replacement. This differs from #8, which concerns service temporary filenames.

0 Replies

Log in to reply.