First run of the regeneration pipeline. 18 slides per presentation-spec.md: title, exec summary, today's reality, vision, three pillars, enterprise layout, systems, layered architecture (colored boxes), end-to-end data flow, OtOpcUa, analytics stack, Redpanda EventHub, 3-year roadmap (table), Year 1 focus, legacy retirement, open coordination items, non-goals, asks & next steps. Design: dark navy (#1B2838) for title/vision/closing slides, white for content, blue (#2980B9) headers, orange (#E67E22) accents.
schemas repo is created (Gitea push-to-create is disabled, the dedicated repo needs a manual UI step). Initial seed contributed by the OtOpcUa team to unblock the EquipmentClassRef integration timeline (lmxopcua decision #112) and to provide the future cross-team owner with a concrete starting point rather than a blank slate. Marked DRAFT throughout with prominent "ownership TBD" framing in README and CONTRIBUTING — the future owner team should treat this seed as a starting point and revise format / structure / naming as the open questions in README "Open Questions" get resolved.
3-Year Plan: Shopfloor IT/OT Transformation
A 3-year plan for transforming and enhancing shopfloor IT/OT interfaces and data collection — bridging IT and OT layers, improving operator interfaces, and upgrading data collection pipelines.
Vision
A stable, single point of integration between shopfloor OT and enterprise IT.
Three Pillars (binary at end of plan)
- Unification — 100% of sites on the standardized stack (OtOpcUa + ScadaBridge + Redpanda + SnowBridge + Snowflake/dbt).
- Analytics / AI Enablement — machine data in Snowflake with a ≤15-minute analytics SLO; at least one "not possible before" use case in production.
- Legacy Retirement — zero remaining bespoke IT/OT integration paths outside ScadaBridge.
Key Architecture
Layer 1 Equipment (PLCs, controllers, instruments)
Layer 2 OtOpcUa (unified site-level OPC UA — single session per equipment, two namespaces)
Layer 3 SCADA (Aveva System Platform + Ignition)
Layer 4 ScadaBridge (sole IT/OT crossing point)
─── IT/OT Boundary ───
Enterprise IT (Camstar, Delmia, Snowflake, Power BI, SnowBridge)
The plan also declares a Unified Namespace (UNS) composed of OtOpcUa + Redpanda + canonical model in schemas repo + dbt curated layer, with a 5-level naming hierarchy standard (Enterprise → Site → Area → Line → Equipment).
Plan Documents
| File | Purpose |
|---|---|
current-state.md |
Snapshot of today's systems, integrations, and pain points |
goal-state.md |
Target end-state: architecture, components, success criteria, UNS, canonical model |
roadmap.md |
7 workstreams x 3 years migration grid |
STATUS.md |
Working-session bookmark — where we left off, pending items |
Component Detail Files
| File | Purpose |
|---|---|
current-state/legacy-integrations.md |
Pillar 3 denominator: 3 legacy IT/OT integrations to retire |
current-state/equipment-protocol-survey.md |
Removed — protocol survey no longer needed; OtOpcUa v2 team committed driver list directly |
goal-state/digital-twin-management-brief.md |
Digital twin management conversation brief (completed) |
schemas/ |
Canonical OT equipment definitions (DRAFT seed contributed by OtOpcUa team — UNS hierarchy + equipment-class templates + format JSON Schemas + worked FANUC CNC pilot). Temporary location until a dedicated schemas repo is created and an owner team is named — see schemas/README.md |
Output Generation
| File | Purpose |
|---|---|
outputs/README.md |
How to regenerate PPTX + PDF from plan source |
outputs/presentation-spec.md |
18-slide mixed-stakeholder deck structure |
outputs/longform-spec.md |
Faithful-typeset PDF structure |
Trigger: regenerate outputs, regenerate presentation, or regenerate longform in a Claude Code session.
Conventions
- Everything in markdown — no proprietary formats.
_TBD_marks gaps that still need filling.- Decisions are captured inline with rationale; don't re-open without new information.
Working with Claude Code
This repo includes a CLAUDE.md file that orients Claude Code sessions to the plan's structure and conventions. Resume work with:
claude --resume <session-id>
or start a new session in this directory — CLAUDE.md and STATUS.md provide enough context to pick up where the last session left off.