Seed UNS hierarchy across 6 sites; rebrand outputs to SCADA IT/OT with ZB template

Lands per-site UNS subtree files (Warsaw West/North, Shannon, Galway, TMT,
Ponce) seeded from OpenText facility docs — Warsaw split confirmed as
numbered = legacy Zimmer = West, lettered = legacy Biomet = North. Renames
project framing from "Shopfloor IT/OT" to "SCADA IT/OT" for accuracy.
Extracts a ZB-branded PowerPoint template from example_powerpoint.pptx and
wires it into the outputs pipeline. Trims deck from 18 to 16 slides
(BOBJ->Power BI transferred to another team, Non-Goals and Asks dropped);
goal-state BOBJ analysis pruned to a stub.
This commit is contained in:
Joseph Doherty
2026-04-30 10:54:49 -04:00
parent 98bf2d0da4
commit ebc76e9315
46 changed files with 2554 additions and 122 deletions

View File

@@ -12,7 +12,7 @@
| **Theme** | `document-skills:theme-factory` default professional theme. Clean, neutral, no custom branding on first pass. Override: add a `**Theme override:**` line here with the target preset if you want different. |
| **Body font** | Theme default sans-serif |
| **Accent color** | Theme default |
| **Source of truth for title** | "Shopfloor IT/OT Transformation — 3-Year Plan" |
| **Source of truth for title** | "SCADA IT/OT Transformation — 3-Year Plan" |
| **Subtitle template** | "As of {{date}}" where `{{date}}` is the regeneration timestamp in `YYYY-MM-DD` form |
## Truncation rules (apply to every slide unless overridden per-slide)
@@ -29,7 +29,7 @@
If `document-skills:pptx` cannot render a requested layout:
- **3-column content → single column with visual separators.** Applies to slide 5 (Three Pillars).
- **2-column content → single column with a horizontal rule.** Applies to slide 16 (Open Coordination Items).
- **2-column patterns → single column.** Applies to slide 16 (Digital Twin Scope) where the two access-control patterns are shown side-by-side; collapse to stacked patterns if the side-by-side layout doesn't fit at readable type size.
- **Diagram + caption → caption only with a "(Diagram not yet available — render `<path>.mmd` and re-run)" note.** Applies to slides 8 and 9 until the PNG files exist in `diagrams/`.
- **Multi-column table that overflows → split across two slides labeled "N/2" and "2/2".** Applies to slide 13 (Roadmap grid) if 7 rows × 3 columns doesn't fit one slide at readable type size.
@@ -41,7 +41,7 @@ If `document-skills:pptx` cannot render a requested layout:
|---|---|
| **Layout** | Title |
| **Source** | — (no source file) |
| **Content** | Title: *"Shopfloor IT/OT Transformation"* · Subtitle: *"3-Year Plan"* · Footer: *"As of {{regeneration-date}}"* |
| **Content** | Title: *"SCADA IT/OT Transformation"* · Subtitle: *"3-Year Plan"* · Footer: *"As of {{regeneration-date}}"* |
| **Rules** | No bullets, no extra content. Title slide is deliberately minimal. |
## Slide 2 — Executive Summary
@@ -166,31 +166,14 @@ If `document-skills:pptx` cannot render a requested layout:
| **Source** | [`../current-state/legacy-integrations.md`](../current-state/legacy-integrations.md) → Current inventory |
| **Population** | 3 bullets — one per legacy integration: (1) **LEG-001** Aveva Web API → Delmia DNC (bidirectional orchestrated handshake; harder retirement — requires ScadaBridge scripts to re-implement System Platform parse logic). (2) **LEG-002** Aveva Web API ← Camstar MES (Camstar-initiated; easier retirement — ScadaBridge already has native Camstar path; requires Camstar-side reconfiguration). (3) **LEG-003** System Platform → custom email notification service (easier retirement — ScadaBridge native notifications already exist). Callout at bottom: *"Historian MSSQL reporting surface (BOBJ / Power BI) is explicitly carved out as not legacy — see `legacy-integrations.md` → Deliberately not tracked."* |
## Slide 16 — Open Coordination Items
## Slide 16 — Digital Twin Scope
| Property | Value |
|---|---|
| **Layout** | 2-column content (fallback: single column with horizontal rule) |
| **Source** | [`../goal-state.md`](../goal-state.md) → **Strategic Considerations (Adjacent Asks)** |
| **Population** | **Left column — Digital twin (scope: two access-control patterns):** 4 bullets: (1) Scope is definitive — not a committed workstream, not a new component; (2) Pattern 1 — environment-lifecycle promotion without reconfiguration (ACL flip on write authority); (3) Pattern 2 — safe read-only consumption for KPI / monitoring systems (structural zero-write-path guarantee); (4) Both patterns are delivered by already-committed architecture (OtOpcUa ACL model + canonical model + single-connection-per-equipment). **Right column — BOBJ → Power BI:** 4 bullets: (1) In-flight reporting initiative, not owned by this plan; (2) Three consumption paths analyzed (SnowBridge curated layer in Snowflake / Historian direct / both); (3) Recommended position: Path C — hybrid, with Path A as strategic direction; (4) Next: schedule coordination conversation with reporting team — 8 questions ready in `goal-state.md`. |
## Slide 17 — Non-Goals
| Property | Value |
|---|---|
| **Layout** | Content (bulleted) |
| **Source** | [`../goal-state.md`](../goal-state.md) → **Non-Goals** |
| **Population** | 6 bullets, one line each: (1) Operator UX modernization — deprioritized against the three pillars; (2) Support staffing decisions — other teams; (3) Licensing strategy — not tracked; (4) Self-hosted orchestrator selection — chosen outside this plan; (5) VM-level DR — out of scope for Redpanda; (6) Physical network segmentation — out of scope. |
| **Notes** | This slide is important for managing stakeholder expectations — what the plan *does not* commit to is as load-bearing as what it does commit to. Do not drop this slide even if time is short. |
## Slide 18 — Asks & Next Steps
| Property | Value |
|---|---|
| **Layout** | Content (bulleted) |
| **Source** | [`../status.md`](../status.md) → **Top pending items** + inferred from [`../roadmap.md`](../roadmap.md) → Year 1 |
| **Population** | 4 bullets: (1) Sponsor confirmation + Year 1 funding commitment; (2) Named owners for each of the 6 workstreams (build team alignment); (3) Power BI coordination conversation with reporting team — schedule; (4) UNS hierarchy snapshot walk owner named (Q1Q2 Year 1 prerequisite for canonical model v1 publication). |
| **Notes** | This is the closer slide. Each bullet should be a discrete ask with a clear "who needs to do what" so the audience leaves with action. |
| **Layout** | Lede + 2-column pattern cards (fallback: stacked patterns) |
| **Source** | [`../goal-state.md`](../goal-state.md) → **Strategic Considerations → Digital Twin** |
| **Population** | **Lede:** scope is two access-control patterns — not a new component, not a new workstream — both delivered by already-committed architecture (OtOpcUa ACL model + canonical model + single-connection-per-equipment). **Pattern 1 card — Environment-lifecycle promotion:** promote between dev / staging / prod by flipping write-authority ACLs against stable equipment UUIDs; no client reconfiguration. **Pattern 2 card — Safe read-only consumption:** KPI / monitoring consumers get read-only grants with a structural zero-write-path guarantee — no equipment-side session for them to misuse. **Footnote:** physics simulation, FAT, commissioning emulation are out of scope; would be separate funded adjacent initiatives. |
| **Notes** | This is the deck's closing slide. It exists because digital-twin scope was the most contested decision in the plan; making the resolved scope concrete prevents the topic from re-opening unnecessarily. The previous BOBJ → Power BI column was removed when that coordination was transferred to another team (2026-04-30). The previous Non-Goals and Asks & Next Steps slides were removed in the same pass. |
---
@@ -203,4 +186,4 @@ If `document-skills:pptx` cannot render a requested layout:
## Slide-count budget
Current: **18 slides.** If additions push this above 22, reconsider whether the deck is still "mixed-stakeholder" or has quietly become a build-team deck. The mixed-stakeholder audience tops out around 20 slides before attention fragments; a build-team deck belongs in a separate spec file (`build-team-spec.md` or similar) feeding a second generated output.
Current: **16 slides.** If additions push this above 22, reconsider whether the deck is still "mixed-stakeholder" or has quietly become a build-team deck. The mixed-stakeholder audience tops out around 20 slides before attention fragments; a build-team deck belongs in a separate spec file (`build-team-spec.md` or similar) feeding a second generated output.