Skip to content

openapi json export - #30

Draft
jd-lara wants to merge 8 commits into
mb/v35-parser-fixesfrom
jd/openapi-json-export
Draft

openapi json export#30
jd-lara wants to merge 8 commits into
mb/v35-parser-fixesfrom
jd/openapi-json-export

Conversation

@jd-lara

@jd-lara jd-lara commented Jul 31, 2026

Copy link
Copy Markdown
Member

This is a first pass at populating the OpenAPIModels from the PowerFlowParser

jd-lara added 6 commits July 31, 2026 17:39
A BRANCH record whose CKT is prefixed '@' or '*' is a breaker or switch, and
_split_breakers_and_branches! routes it to SWITCHES_AS_BRANCHES. The RAW System
Switching Device record carries only a reactance below the zero-impedance
threshold -- it has no GI/BI/GJ/BJ columns at all -- and a breaker or disconnect
has no line-connected reactor or capacitor to describe. A switching-device row
carrying line shunts is therefore malformed input.

That admittance was previously dropped without a trace. Each non-zero end now
becomes a shunt at the bus it was declared on, and the relocation is warned
about rather than silent: a branch with real line shunts is a transmission line,
not a breaker or switch, so the source data is worth checking.

GI/BI/GJ/BJ are pu on the system base -- a BRANCH record declares no MVA base of
its own, unlike a transformer winding with its SBASE1-2 -- while a FIXED SHUNT's
GL/BL are MW/MVAr at unity voltage and _make_per_unit! divides every shunt
gs/bs by the case base. The value is scaled by baseMVA so that division lands
back on the declared pu value. The shunt inherits the device's ST because the
RAW defines these shunts as "connected to and switched with the line".

The salvage runs before _build_switch_breaker_sub_data, which pops I and J.
These are Claude Code working notes, not project documentation, and
should never be committed.
@jd-lara
jd-lara force-pushed the jd/openapi-json-export branch from 9f43901 to 35be103 Compare July 31, 2026 23:43
jd-lara added 2 commits August 2, 2026 11:38
The 12 copies of this file across the psy6 workspace had drifted into 6
distinct versions. Its content now lives in the user-scope `sienna-psy6`
skill, which loads on invocation instead of being read in full every
session.
The lowercase name only loaded because macOS is case-insensitive; on Linux
and in CI the file was silently ignored. Pure rename, no content change.
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.

1 participant