R2-07 Surgical pure-adds (arch-review round 2) #436
Reference in New Issue
Block a user
Delete Branch "r2/07-surgical-pure-adds"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Round-2 arch-review plan R2-07 (finding 03/P1 — surgical in-place address-space adds/removals instead of full rebuilds; gated by the U2 forwarding guard).
AddressSpaceChangeClassifier(default-closed Rebuild);AddressSpaceApplier.Applyroutes PureAdd/AttributeOnly to skipRebuildAddressSpace; adds announced via existing guard-coveredRaiseNodesAddedModelChange, gated on!outcome.RebuildCalled;MaterialiseAlarmConditionidempotent. Zero new sink members in Phase 1.ISurgicalAddressSpaceSinkmembers (RemoveVariableNode/RemoveAlarmConditionNode/RemoveEquipmentSubtree) — guard-first with observed negative control,DeferredAddressSpaceSinkforwards (F10b inertness net),OtOpcUaNodeManagerscoped in-place teardown; PureRemove arm writes terminal Bad/RemovedConditionState, false/throw ⇒ full-rebuild ratchet.11 tasks done; T5/T6/T12/T14 deferred-live — the over-the-wire SubscriptionSurvivalTests + docker-dev gates are the F10b inertness nets, MUST run in the serial heavy pass. Build clean; OpcUaServer.Tests 336/336, Runtime.Tests 398/398, Commons.Tests 122/122 (incl. forwarding guard green). Plan:
archreview/plans/R2-07-surgical-pure-adds-plan.md.Landed on
mastervia merge commit04fa2f5c(local --no-ff merge). Auto-merged OtOpcUaNodeManager.cs against R2-08; verified OpcUaServer.Tests 341/341 + F10b forwarding guard 3/3 + clean build. T5/T6/T12/T14 (over-the-wire SubscriptionSurvivalTests + docker-dev surgical /run) are must-run F10b nets in the serial heavy pass. Closing as merged.Pull request closed