Skip to content

test: cover RAVENS profiles and PMD mathematical interop - #197

Open
samtalki wants to merge 2 commits into
mainfrom
feat/ravens-json-pmd-math
Open

samtalki wants to merge 2 commits into
mainfrom
feat/ravens-json-pmd-math

Conversation

@samtalki

@samtalki samtalki commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

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 at e5c714d. His two remaining Rust findings are addressed in the Rust companion's 43c6d56 follow-up, with no Julia code or binding changes needed; the new Rust head's paired CI provides the current validation status.

@frederikgeth frederikgeth left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants