Files
lmxopcua/docs/v2/V1_ARCHIVE_STATUS.md
Joseph Doherty 56d8af8bdb Phase 2 PR 61 -- Close V1_ARCHIVE_STATUS.md; Phase 2 Streams D + E done. Purely a documentation-closure PR. The v1 archive deletion itself happened across earlier PRs: PR 2 on phase-2-stream-d archive-marked the four v1 projects (IsTestProject=false so dotnet test slnx bypassed them); Phase 3 PR 18 deleted the archived project source trees. What remained on disk was stale bin/obj residue from pre-deletion builds -- git never tracked those, so removing them from the working tree is cosmetic only (no source-file diff in this PR). What this PR actually changes: V1_ARCHIVE_STATUS.md is rewritten from 'Deletion plan (Phase 2 PR 3)' pre-work prose to a CLOSED retrospective that (a) lists all five v1 directories as deleted with check-marks (src/OtOpcUa.Host, src/Historian.Aveva, tests/Historian.Aveva.Tests, tests/Tests.v1Archive, tests/IntegrationTests), (b) names the parity-bar tests that now fill the role the 494 v1 tests originally held (Driver.Galaxy.E2E cross-FX subprocess parity + stability-findings regression, per-component *.Tests projects, Driver.Modbus.IntegrationTests, LiveStack/ smoke tests), and (c) gives the closure timeline connecting PR 2 -> Phase 3 PR 18 -> this PR 61. Also added the Modbus TCP driver family as parity coverage that didn't exist in v1 (DL205 + S7-1500 + Mitsubishi MELSEC via pymodbus sim). Stream D (retire legacy Host) has been effectively done since Phase 3 PR 18; Stream E (parity validation) is done since PR 2 landed the Driver.Galaxy.E2E project with HostSubprocessParityTests + HierarchyParityTests + StabilityFindingsRegressionTests. This PR exists to definitively close the two pending Phase 2 tasks on the task list and give future-me (or anyone picking up Phase 2 retrospectives) a single 'what actually happened' doc instead of a 'what we plan to do' prose that didn't match reality. dotnet build ZB.MOM.WW.OtOpcUa.slnx: 0 errors, 200 warnings (all xunit1051 cancellation-token analyzer advisories, unchanged from v2 tip). No test regressions -- no source code changed.
2026-04-18 23:20:54 -04:00

2.6 KiB
Raw Permalink Blame History

V1 Archive Status — CLOSED (Phase 2 Streams D + E complete)

Status as of 2026-04-18: the v1 archive has been fully removed from the tree. This document is retained as historical record of the Phase 2 Stream D / E closure.

Final state

All five v1 archive directories have been deleted:

Path Deleted Replaced by
src/ZB.MOM.WW.OtOpcUa.Host/ OtOpcUa.Server + Driver.Galaxy.Host + Driver.Galaxy.Proxy
src/ZB.MOM.WW.OtOpcUa.Historian.Aveva/ Driver.Galaxy.Host/Backend/Historian/ (ported in Phase 3 PRs 51-55)
tests/ZB.MOM.WW.OtOpcUa.Historian.Aveva.Tests/ Driver.Galaxy.Host.Tests/Historian/
tests/ZB.MOM.WW.OtOpcUa.Tests.v1Archive/ Per-component *.Tests projects + Driver.Galaxy.E2E
tests/ZB.MOM.WW.OtOpcUa.IntegrationTests/ Driver.Galaxy.E2E + Driver.Modbus.IntegrationTests

Closure timeline

  • PR 2 (2026-04-18, phase-2-stream-d) — archive-marked the four v1 projects with <IsTestProject>false</IsTestProject> so solution builds and dotnet test slnx bypassed them. Capture: docs/v2/implementation/exit-gate-phase-2-final.md.
  • Phase 3 PR 18 (2026-04-18) — deleted the archived project source trees. Leftover bin/ and obj/ residue remained on disk from pre-deletion builds.
  • Phase 2 PR 61 (2026-04-18, this closure PR) — scrubbed the empty residue directories and confirmed dotnet build ZB.MOM.WW.OtOpcUa.slnx clean with 0 errors.

Parity validation (Stream E)

The original 494 v1 tests + 6 v1 integration tests are not preserved in the v2 branch. Their parity-bar role is now filled by:

  • Driver.Galaxy.E2E — cross-FX subprocess parity (spawns the net48 x86 Galaxy.Host.exe
    • connects via real named pipe, exercises every IDriver capability through the supervisor). Stability-findings regression tests (4 × 2026-04-13 findings) live here.
  • Per-component *.Tests projects — cover the code that moved out of the monolith into discrete v2 projects. Running dotnet test ZB.MOM.WW.OtOpcUa.slnx executes all of them as one solution-level gate.
  • Driver.Modbus.IntegrationTests — adds Modbus TCP driver coverage that didn't exist in v1 (DL205, S7-1500, Mitsubishi MELSEC via pymodbus sim profiles — PRs 30, 56-60).
  • Live-stack smoke tests (Driver.Galaxy.E2E/LiveStack/) — optional, gated on presence of the OtOpcUaGalaxyHost service + Galaxy repository on the dev box (PRs 33, 36, 37).

Rollback

git revert of the deletion commits restores the projects intact. The v2 stack continues to ship from the v2 branch regardless.