Summary
Track the distributed address-space follow-up in draft #4445: ownership,
authoritative hydration, in-place runtime graph restoration and identical wire
NodeIds across both active/passive and active/active replica sets.
The original review repairs were published in d99995003 and 79da74f14.
The replica identity implementation is included in a78d59067 and 07faf5cfd
in the current draft update.
Implemented
- Fixed shared namespace slots established before manager construction;
required explicit replica identity configuration and standard-factory reuse.
- Policy-preserving rebasing/replacement, collision and writer-allocation guards,
retained-ID reservations, and identity-preserving child hydration.
- Protected strongly routed store contracts, explicit verified-new hybrid
provisioning, and active/active descriptor validation before merge.
- Namespace checks for references, type/data metadata, permissions and typed
structured values, including arrays, matrices and method arguments.
- Hidden-manager hydration before publication, runtime source rebinding, normal
AddNodes capture through cached adapters, and retained IDs after successive
manager reloads.
- WoT stable-factory integration and runnable server/client identity examples.
- The earlier corruption, sequence coordination, topology/incarnation, pending
value, subtree handler and final-snapshot disposal fixes remain intact.
Validation
Selected suites pass on each of net10.0 and net48: 215 HA/identity cases,
213 factory/authoring/import/NodeManagement/adapter cases, and 68 WoT cases.
This includes real-client Browse/Read/subscription use with unchanged NodeIds in
all four deterministic modes, restart, and real AddNodes/live manager reload.
Two three-process sample cases cover active/passive Raft and active/active CRDT:
the serving replica is terminated, a different serving server is verified, and
the exact cached factory NodeIds are reused for Read/CreateMonitoredItems with
no remapping or rebrowsing. The existing NativeAOT companion host also executes
the identity/hydration test as a native win-x64 binary.
A deterministic regression reproduces and fixes accidental re-publication of
temporary hydration removals as writer deletions.
Deliberate limits and remaining readiness
Strong sequence allocation does not make eventual payload reads authoritative.
CRDT absence cannot authorize deletion, seeding or partition completion; compacted
snapshots need strong storage, and uncertain reservations need reconciliation.
Existing unbound state is not silently adopted, reminted, renumbered or erased.
Keep this issue open and #4445 in draft for full-solution CI, coverage gates and
maintainer review. Targeted framework/native results are not a claim that the
entire solution or all native platforms were validated.
Summary
Track the distributed address-space follow-up in draft #4445: ownership,
authoritative hydration, in-place runtime graph restoration and identical wire
NodeIds across both active/passive and active/active replica sets.
The original review repairs were published in
d99995003and79da74f14.The replica identity implementation is included in
a78d59067and07faf5cfdin the current draft update.
Implemented
required explicit replica identity configuration and standard-factory reuse.
retained-ID reservations, and identity-preserving child hydration.
provisioning, and active/active descriptor validation before merge.
structured values, including arrays, matrices and method arguments.
AddNodes capture through cached adapters, and retained IDs after successive
manager reloads.
value, subtree handler and final-snapshot disposal fixes remain intact.
Validation
Selected suites pass on each of net10.0 and net48: 215 HA/identity cases,
213 factory/authoring/import/NodeManagement/adapter cases, and 68 WoT cases.
This includes real-client Browse/Read/subscription use with unchanged NodeIds in
all four deterministic modes, restart, and real AddNodes/live manager reload.
Two three-process sample cases cover active/passive Raft and active/active CRDT:
the serving replica is terminated, a different serving server is verified, and
the exact cached factory NodeIds are reused for Read/CreateMonitoredItems with
no remapping or rebrowsing. The existing NativeAOT companion host also executes
the identity/hydration test as a native win-x64 binary.
A deterministic regression reproduces and fixes accidental re-publication of
temporary hydration removals as writer deletions.
Deliberate limits and remaining readiness
Strong sequence allocation does not make eventual payload reads authoritative.
CRDT absence cannot authorize deletion, seeding or partition completion; compacted
snapshots need strong storage, and uncertain reservations need reconciliation.
Existing unbound state is not silently adopted, reminted, renumbered or erased.
Keep this issue open and #4445 in draft for full-solution CI, coverage gates and
maintainer review. Targeted framework/native results are not a claim that the
entire solution or all native platforms were validated.