Repository navigation
Conversation
This was referenced Oct 26, 2026
This was referenced Oct 26, 2026
Closed
Owner
Author
|
D28 maintainer decision: archive superseded experimental safety candidate — CLOSED, NOT MERGED. The operator has accepted the newer working ARSAS evidence/baseline and explicitly does not authorize or plan another capture cycle for historical PR qualification. This draft was based on an older RC. Its unique code is NOT asserted to be present in the accepted RC; do not claim this safety fix is deployed or turn red safeguards green. Historical source commits, review and discussion remain accessible for engineering traceability. No cherry-pick, engine repin, release or new FAT is authorized by this archival action. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
P0 #615 — isolate native command alias and association-fence WPF feedback (D10)
Exact current source SHA:
2aab054b6cf9eb5500b1dce5ef5957eb8ba0232d(parent25cdc1764beaf47a174e8cd0b2244cbd58af2fe5; targeted missing Models namespace import in new regression test)Base (protected integrated RC):
817c3910e8223fa2ac531a4426ada5d2d4bbbe50(release/arsas-integrated-rc0-20261024).State: Draft, unmerged. Isolated corrective PR (five paths), not a change to published stable v1.6.42 or consumer main. Trial engine pin
f75e323e9f8443aa20e0a3818a1d5d77255b2c0fretained.Root cause and design
Previously,
MainWindow.xaml.cssent the same mutable GUI-ownedSignalDefinitionto nativeNativeIec61850Client. The client changes CDC/control model/feedback after awaits, even after caller timeout/reconnect. Existing single-flight and UNKNOWN wire-outcome quarantine protect MMS admission, not object ownership.This patch:
Iec61850ControlRequestSnapshot.Createfrom the historic P0 follow-up: retire unresolved MMS control sessions without blocking reconnect #615 unique code blob96277fceb3490a778ab0d7113fadc0bb13edee1a. Copies exact authorized command inputs, copies previously verified live CDC only, and does not carry process q/t or a second SSOT ledger.Services/Iec61850MonitorRuntime.ExecuteControlAsyncnow creates a detached request after existing session-wide single-flight admission and before native dispatch, retaining the original native task lifetime/quarantine and targeted active-command bookkeeping. No modifications to native SBS/SBO/Operate wire protocol.ControlSessionIdentityGuid from inner runtime via UI facade. GUI captures association identity immediately before dispatch; inner runtime rejects any caller whose expected association was replaced; any post-await result or exception from a retired session is only logged asCONTROL_STALE_RESULT_IGNORED, not republished to WPF signal/command shout. A per-claimCompleteControlCommandcleanup still runs.Owner safety, integration and acceptance
NotSame(original.Signal, nativeRequest.Signal), current-association verified CDC only; (b) late old-native mutation after timeout/reconnect cannot change GUI-owned signal; (c) old result cannot be published into new association; (d) same-association second command rejected while native unresolved; (e) legitimate direct/SBOw and readback behavior remains; (f) compile/full Windows/native/portable exact-head CI plus owner physical spot-check.Related: #615 remains OPEN until actual owner-approved integration, not closed by this draft. #753 GOOSE safety remains independent draft green on its own exact SHA. No automatic merge.
D10 exact-head CI correction
The initial source commit
25cdc1764beaf47a174e8cd0b2244cbd58af2fe5passed application compile but failed at test compile (CS0246) due to missingusing ArIED61850Tester.Models;in the newly added regression test. Exact one-line fix63434a1f9ea4502771fc2f471b9ea7859450a48fis now the HEAD. Build+test compile succeeded on the intermediate commit, but SCL run 40312555609 then failed one regression assertion becauseSignalDefinitionnormalizesOpen [01]toOpen. Its assertion now compares GUI's captured pre-flight state before and after native late mutation. Only report CI from new Windows run 40312555665 and new SCL run 40312555609 as proving this HEAD; prior failed/old runs are not qualification.Current exact-head CI —
2aab054b6cf9eb5500b1dce5ef5957eb8ba0232d63434a1...compiled and 2988/2989 canonical-export regressions passed, with one test-only formatting assertion failure. The code did not inject process evidence;SignalDefinitionitself normalizes the displayed Open status on verified CDC. The corrected test asserts the actual before/after GUI state instead of literal text.