Skip to content

Post-release: finish SCL semantic parity without regressing accepted v1.6.40 #341

Description

@masarray

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 engine 648124097621046f5f127ceb1cf853fea54db730. 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:

Current integration candidate

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

  1. Discovery still produces exactly 58 / 58 live rows.
  2. Analog remains 22 / 22 and Digital remains 36 / 36.
  3. All 58 remain report-backed with actual InformationReport traffic.
  4. Cyclic MMS process polling remains 0.
  5. Save SCL while live remains non-disruptive.
  6. Generated SCL reopens into the same 58-row report-backed workflow.
  7. Discovery/Open-SCL DP/B presentation parity remains unchanged.
  8. CBClsCounter in newly generated SCL and reopened model is INS/INT32/[I], not SPS/Boolean/[B].
  9. 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

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions