B1 resolved: ACL model designed and committed (decisions #129-132).
6-level scope hierarchy, NodePermissions bitmask, generation-versioned
NodeAcl table, Phase 1 ships before any driver phase. Updated goal-state
and roadmap.
B2 partially resolved: schemas repo seed exists at schemas/ (temporary).
FANUC CNC pilot class, JSON Schema format definitions, UNS subtree
example, docs. Still needs: owner team, dedicated repo, format ratification,
CI gate, consumer integration plumbing.
C5 resolved: consumer cutover OUT of OtOpcUa v2 scope (decision #136).
Integration/operations team owns cutover, not yet named. Plan updated
to explicitly assign ownership outside OtOpcUa.
CLAUDE.md updated with schemas/ in the file index.
The OtOpcUa v2 implementation team committed all 8 core drivers from
internal knowledge of the estate, making the formal protocol survey
unnecessary for driver scoping. Removed current-state/equipment-protocol-
survey.md and cleaned up all references across 7 files.
The UNS hierarchy snapshot (per-site equipment-instance walk for site/area/
line/equipment assignments + UUIDs) is now a standalone Year 1 deliverable,
decoupled from protocol discovery. Tracked in status.md and goal-state.md
UNS naming hierarchy section.
Eliminates ~52 TBDs (all placeholder data in the pre-seeded survey rows).
- EquipmentId is now system-generated ('EQ-' + 12 hex from UUID), never
operator-supplied — eliminates duplicate-identity corruption from typos
and bulk-import renames (lmxopcua decision #125)
- ZTag and SAPID fleet-wide uniqueness enforced via ExternalIdReservation
table outside generation versioning — rollback-safe (decision #124)
- Identifier table now shows who-sets-it column (3 operator, 2 system)
- Note added: ExternalIdReservation pattern is a precedent for non-versioned
cross-generation invariants; check for similar hazard when scoping ACLs