57 lines
2.8 KiB
Markdown
57 lines
2.8 KiB
Markdown
# 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 | `<IsTestProject>false</IsTestProject>` — `dotnet test slnx` skips |
|
|
| `tests/ZB.MOM.WW.OtOpcUa.IntegrationTests/` | Archive | `Driver.Galaxy.E2E` | `<IsTestProject>false</IsTestProject>` — `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.
|