Skip to content

Fix Static DataSet RCB-backed acquisition and indexed RCB resolution - #256

Draft
masarray wants to merge 48 commits into
mainfrom
fix/static-dataset-rcb-backed-acquisition
Draft

Fix Static DataSet RCB-backed acquisition and indexed RCB resolution#256
masarray wants to merge 48 commits into
mainfrom
fix/static-dataset-rcb-backed-acquisition

Conversation

@masarray

@masarray masarray commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Physical failure being fixed

A real ARSAS bench run showed a fatal contradiction: SCL feasibility correctly found Digital (36 members) backed by configured BRCB Buffer02, while runtime planning produced staticBRCB=0, report-covered=0, unresolved=110. With strict Static DataSet mode correctly forbidding cyclic MMS process polling, the UI therefore remained entirely Unknown.

Root causes addressed

  1. Static selection included mandatory members from every static DataSet, even DataSets with no configured BRCB/URCB. Those rows could never become report-live.
  2. Static report planning used LiveDiscoveryModel ?? DesignModel as configuration authority. A partial/fast live model could therefore erase valid ReportControl evidence that still existed in the opened SCL design model.
  3. Treating SCL and live ReportControls as peer configuration authority could let an extra live RCB for the same DataSet displace an explicit SCL binding such as Digital -> Buffer02.
  4. Live MMS RCB discovery required exact ReportControl reference identity and did not safely resolve an SCL indexed ReportControl family to concrete live instances such as Buffer01 / Buffer02.
  5. A family with multiple concrete instances could select an occupied instance by literal order even when another authoritative family member was usable.
  6. ARIEC semantic projection needed hardening for structured reports that omit MemberReference: exact DataSet+index resolution must not leave generic unrooted projected-mx-pair leaves alongside exact semantic values.

Changes

P0 — deterministic Static DataSet RCB authority

  • Static DataSet selection is limited to exact memberships whose DataSet is referenced by the authoritative configured ReportControl model.
  • When an SCL workspace is open, the SCL design model is the configuration authority. Live discovery is verification/concrete-instance evidence only and cannot add a peer RCB that displaces the SCL binding.
  • Online-only operation with no SCL workspace may use the live model as configuration authority.
  • Deterministic planning evaluates every authoritative configured RCB for a DataSet instead of taking only the first configured entry.
  • Exact RCB identity remains highest authority; the only fallback is a decimal indexed instance of the same literal RCB family and the same DataSet.
  • Concrete-instance selection uses ARIEC operational availability evidence including RptEna, Resv, ResvTms, and non-zero Owner; a currently caller-owned RCB remains distinguishable as UsedByCaller.
  • Explicitly in-use/reserved/owned concrete instances are not stolen. Unknown reservation state remains eligible because some relays do not expose enough metadata to prove Available.
  • The concrete live RCB reference is carried into the runtime plan/subscription.
  • Arbitrary same-DataSet RCB substitution remains forbidden.
  • Dynamic DataSet writes and cyclic MMS process-value polling remain disabled in strict Static DataSet mode.

P1 — exact semantic report replacement

  • ARSAS now pins ARIEC PR Add dedicated IO List Testing import and binding workspace #111 head 0d7525bd330900917fb9f6d15a46059dc3d7a70a.
  • ARIEC semantic expansion returns the resolved authoritative member identity, including unique static DataSet+index fallback when an InformationReport omits MemberReference.
  • After exact semantic expansion succeeds, generic projection is replaced by report-value position instead of parent/prefix guessing, so unrooted heuristic instMag/mag updates cannot leak beside exact .instMag.f / .mag.f leaves.
  • Generic projection remains fail-closed fallback for report values whose semantic schema cannot be proven.
  • ARSAS regression guards pin the reviewed PR Add dedicated IO List Testing import and binding workspace #111 revision and its P1 replacement contract.

Physical acceptance target

For the failing CID/bench:

  • AR_HYB_01 / Analog must not inflate Strict Static DataSet live rows when it has no SCL-configured RCB.
  • Digital / 36 members must remain bound to its configured Buffer02 BRCB; an unrelated live Buffer01 for the same DataSet must not displace it.
  • If SCL describes an indexed family, the planner may resolve only a concrete decimal instance of that same family and must avoid an instance proven enabled/reserved/owned when another valid family instance is available.
  • runtime planner must report at least one Static BRCB plan and non-zero report coverage.
  • GI / InformationReport must populate the covered values.
  • TotPF and equivalent structured members must publish exact schema leaves such as .instMag.f / .mag.f with report-native quality/timestamp; missing MemberReference may use only unique static DataSet+index authority and must not leak generic unrooted pair updates.
  • cyclic MMS process polling remains 0 and dynamic DataSet writes remain 0.

Keep draft until the same physical IEDScout/KM Test and relay bench path is validated.

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