Skip to content

G2.3-B: add isolated dynamic-report qualification commissioning - #223

Merged
masarray merged 19 commits into
mainfrom
agent/g2-3b-dynamic-qualification-commissioning
Aug 19, 2026
Merged

G2.3-B: add isolated dynamic-report qualification commissioning#223
masarray merged 19 commits into
mainfrom
agent/g2-3b-dynamic-qualification-commissioning

Conversation

@masarray

@masarray masarray commented Aug 19, 2026

Copy link
Copy Markdown
Owner

G2.3-B — ARSAS explicit dynamic-report qualification commissioning

Starts from published ARSAS 1.6.32 baseline fc352836e3df581ec67438094d9fc1c015c5ba77 and pins exact merged ARIEC G2.3-A engine commit c0e146a6111e67b2bfe85c446bd6cef4933f4b37.

Safety boundary

This PR does not enable automatic production dynamic reporting and does not change the normal hybrid acquisition planner. P6.2-B automatic dynamic BRCB/URCB quarantine remains active.

Qualification is an explicit commissioning operation on a separate auxiliary MmsClientSession. If the IED does not accept the auxiliary association, qualification stops before NamedVariableList mutation and production monitoring is left untouched.

Implemented

  • identity-bound IED/model fingerprint independent of signal selection order/state;
  • atomic per-identity profile store under LocalApplicationData with schema/compatibility validation;
  • corrupt/stale/incompatible profile fails closed;
  • conservative Class-A candidate filter: selected primary scalar ST/MX only, no control/q/t/structured payloads;
  • exact live MMS mapping only, no suffix/fuzzy fallback;
  • direct MMS-read validation on the auxiliary association before any NamedVariableList mutation;
  • explicit commissioning coordinator runs bounded 1/4/8/16/32 qualification and safe exact-set bisection;
  • association/cleanup unsafe evidence stops qualification and saves no envelope;
  • successful multi-member evidence is explicitly accepted only as an identity-bound EnvelopeQualified profile;
  • existing profiles above EnvelopeQualified are never downgraded by re-running G2.3;
  • Ctrl+Shift+Q is the deliberate operator commissioning action with explicit warning/confirmation;
  • evidence result window exposes identity, candidate counts, ladder attempts, profile state and Copy Evidence;
  • engine-lock provenance retains the full P4/P6.2/G1/G2 ancestry including exact field-proven G1 engine a18e550d07f7bbe4ff7753c180b02615075f6292.

Regression/CI evidence

Final exact head f6db3a4da9f936ab61c7c128f7a021338e722e0b passed all required lanes:

  • Build ARSAS #1332: source/release invariant checks, exact engine checkout/API validation, restore/build, complete application regression suite, portable single-EXE publish + executable smoke — success;
  • Windows installer #316: exact engine checkout, restore/build/test, installer compile, silent install/uninstall smoke, checksums — success;
  • IO List Testing #311 — success;
  • SV evidence #447 — success.

During development CI correctly caught and we fixed: WPF generated-class accessibility, use of non-existent model fields in fingerprint code, immutable test-fixture fields, placeholder IED identity collision, and preservation of historical engine-lock provenance. No production planner path was changed to bypass those tests.

G2 state after merge

G2.1, G2.2 and G2.3 code infrastructure are complete. Physical G2.3 acceptance still requires running Ctrl+Shift+Q against the target IED and capturing the evidence. This PR does not claim RcbActivationProven, InformationReportProven, or ProductionEligible.

Next

G2.4 will consume only an identity-compatible EnvelopeQualified profile for one explicit small-URCB activation proof. It must prove actual correctly identified/mapped InformationReport delivery before any point can become report-authoritative.

@masarray
masarray marked this pull request as ready for review August 19, 2026 10:47
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@masarray
masarray merged commit 79b9134 into main Aug 19, 2026
4 checks passed
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