Skip to content

P0-M1: wire-proven MMS string scalar acceptance (no text-based array guessing) - #670

Closed
masarray wants to merge 23 commits into
fix/p0-browser-collapsed-rcb-rptena-20261021from
fix/p0-m1-typed-mms-strings-20261022
Closed

masarray wants to merge 23 commits into
fix/p0-browser-collapsed-rcb-rptena-20261021from
fix/p0-m1-typed-mms-strings-20261022

Conversation

@masarray

@masarray masarray commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Verified stack / scope

Implemented: generic MMS read and real per-flight optimization

  1. Primitive VisibleString/MMSString values beginning [ or { no longer get rejected as arrays when exact decoded primitive kind + matching verified model string declaration are present. Reject wrong types, parent-as-leaf, unknown BER, schema conflict, or stale association. Evidence is carried through Native decode -> Iec61850ReadValue -> isolated reader -> Browser UI -> LiveValues.
  2. Apply the same wire GVA ordered type proof to FC root projection (SG/SP/SE/CF/DC/EX) and exact ST/SE DO-parent projection; preserve wire-proven Boolean true/false in results. Existing q/t quality and timestamp authority unchanged.
  3. When exact ST/SE parent GVA+Read yields several verified siblings, reuse successful siblings from the same read flight rather than calling MMS Read for each one; admit unscheduled but exact verified siblings once. Per-parent 24 attempts/3s and per association fencing unchanged.
  4. Deduplicate successful Read publications from independent FC-root and same-DO fanouts by exact canonical reference plus FC, so Read All success coverage and SSOT do not double count or overwrite with repeated messages.
  5. Failure-only decoded MMS wire-shape summary (wire kind, CLR kind, raw octet count, child count, unknown tag) attached to exact read projection and exported as bounded diagnostic. No raw BER/values, no false claims of GVA/invokeID/physical proof. This helps investigate XCBR1.SumSwARs.units.multiplier[CF] after an actual retake.
  6. Positive/negative tests for ZIVAVR-style [IRV: VisibleString, nested GVA DC root and SE DO parent, wrong FC/schema, false typed Boolean, stale association, 512-character limit, no data leakage, ST/SE reuse and unique publication; pre-existing M214 verdict guard adapted to stronger typed verifier, not dropped.

Acceptance not yet demonstrated

CI must be entirely green at this exact HEAD with Windows build, R7/R10/provenance, engine tests, portable PE and installer smoke. Current changes do not claim SIEBCU/ZIVAVR physical parity: retake identical SIEBCUCTRL/CSWI1 74 (reference,FC) keys (seven prior ST/SE failures), XCBR1 57 keys (one CF unresolved), and a ZIVAVR swRev with literal bracket prefix. GVA/invoke/BER raw capture and FAT remain external requirements. No merge/release until independently qualified.

Copy link
Copy Markdown
Owner Author

Housekeeping 2026-10-23: verified that this PR HEAD 0f666903b2987eaefdefc5089e7ef85736ff5a12 is an exact ancestor of ARSAS staging/global-mms-write-browser-control-20261023 (GitHub compare: ahead=105, behind=0). The scoped code is retained in the staged FAT integration lineage; this old PR is closed as superseded/integrated into staging, not merged to main. Production engine pin remains unchanged; this is not hardware FAT acceptance. Active follow-up is PR #690 (targeting staging). No branch history was rewritten.

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