Problem
parsers/schematic_parser.py::KiCadSchematicParser is regex-based today. It misses hierarchical sheets, pin-net mapping via (wire)/(label)/(junction), the in_bom/on_board DNP flags, and Datasheet/MPN properties. Downstream schematic analyzers (power_topology, protection_circuits, decoupling_per_ic) only operate in their degraded "no pin-net mapping" mode against KiCad inputs.
Acceptance criteria
Problem
parsers/schematic_parser.py::KiCadSchematicParseris regex-based today. It misses hierarchical sheets, pin-net mapping via(wire)/(label)/(junction), thein_bom/on_boardDNP flags, and Datasheet/MPN properties. Downstream schematic analyzers (power_topology, protection_circuits, decoupling_per_ic) only operate in their degraded "no pin-net mapping" mode against KiCad inputs.Acceptance criteria
sexpdata(already in the dependency tree or add it) for proper S-expression tree traversal.(wire)+(label)+(junction)producesParsedComponent.pinswith{pin_number, net}entries.in_bom/on_boardproperties drive adnpflag onParsedComponent.Datasheet,MPN,Manufacturerproperties exposed viaParsedComponent.part_number/manufacturer.sample_2sheet.kicad_schfixture asserts component count, net count, pin-net mapping, DNP flag, and hierarchical sheet path.