Repository navigation
P3-H P1.1: explicit SV profile-family and transport authority - #143
Conversation
Preserve SampledValueControl multicast intent, centralize IEC SV APPID/MAC rules, require explicit profile-family context for deployment, share the fixed 9-2LE 4I+4V semantic validator, and keep IEC 61869-9 representable but non-deployable until variant/scaling rules are complete. Tracks #139.
Expose profile-family and transport state in Studio/CLI, keep arbitrary SCL unresolved until the engineer selects a family, wire the legacy GUI and its CI to the same CLI authority, retain IEC 61869-9 as non-deployable until its profile rules mature, and regression-test multicast parse/export preservation. Tracks #139.
Keep profile-family context attached to each SV stream instead of the whole document/session. Add per-stream CLI overrides, propagate the same map through the legacy GUI backend, and regression-test mixed resolved/unresolved streams so one selection cannot silently classify another. Tracks #139.
The compact SV fixture contains three streams. Assert the semantic invariant directly: stream 0 may be explicitly resolved while every remaining stream stays unspecified/Class B, without hard-coding the fixture cardinality. Tracks #139.
Preserve whether SampledValueControl@multicast was syntactically valid, reject malformed explicit transport input during profile compilation, and block canonical export from silently normalizing invalid SCL into a deployable configuration. Tracks #139.
Treat malformed multicast provenance as part of modeled Sampled Values semantics so workspace round-trip checks cannot equate invalid engineering input with a valid normalized transport value. Tracks #139.
|
Standards review note for the strict Legacy 9-2LE family: Keep the existing This distinction is intentional:
Do not relax the Legacy family rule merely because a vendor/example emits another APPID; classify that behavior under generic/configured 9-2 unless independent profile evidence says otherwise. This preserves profile identity without vendor-specific branches. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Tracks #139 after merged #140, #141 and #142.
Base:
main@67cf57e01e3d53a98c66b10934f73c0eb1381d75Exact head:
5ded1506ddb58cf8b3f7eb2183abb501d9ab3e24Purpose
Make Sampled Values transport identity and standards/profile family explicit engineering authority rather than implicit assumptions.
P1 separated sample cadence from Ethernet frame cadence. P1.1 separates:
Single-authority rules
SampledValueControl@multicastsurvives parse/model/canonical export; omission uses the IEC 61850-6 defaulttrue; explicitly malformed values are preserved as invalid provenance and block profile compilation/canonical export.0x4000..0x7FFF.01-0C-CD-04-00-00..01-0C-CD-04-01-FF.Family behavior
needs-profile-family-confirmation.incomplete/ non-deployable until scaling and variant rules have their own standards-backed authority.Engineering surfaces
unspecified.--profile-family FAMILYplus repeatable per-stream--stream-profile-family INDEX:FAMILYoverrides.Regression coverage
multicast=falsecanonical export -> reparse preservation;unspecified/ Class B;Non-goals
No IEC 61869-9 scaling implementation, no generic multi-ASDU ESP publisher, no multi-stream realtime scheduler, no PRP/HSR work, and no formal conformance claim.
Next after acceptance: P1.2 IEC 61869-9 variant/scaling authority.