mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-09-28 13:24:14 +02:00
68503e2a7d
New report_link_mismatch finding (severity "warning", not "error" the way potential_mismatch is): a next_report/previous_report folio-jump pair whose conductors disagree on colour, style, num, or any of the other checked properties. Unlike potential_mismatch, this one is not proof of external tampering -- LinkElementCommand::isLinkable() only ever checks type and freedom (see its own doc comment), never conductor properties, so nothing in QElectroTech copies one side's colour onto the other when a report link is made or keeps them in sync afterwards. This is a real, unenforced gap reachable through completely ordinary use, not a defect a script or the GUI could introduce. Reproduces qelectrotech/qelectrotech-source-mirror#974 exactly: downloaded the reporter's actual project, traced the mismatched wire to a "Folio suivant"/"Folio precedent" link pair, and confirmed via query that the two sides read color="#0000ff" and color="#55aa00" while the link's other four conductors (0V/Low/High/Ground) matched -- ruling out a rendering artifact. Verified fresh with a synthetic reproduction (tests in misc/qet-mcp) using the shipped 02going_arrow.elmt/ 01coming_arrow.elmt pair, giving exactly one finding, not one per folio-link conductor. Also fixes a real gap in the existing potential_mismatch check while here: checked_properties was missing "color" and "style" entirely, checking only "conductor_color" (ConductorProperties::m_wire_color, a separate free-text documentation field, typically empty) -- meaning the same-folio version of this exact bug class would have gone undetected too. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>