# P_Rec_Update capability contract Selected legacy provenance is `\\phpsrv03\NBIM\code\CS\P_Rec_Update\P_Rec_Update\P_Rec_Update.csproj` (SHA-256 `1945B572CEE3A308320C164549D38C95C4ED40183347CE341ACD481ED3895BFD`). It is the expanded successor to the 2023 `_v2.1` line: it exposes `P-R-UPD`, initializes an Update ribbon panel, and presents four selectable operations in `Main_Form`. | Source-backed operation | Legacy effects | 2026 status | |---|---|---| | Project NKR | reads project XML and `Settings_NKR.xml`; updates NKR-related project data | DryRun plan and preconditions implemented; Apply blocked | | Flanges | reads Piping DataLinks and geometry; may update support/flange-related data | DryRun plan and preconditions implemented; Apply blocked | | Fasteners | reads EngineeringItems and may update ItemCode values | DryRun plan and preconditions implemented; Apply blocked | | Project Spec | reads spec/project database and may update `LinearWeight` | DryRun plan and preconditions implemented; Apply blocked | The 2026 entry assembly preserves `P-R-UPD` and adds `P-R-UPD-STATUS` for a non-mutating controlled registration check. It is deterministic and refuses an Apply-capable plan without an explicit controlled-fixture permit. ## Exact dependency blocker for domain Apply The legacy code directly binds Plant 2019 DataLinks/SQLite schemas, the external `GetComponentGeometryDescription.dll`, package-local `Settings_Flanges.xml` / `Settings_NKR.xml`, and a hard-coded legacy template path. No controlled Plant 2026 fixture containing the required Piping rows, EngineeringItems/spec records and expected post-state has been supplied. Therefore domain mutation is intentionally not attempted. This is `EXACT_DEPENDENCY_BLOCKER`, not a claim of completed Apply parity. Assembly load and command registration remain independently verifiable.