# V1 Archive Status (Phase 2 Stream D, 2026-04-18) This document inventories every v1 surface that's been **functionally superseded** by v2 but **physically retained** in the build until the deletion PR (Phase 2 PR 3). Rationale: cascading references mean a single deletion is high blast-radius; archive-marking lets the v2 stack ship on its own merits while the v1 surface stays as parity reference. ## Archived projects | Path | Status | Replaced by | Build behavior | |---|---|---|---| | `src/ZB.MOM.WW.OtOpcUa.Host/` | Archive (executable in build) | `OtOpcUa.Server` + `Driver.Galaxy.Host` + `Driver.Galaxy.Proxy` | Builds; not deployed by v2 install scripts | | `src/ZB.MOM.WW.OtOpcUa.Historian.Aveva/` | Archive (plugin in build) | TODO: port into `Driver.Galaxy.Host/Backend/Historian/` (Task B.1.h follow-up) | Builds; loaded only by archived Host | | `tests/ZB.MOM.WW.OtOpcUa.Tests.v1Archive/` | Archive | `Driver.Galaxy.E2E` + per-component test projects | `false` — `dotnet test slnx` skips | | `tests/ZB.MOM.WW.OtOpcUa.IntegrationTests/` | Archive | `Driver.Galaxy.E2E` | `false` — `dotnet test slnx` skips | ## How to run the archived suites explicitly ```powershell # v1 unit tests (494): dotnet test tests/ZB.MOM.WW.OtOpcUa.Tests.v1Archive # v1 integration tests (6): dotnet test tests/ZB.MOM.WW.OtOpcUa.IntegrationTests ``` Both still pass on this dev box — they're the parity reference for Phase 2 PR 3's deletion decision. ## Deletion plan (Phase 2 PR 3) Pre-conditions: - [ ] `Driver.Galaxy.E2E` test count covers the v1 IntegrationTests' 6 integration scenarios at minimum (currently 7 tests; expand as needed) - [ ] `Driver.Galaxy.Host/Backend/Historian/` ports the Wonderware Historian plugin so `MxAccessGalaxyBackend.HistoryReadAsync` returns real data (Task B.1.h) - [ ] Operator review on a separate PR — destructive change Steps: 1. `git rm -r src/ZB.MOM.WW.OtOpcUa.Host/` 2. `git rm -r src/ZB.MOM.WW.OtOpcUa.Historian.Aveva/` (or move it under Driver.Galaxy.Host first if the lift is part of the same PR) 3. `git rm -r tests/ZB.MOM.WW.OtOpcUa.Tests.v1Archive/` 4. `git rm -r tests/ZB.MOM.WW.OtOpcUa.IntegrationTests/` 5. Edit `ZB.MOM.WW.OtOpcUa.slnx` — remove the four project lines 6. `dotnet build ZB.MOM.WW.OtOpcUa.slnx` → confirm clean 7. `dotnet test ZB.MOM.WW.OtOpcUa.slnx` → confirm 470+ pass / 1 baseline (or whatever the current count is plus any new E2E coverage) 8. Commit: "Phase 2 Stream D — delete v1 archive (Host + Historian.Aveva + v1Tests + IntegrationTests)" 9. PR 3 against `v2`, link this doc + exit-gate-phase-2-final.md 10. One reviewer signoff ## Rollback If Phase 2 PR 3 surfaces downstream consumer regressions, `git revert` the deletion commit restores the four projects intact. The v2 stack continues to ship from the v2 branch.