R2-04 Failure-visibility trio (arch-review round 2) #433

Closed
dohertj2 wants to merge 0 commits from r2/04-failure-visibility into master
Owner

Round-2 arch-review plan R2-04 (findings 01/S-1, 06/S-1, 03/S4 + scripted-alarm emit gate).

  • 01/S-1: AddressSpaceApplyOutcome gains RebuildFailed/FailedNodes (defaulted trailing params); Materialise passes return failure tallies; OpcUaPublishActor logs Error + otopcua.opcua.apply.failed on a degraded apply instead of optimistic Info.
  • 06/S-1: new IMxWriteOps seam; Galaxy advise-failure now fails closed → BadCommunicationError (fires the #5 node revert) instead of issuing a knowingly-lost raw Write; new galaxy.writes meters.
  • 03/S4: new PrimaryGatePolicy (known role wins; unknown role → allow single-driver, deny multi-driver) wired into all three DriverHostActor gates + ScriptedAlarmHostActor emit gate; distinct 'not primary (role unknown)' reason; otopcua.redundancy.primary_gate_denied meter.

13/15 tasks; T13 (in-process 2-node) + T15 (docker-dev 2-node rig gate) deferred to serial heavy pass. ⚠️ T15 is the behavior-affecting live gate for the S4 slice — MUST run in the heavy pass. Build clean; OpcUaServer.Tests 334, Runtime.Tests 395, Galaxy 304, Commons 57 (all green). Plan: archreview/plans/R2-04-failure-visibility-plan.md.

Round-2 arch-review plan **R2-04** (findings 01/S-1, 06/S-1, 03/S4 + scripted-alarm emit gate). - **01/S-1:** `AddressSpaceApplyOutcome` gains RebuildFailed/FailedNodes (defaulted trailing params); Materialise passes return failure tallies; `OpcUaPublishActor` logs Error + `otopcua.opcua.apply.failed` on a degraded apply instead of optimistic Info. - **06/S-1:** new `IMxWriteOps` seam; Galaxy advise-failure now **fails closed** → BadCommunicationError (fires the #5 node revert) instead of issuing a knowingly-lost raw Write; new galaxy.writes meters. - **03/S4:** new `PrimaryGatePolicy` (known role wins; unknown role → allow single-driver, deny multi-driver) wired into all three DriverHostActor gates + ScriptedAlarmHostActor emit gate; distinct 'not primary (role unknown)' reason; `otopcua.redundancy.primary_gate_denied` meter. 13/15 tasks; **T13 (in-process 2-node) + T15 (docker-dev 2-node rig gate) deferred** to serial heavy pass. ⚠️ T15 is the behavior-affecting live gate for the S4 slice — MUST run in the heavy pass. Build clean; OpcUaServer.Tests 334, Runtime.Tests 395, Galaxy 304, Commons 57 (all green). Plan: `archreview/plans/R2-04-failure-visibility-plan.md`.
dohertj2 added 15 commits 2026-07-13 11:18:36 -04:00
docs(r2-04): record execution deviations + mark T13/T15 deferred-live
v2-ci / build (pull_request) Successful in 3m54s
v2-ci / unit-tests (pull_request) Failing after 7m43s
fd3b718892
Author
Owner

Landed on master via merge commit d62b140c (local --no-ff merge, clean build barrier). NOTE: T15 (2-node docker-dev S4 primary-gate live gate) is a behavior-affecting must-run item in the controller's serial heavy pass. Closing as merged.

Landed on `master` via merge commit `d62b140c` (local --no-ff merge, clean build barrier). NOTE: T15 (2-node docker-dev S4 primary-gate live gate) is a behavior-affecting must-run item in the controller's serial heavy pass. Closing as merged.
dohertj2 closed this pull request 2026-07-13 11:19:26 -04:00
Some checks are pending
v2-ci / build (pull_request) Successful in 3m54s
v2-ci / unit-tests (pull_request) Failing after 7m43s

Pull request closed

Sign in to join this conversation.