mirror of
https://github.com/OPCFoundation/UA-.NETStandard.git
synced 2026-10-16 21:02:51 +08:00
3e433eb6c4
# Description Extracts the generic xRegistry registration lifecycle from the WoT work into a standalone, master-targeted change: - Canonical xRegistry identifier allocation (`XRegistryIdentifier`) with case-folded bounded collision handling and exact Version allocation/delete semantics. - Registrar roles / capabilities in the xRegistry NodeSet2 model (only the roles/capabilities facts). - Default-Version views and Resource Meta handling. - FileType read/write modes, session ownership/discard, cursor handling, and short reads until actual EOF on the client. - Atomic whole-document `ReplaceAsync` on the in-memory and file-system resource stores. - Generic projection engine/provisioning and projection contracts, label ownership/no-op behavior, Resource-vs-Version event targets. - Documentation in `docs/XRegistry.md` and XML docs for owned members. - Tests: Identifier, RegistrarRoles, Attribute, Projection, RegistrationEvent, FileMode, ResourceStore, Client, VersionAssignment, concurrent read. Intentionally excluded (handled in separate PRs): trusted Federation / Registry origin model and provider (G9); WoT lease/dispatcher, prepared manifest, 0.7 model/version bump (G12). Merged current `master` (a14b23e7d) with an ordinary merge; no conflicts. ## Qualification (heada8fb2d01) - `b9b4f224`: `Opc.Ua.XRegistry.Tests` 411/411 passed on net10.0 and net48 (raw exit 0). TRX SHA256 net10 `4F669A1A...B02B`, net48 `3EDBFF2A...7D29`. - `a8fb2d01` differs from `b9b4f224` by one added blank line (static whitespace-only proof, CRLF intact); no rebuild/rerun of tests on `a8fb2d01`. - `a8fb2d01`: default-analyzer `dotnet format --verify` on `Opc.Ua.XRegistry.Tests` reports 0 findings in lines changed by this PR; 128 pre-existing baseline findings are untouched. `Opc.Ua.XRegistry.Server`: 0 owned (13 baseline) as of `b9b4f224`. - Not claimed: full UA.slnx, native, or all-CI results. ## Related Issues - No tracking issue; split of the WoT/xRegistry work. ## Checklist - [ ] I have signed the [CLA](https://opcfoundation.org/license/cla/ContributorLicenseAgreementv1.0.pdf) and read the [CONTRIBUTING](https://github.com/OPCFoundation/UA-.NETStandard/blob/master/CONTRIBUTING.md) doc. - [ ] I have added tests that prove my fix is effective or that my feature works and increased code coverage. - [ ] I have added all necessary documentation. - [ ] I have verified that my changes do not introduce (new) build or analyzer warnings. - [ ] I ran **all** tests locally using the **UA.slnx** solution against at least .net **framework** and .net **10**, and all passed. - [ ] I fixed **all** failing and flaky tests in the CI pipelines and **all** CodeQL warnings. - [ ] I have addressed **all** PR feedback received.