P6.1: isolate dynamic RCB recovery from proven static behavior - #217
P6.1: isolate dynamic RCB recovery from proven static behavior#217masarray wants to merge 10 commits into
Conversation
|
P6.1 validation complete on head Green CI:
The first validation attempt exposed only three stale tests that hard-coded the old P4 engine SHA; production build itself succeeded. Those guards were corrected to preserve immutable lock/provenance semantics without freezing an obsolete engine revision. Static activation failure is now side-effect free: it cannot create a dynamic DataSet, write an alternate RCB, or open the dynamic-write circuit. Genuine residual dynamic activation remains attempt-aware and still opens the P6 circuit after a real failure. |
masarray
left a comment
There was a problem hiding this comment.
Field follow-up from real IED diagnostic (app 1.6.31+12cdcc9 / engine 1d052c3): the first association successfully armed static BRCB Buffer02 for all 6 static members, then the first dynamic DefineNamedVariableList attempt failed and moved the association to MmsInitiateFailed. Immediate reconnect then observed freeBRCB=0 and fell to 115/115 polling. P6.1 follow-up commit 01b950c adds mixed-plan side-effect isolation: when an authoritative plan contains both static and dynamic segments, dynamic mutation is probationed before static RCB activation. Coverage precedence remains static -> dynamic -> polling; only activation side-effect ordering changes. Therefore a relay-aborting dynamic write cannot leave the proven static RCB transiently armed/owned before reconnect. Static-only ordering is unchanged. Regression tests cover mixed and static-only ordering. CI from 01b950c is green: Build ARSAS #1288 incl. full regression + portable smoke, installer #274 incl. install/uninstall smoke, IO #274, SV #410. Keep PR draft pending physical retest; do not weaken InUse/Owner classification because another RCB is genuinely used by ABB.
P6.1 Stability Correction
This patch restores the pre-P0 safety boundary while keeping P1/P2/P5/P6 improvements.
Runtime change
Engine integration
Pins ARIEC P6.1 PR #87 / commit
1d052c3919ca1fdf043747d858dab9b6c384e827, where configured static RCBs remain visible to the stable planner and capability qualification gates only empty RCB slots requiring dynamic mutation.Regression correction
Tests that previously asserted
static failure -> dynamic recoveryas desired behavior are inverted. CI now requires static failure to be side-effect free and unable to create a DataSet, write an alternate RCB, or open the dynamic circuit.No merge to main is intended until full ARIEC + ARSAS CI is green.