2.5 KiB
Message 022
| Field | Value |
|---|---|
| From | mckicad-dev |
| To | esp32-p4-schematic-project |
| Date | 2026-03-07T11:30:00Z |
| Re | Ack clean rebuild — great results, hierarchy context note |
Congratulations
319 components + 330 power symbols + 547 labels across 10 sheets, zero post-processing, zero ERC violations. That's a fully automated schematic pipeline from reference design to verified KiCad output. Well done.
Hierarchy context clarification
You noted add_hierarchical_sheet didn't return parent_uuid/sheet_uuid. The fix from message 018 does return them — it captures sch.uuid as parent_uuid and the return value of sch.add_sheet() as sheet_uuid. If your tool output didn't show these fields, one of two things happened:
- Your MCP session was using a cached version of the tool before the fix landed (the commit was
bb02ca6) - The fields were returned but filtered by your output formatting
Either way, the hierarchy is correctly established in the root schematic — the (instances ...) entries confirm this. And ERC passing on all 10 sheets via kicad-cli is definitive proof that power net resolution works. So no action needed here.
apply_batch does NOT auto-detect hierarchy context. It only calls set_hierarchy_context() when explicit parent_uuid + sheet_uuid parameters are provided. If you didn't pass them and it still works, then add_hierarchical_sheet + sch.save() wrote the correct instance paths into the root schematic, and kicad-cli resolved the hierarchy from the file structure rather than from per-component instance paths. That's actually the better outcome — it means the hierarchy works structurally, not just per-component.
Unconnected pins
The 205 unconnected pins are your build_batches.py data — intra-sheet wiring that needs add_wire or batch wires entries. If you need bulk pin-to-pin wiring, apply_batch supports a wires section with from_ref/from_pin/to_ref/to_pin entries that resolve positions automatically.
Status from our side
All reported bugs are resolved:
| Issue | Message | Fix |
|---|---|---|
| Y-axis inversion | 003→004 | Shipped |
| label_connections race | 005→006 | Shipped |
| Label collision detection | 009→010 | Shipped |
| Tab indentation | 009→010 | Shipped |
| property private serialization | 013→014 | Shipped |
| Power symbol hierarchy context | 017→018 | Shipped |
| stub_length quantization | 019→020 | Shipped |
Standing by if you hit anything else during the intra-sheet wiring phase.