Resolve enterprise shortname = zb (closes corrections-doc D4) and propagate through all UNS path examples and schema seeds.
Updated goal-state.md UNS hierarchy table (level 1 example with rationale: matches existing ZB.MOM.WW.* namespace prefix, short by design for a segment that appears in every equipment path, operators already say "ZB" colloquially), all worked-example paths in text + OPC UA browse forms, small-site placeholder example. Removed enterprise-shortname from the §UNS-hierarchy TBD list. Updated schemas/uns/example-warsaw-west.json `enterprise: "zb"`. Updated corrections-doc D4 entry to RESOLVED with full propagation list, and updated summary table accordingly. Production deployments use `zb` from cluster-create. The hardcoded `_default` reserved-segment rule is unchanged (still the placeholder for unused Area/Line levels at single-cluster sites). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -113,7 +113,7 @@ The plan commits to a **single canonical naming hierarchy** for addressing equip
|
||||
|
||||
| Level | Name | Semantics | Example |
|
||||
|---|---|---|---|
|
||||
| 1 | **Enterprise** | Single root for the whole organization. One value for the entire estate. | `ent` (working placeholder — replace with the real enterprise shortname when assigned) |
|
||||
| 1 | **Enterprise** | Single root for the whole organization. One value for the entire estate. | **`zb`** — confirmed 2026-04-17 (matches the existing `ZB.MOM.WW.*` namespace prefix used in the codebase; short by design since this segment appears in every equipment path) |
|
||||
| 2 | **Site** | Physical location. Matches the authoritative site list in [`current-state.md`](current-state.md) → Enterprise Layout. | `south-bend`, `warsaw-west`, `warsaw-north`, `shannon`, `galway`, `tmt`, `ponce`, `berlin`, `winterthur`, `jacksonville`, … |
|
||||
| 3 | **Area** | A section of the site — typically a **production building** at the Warsaw campuses (which run one cluster per building), or `_default` at sites that have a single cluster covering the whole site. Always present; uniform path depth is a design goal. | `bldg-3`, `bldg-7`, `_default` |
|
||||
| 4 | **Line** | A production line or work cell within an area. One line = one coherent sequence of equipment working together toward a product or sub-assembly. | `line-2`, `assembly-a`, `packout-1` |
|
||||
@@ -127,7 +127,7 @@ Five levels is a **hard commitment**. Consumers can assume every equipment insta
|
||||
|
||||
- **Uniform depth makes consumers simpler.** Subscribers and dbt models assume a fixed schema for the equipment identifier; variable-depth paths require special-casing.
|
||||
- **Adding a building later doesn't shift paths.** If a small site adds a second production building and needs an Area level, the existing equipment at that site keeps its path (now pointing at a named area instead of `_default`), and the new building gets a new area segment — no rewrites, no breaking changes for historical consumers.
|
||||
- **Explicit placeholder is more discoverable than an implicit skip.** A reader looking at `ent.shannon._default.line-1.cnc-mill-03` immediately sees that Shannon has no area distinction today; a variable-depth alternative like `ent.shannon.line-1.cnc-mill-03` leaves the reader wondering whether a level is missing.
|
||||
- **Explicit placeholder is more discoverable than an implicit skip.** A reader looking at `zb.shannon._default.line-1.cnc-mill-03` immediately sees that Shannon has no area distinction today; a variable-depth alternative like `zb.shannon.line-1.cnc-mill-03` leaves the reader wondering whether a level is missing.
|
||||
|
||||
##### Naming rules
|
||||
|
||||
@@ -145,9 +145,9 @@ Identical conventions to the existing Redpanda topic naming — one vocabulary,
|
||||
|
||||
| Form | Example |
|
||||
|---|---|
|
||||
| Text (messages, docs, dbt keys) | `ent.warsaw-west.bldg-3.line-2.cnc-mill-05.spindle-speed` |
|
||||
| OPC UA browse path | `ent/warsaw-west/bldg-3/line-2/cnc-mill-05/spindle-speed` |
|
||||
| Same machine at a small site (area placeholder) | `ent.shannon._default.line-1.cnc-mill-03` |
|
||||
| Text (messages, docs, dbt keys) | `zb.warsaw-west.bldg-3.line-2.cnc-mill-05.spindle-speed` |
|
||||
| OPC UA browse path | `zb/warsaw-west/bldg-3/line-2/cnc-mill-05/spindle-speed` |
|
||||
| Same machine at a small site (area placeholder) | `zb.shannon._default.line-1.cnc-mill-03` |
|
||||
|
||||
##### Stable equipment identity — path is navigation, UUID is lineage
|
||||
|
||||
@@ -213,7 +213,7 @@ The hierarchy will change. Sites get added (smaller sites onboarding in Year 2).
|
||||
|
||||
**Resolved:** storage format for the hierarchy in the `schemas` repo is **JSON Schema** (see "Where the authoritative hierarchy lives" above).
|
||||
|
||||
_TBD — enterprise shortname (currently `ent` placeholder); authoritative initial **UNS hierarchy snapshot** for the currently-integrated sites — requires a per-site area/line/equipment walk to capture equipment instances, their UNS path assignments, and stable UUIDs (the protocol survey has been removed since the OtOpcUa v2 design committed the driver list directly; the hierarchy walk is now a standalone Year 1 deliverable); whether the dbt `dim_equipment` historical-path tracking needs a slowly-changing-dimension type-2 pattern or a simpler current+history list; ownership of hierarchy change PRs (likely a domain SME group, not the ScadaBridge team)._
|
||||
_TBD — authoritative initial **UNS hierarchy snapshot** for the currently-integrated sites — requires a per-site area/line/equipment walk to capture equipment instances, their UNS path assignments, and stable UUIDs (the protocol survey has been removed since the OtOpcUa v2 design committed the driver list directly; the hierarchy walk is now a standalone Year 1 deliverable); whether the dbt `dim_equipment` historical-path tracking needs a slowly-changing-dimension type-2 pattern or a simpler current+history list; ownership of hierarchy change PRs (likely a domain SME group, not the ScadaBridge team)._
|
||||
|
||||
#### How this differs from a classic MQTT-based UNS
|
||||
|
||||
|
||||
Reference in New Issue
Block a user