Files
autodesk/Plant3D2026/P_Rec_Update/docs/capability-contract.md
T

28 lines
1.8 KiB
Markdown

# 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.