Repository navigation
Post-release: finish SCL semantic parity without regressing accepted v1.6.40 #341
Description
Current status (2026-09-24): post-release SCL semantic work, not a blocker for the already-published v1.6.40. The maintainer accepted Smart Discovery physically before publishing v1.6.40, app
1b26dc1235b3bac0300bf84c1b5e8fc590934bc5, pinned engine648124097621046f5f127ceb1cf853fea54db730. Installed field evidence is merged. Original body below records the historical P0.7/experimental candidate, not the current published release gate.Addressed: tracked production Smart Discovery build route (#347), export-only known-object compatibility patch (#345), and recorded stable-release acceptance (#371). Remaining: prove broader generated/reopened SCL semantic correctness and exact live type-evidence gate (#374), preserving 58/58 report-backed, zero cyclic polling and no Save-SCL disruption. Do not merge previously rejected engine candidates to resolve this issue.
Scope
Finish generated/reloaded SCL semantic parity with the actual IED model and the trusted interoperability reference SCL without changing the accepted P0.7 acquisition/runtime baseline.
Locked consumer baseline:
- ARSAS accepted head:
0d0b9204d6637e3d62e2eee94000386ae43cd0e9 - P0.7 lock/source-clean branch head:
6d6c5f6f022b66d93141ace361ed88d4a47ecbb9 - physical engine baseline:
648124097621046f5f127ceb1cf853fea54db730 - machine-readable authority:
evidence/p0.7-release-candidate-lock.json - human-readable authority:
docs/P0-7_RELEASE_CANDIDATE_LOCK.md
Non-regression acceptance
Every SCL/engine semantic candidate must preserve:
- Static DataSet live rows: 58 / 58
- Analog: 22 / 22
- Digital: 36 / 36
- report-backed rows: 58
- actual InformationReport traffic
- cyclic MMS process polling: 0
- all 12 structured Analog phase/subphase rows
- Discovery/Open-SCL metadata badge and state-presentation parity
- Save SCL while monitoring without monitor stop/reconnect/re-arm
- reopened saved SCL returns to the same 58-row report-backed workflow
- FAT Preview/PDF semantic display while persisted raw evidence remains unchanged
The Smart Discovery request shape, configured Static RCB authority, dynamic-DataSet quarantine and report-only runtime path are frozen unless new physical evidence explicitly supersedes this authority.
Known semantic example
CBClsCounter is the concrete release blocker observed on the relay. The physical P0.7 baseline can export/reload it as SPS/Boolean even though exact live TypeSpecification evidence identifies integer stVal.
Target:
- CDC:
INS - type family: integer
- generated SCL:
DOType cdc="INS" stVal bType="INT32"- reopened model:
INS / INT32 - operator badge after reload:
[I], not Boolean[B]
Isolated engine candidate:
- ARIEC61850 PR Use ARVREL mini vector fascia on reusable IED cards #139
- tested head
090d81944791be5b690d24342f9262495eda1a09 - engine CI FAT Smart IP UI refinement: compact ARSAS style, simple connection flow #691: success
- discovery typed-status authority + SCL exporter defense-in-depth + export/reopen regression
Current integration candidate
- ARSAS stacked PR scl: preserve exact live CDC/type semantics through export and reopen #342:
feature/scl-semantic-parity-p0 - ARSAS tested head:
32dc8542914d069e8fa49fe6ea6574fdaf950564 - ARIEC61850 PR Use ARVREL mini vector fascia on reusable IED cards #139 tested head:
090d81944791be5b690d24342f9262495eda1a09 - dedicated SCL Semantic Parity Candidate workflow run Filter transient CSWI Close before the Value Viewer #3: success
- full engine tests: success
- full ARSAS regression suite: success
- portable publish + smoke test: success
- artifact ID:
10599542857 - artifact archive SHA256:
47a99a3b9ed8f5e5e6befc1ac8844babbb7e1190f9fb8fdaa369c4870e757a73 - portable EXE SHA256:
03c724c02176fec8707d269b466e281d8be5e0673e6e4b91745566616d4738e8
The legacy R7/convergence gates intentionally remain fail-closed to the old physically proven engine pin. They must not be weakened merely to make the semantic stacked PR green. The dedicated semantic workflow is the CI authority for this isolated candidate until physical retest.
Physical acceptance for this candidate
- Discovery still produces exactly 58 / 58 live rows.
- Analog remains 22 / 22 and Digital remains 36 / 36.
- All 58 remain report-backed with actual InformationReport traffic.
- Cyclic MMS process polling remains 0.
- Save SCL while live remains non-disruptive.
- Generated SCL reopens into the same 58-row report-backed workflow.
- Discovery/Open-SCL DP/B presentation parity remains unchanged.
CBClsCounterin newly generated SCL and reopened model is INS/INT32/[I], not SPS/Boolean/[B].- Any other exact live status TypeSpecification must preserve its proven semantic family through export/reopen; no name/value guessing is permitted.
Release condition
Do not declare the application release-ready until the SCL semantic integration candidate passes physical relay retest. Any candidate that corrects SCL metadata but regresses reporting, polling, 58-row coverage, Save-SCL behavior, SCL reuse, or operator presentation is rejected.
Activity
masarray commentedon Sep 20, 2026
Source-clean follow-up head is
6d6c5f6f022b66d93141ace361ed88d4a47ecbb9. The lock content is unchanged technically; repository wording uses a neutral independent-reference label to satisfy clean-room source validation.masarray commentedon Sep 20, 2026
SCL semantic candidate CI complete — physical retest ready
Candidate source:
32dc8542914d069e8fa49fe6ea6574fdaf950564090d81944791be5b690d24342f9262495eda1a09648124097621046f5f127ceb1cf853fea54db730Dedicated SCL Semantic Parity Candidate run #3 is success end-to-end:
Artifact:
1059954285747a99a3b9ed8f5e5e6befc1ac8844babbb7e1190f9fb8fdaa369c4870e757a7303c724c02176fec8707d269b466e281d8be5e0673e6e4b91745566616d4738e8Semantic acceptance already locked by automated export/reopen tests:
CBClsCounterexact integer stVal -> generated DOType CDCINS->stVal bType=INT32-> reopened SCL remainsINS/INT32-> ARSAS integer type tokenI.Physical retest must still prove the existing accepted runtime does not move:
58/58, Analog 22/22, Digital 36/36, report-backed 58, actual InformationReport, cyclic MMS polling 0, non-disruptive Save SCL, reusable 58-row SCL, and unchanged DP/B presentation parity.
The legacy R7/convergence checks remain intentionally red on this stacked semantic PR because they are fail-closed to the old physical engine pin. They were not weakened.
masarray commentedon Sep 20, 2026
Physical regression root cause confirmed and replacement isolated
The rejected candidate used ARIEC61850 #139 and changed live
LiveIedModelDiscoveryBuilderCDC inference. On AA1E1F06R4 the resulting live model reached 58/58 static membership but many status report payloads were rejected as Boolean rows receiving BIT STRING values; only 23 report-backed rows were observed. PR #139 and ARSAS #342 are now closed/rejected.Replacement:
32fae3a56b1e21874895c7e781923f324cd1e54efeature/scl-export-only-semantic-parity-p0#140 starts from physical engine
648124097621046f5f127ceb1cf853fea54db730. CI proves the engine diff is limited to:LiveIedSclExporter.csexecutable SCL projection;Iec61850StandardModelRegistry.cs.No live discovery builder, CDC inference engine, MMS, OSI, ACSE, report decoder, RCB planning, or ARSAS runtime source is changed.
The live model is intentionally allowed to remain conservative
CBClsCounter=SPS; only Save SCL may project exact live INT32 evidence toINS/INT32. Export/reopen tests also prove the live model is not mutated by export.Engine CI #693 passed. ARSAS dedicated export-only candidate CI has already passed the isolation gate, full engine build/tests and full ARSAS build/tests; portable packaging is in progress.
masarray commentedon Sep 20, 2026
Export-only replacement candidate is green
Physical-regression replacement is now fully built and isolated.
6306f63203a9b565212f7471e74d0d45211aa5e932fae3a56b1e21874895c7e781923f324cd1e54e648124097621046f5f127ceb1cf853fea54db730105994646179dabef777fc985a2cc83ecf7c4557844c8e9302acc31bbfd554303947d00ef9058f9725585d67f118420845f4c1b57ce254bc6b20c716626271f5e27ec86bcb6The engine diff gate proved there is no executable live-discovery/runtime/reporting change. The only executable engine delta is
LiveIedSclExporter.cs; the StandardModelRegistry delta is comment-only and CI verifies that fact.Physical relay retest remains the authority. First acceptance is runtime restoration (fast/proven discovery behavior and 58 report-backed rows); only after that should Save SCL semantic parity be evaluated.
[-]Release blocker: finish SCL semantic parity without regressing P0.7 baseline[/-][+]Post-release: finish SCL semantic parity without regressing accepted v1.6.40[/+]masarray commentedon Sep 24, 2026
Status reconciliation — 24 September 2026
v1.6.40 is already a published, maintainer-accepted physical Smart Discovery stable release. This issue is no longer a blocker to the existing v1.6.40 release. The original issue body preserves the historical P0.7 candidate/failed experimental engine scope; it must not be read as the current published source/engine lock or as an instruction to replace the accepted runtime.
Current published identity: ARSAS
1b26dc1235b3bac0300bf84c1b5e8fc590934bc5, pinned ARIEC61850648124097621046f5f127ceb1cf853fea54db730. Release · production-route correction #347 · sanitized installed-release evidence PR #371.Already addressed: release build-route divergence from rejected v1.6.39, tracked Smart Discovery production entrypoint, source-only verification and accepted 58/58 static report-only runtime on the physical reference. SCL export-only compatibility patch landed through PR #345 without changing runtime acquisition authority.
Still open in this issue: prove general semantic correctness of generated/reopened SCL beyond the known exact object, including exact live type-evidence gating for the export-only compatibility patch and non-regression of already accepted Discovery/Open-SCL behavior. Do not merge rejected engine/consumer semantic candidates or introduce extra full discovery/polling to close this issue. A new candidate needs its own CI and scope-specific physical validation; this does not retroactively invalidate v1.6.40.
This status update changes issue tracking only; it does not request or imply a replacement stable binary.
masarray commentedon Sep 24, 2026
Scoped follow-up is now in PR #374: require exact live
ST stVal INT32TypeSpecification evidence before the export-onlyCBClsCounterINS/INT32 compatibility correction. Exact Boolean/unknown/non-INT32 cases are preserved rather than rewritten based on name. This PR does not alter the v1.6.40 Smart Discovery/reporting route or pinned engine. The issue remains open until the candidate's CI and physical SCL save/reopen semantic acceptance are complete; it is not a blocker to the already published v1.6.40 stable package.masarray commentedon Oct 27, 2026
D29 cleanup — historical scope retired (NOT a completed implementation)
Original post-v1.6.40 SCL export counter compatibility check and its historical PR #374 were not promoted by latest accepted v1.6.42 work. Operator rejects repeating old save/reopen evidence cycle. Close this old release-specific experiment as not planned, NOT as verified
CBClsCounterexact-type acceptance; source caveat and PR #374 history preserved.Latest operator-accepted evidence remains authoritative for its observed behavior. No additional capture is requested, no safety checks bypassed, and no change to current application/engine/stable release.