Repository navigation
Conversation
frederikgeth
left a comment
There was a problem hiding this comment.
Sam, approving the Julia companion changes at e5c714d. I found no actionable Julia-specific correctness or API compatibility issues.
This PR adds tests and documentation without changing the Julia runtime API or generated C bindings. The new tests exercise profile dispatch, typed parsing, diagnostic preservation, retained-source emission, canonical regeneration through PowerIO IR, and borrowed network lifetime after explicit release of the parent module handle.
I ran the full Julia test suite locally on Julia 1.12.6 against the C ABI built from Rust 8e30071 with matrix,gridfm,dist,prob:
PowerIO: 3,516 passed, 1 expected-broken
Testing PowerIO tests passed
The two remaining conversion issues are in Rust PR #746: purely reactive/resistive source impedance is omitted by the PMD MATHEMATICAL source writer, and line-specific ampacity is ignored by the multiconductor MG-RAVENS writer. They also affect Julia callers, but originate in the Rust implementation and do not require changes to this Julia companion diff. My request-changes review on #746 remains in place.
Companion to eigenergy/powerio#746.
Exercise balanced and multiconductor MG-RAVENS plus PMD MATHEMATICAL through the existing ABI 7 wrapper: typed and automatic parsing, retained source text, load power conventions, diagnostic preservation, and canonical regeneration through PowerIO IR. Explicit parent-handle release and garbage collection verify that borrowed network views retain their owners. Document the format tokens and their representability limits. No new Julia runtime API or generated C binding is necessary.
Validation: 3,838 assertions passed in CI on the current stable Julia lane; Julia 1.10 and documentation checks also passed at e5c714d. The RAVENS/PMD regression group contains 40 assertions. The Rust companion pins this Julia commit for paired binding validation.
Independent adversarial review of both PRs is complete. The review map, verified findings, oracle coverage, and remaining format limits are recorded in the Rust handoff. Final paired validation passed against Rust
8e30071. Frederik Geth approved this Julia PR ate5c714d. His two remaining Rust findings are addressed in the Rust companion's43c6d56follow-up, with no Julia code or binding changes needed; the new Rust head's paired CI provides the current validation status.