Doc — record that this dev box (DESKTOP-6JL3KKO) hosts the full AVEVA stack required for the LmxOpcUa Phase 2 breakout, removing the "needs live MXAccess runtime" environmental blocker that the partial-exit evidence cited as gating Streams D + E. Inventory verified via Get-Service: 27 ArchestrA / Wonderware / AVEVA services running including aaBootstrap, aaGR (Galaxy Repository), aaLogger, aaUserValidator, aaPim, ArchestrADataStore, AsbServiceManager, AutoBuild_Service; the full Historian set (aahClientAccessPoint, aahGateway, aahInSight, aahSearchIndexer, aahSupervisor, InSQLStorage, InSQLConfiguration, InSQLEventSystem, InSQLIndexing, InSQLIOServer, InSQLManualStorage, InSQLSystemDriver, HistorianSearch-x64); slssvc (Wonderware SuiteLink); MXAccess COM DLL at C:\Program Files (x86)\ArchestrA\Framework\bin\ArchestrA.MXAccess.dll plus the matching .tlb files; OI-Gateway install at C:\Program Files (x86)\Wonderware\OI-Server\OI-Gateway\ — which means the Phase 1 Task E.10 AppServer-via-OI-Gateway smoke test (decision #142) is *also* runnable on the same box, not blocked on a separate AVEVA test machine as the original deferral assumed. dev-environment.md inventory row for "Dev Galaxy" now lists every service and file path; status flips to "Fully available — Phase 2 lift unblocked"; the GLAuth row also fills out v2.4.0 actual install details (direct-bind cn={user},dc=lmxopcua,dc=local; users readonly/writeop/writetune/writeconfig/alarmack/admin/serviceaccount; running under NSSM service GLAuth; current GroupToRole mapping ReadOnly→ConfigViewer / WriteOperate→ConfigEditor / AlarmAck→FleetAdmin) and notes the v2-rebrand to dc=otopcua,dc=local is a future cosmetic change. phase-2-partial-exit-evidence.md status header gains "runtime now in place"; an Update 2026-04-17 callout enumerates the same service inventory and concludes "no environmental blocker remains"; the next-session checklist's first step changes from "stand up dev Galaxy" to "verify the local AVEVA stack is still green (Get-Service aaGR, aaBootstrap, slssvc → Running) and the Galaxy ZB repository is reachable" with a new step 9 calling out that the AppServer-via-OI-Gateway smoke test should now be folded in opportunistically. plan.md §"4. Galaxy/MXAccess as Out-of-Process Driver" gains a "Dev environment for the LmxOpcUa breakout" paragraph documenting which physical machine has the runtime so the planning doc no longer reads as if AVEVA capability were a future logistical concern. No source / test changes.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -4,14 +4,29 @@
|
||||
> deferred. See `phase-2-galaxy-out-of-process.md` for the full task plan; this is the as-built
|
||||
> delta.
|
||||
|
||||
## Status: **Streams A + B + C scaffolded and test-green. Streams D + E deferred.**
|
||||
## Status: **Streams A + B + C scaffolded and test-green. Streams D + E deferred — runtime now in place.**
|
||||
|
||||
The goal per the plan is "parity, not regression" — the phase exit gate requires v1
|
||||
IntegrationTests to pass against the v2 Galaxy.Proxy + Galaxy.Host topology byte-for-byte.
|
||||
Achieving that requires live MXAccess runtime plus the Galaxy code lift out of the legacy
|
||||
`OtOpcUa.Host`. Both are operations that need a dev Galaxy up and a parity test cycle to verify.
|
||||
Without that cycle, deleting the legacy Host would break the 494 passing v1 tests that are the
|
||||
parity baseline.
|
||||
`OtOpcUa.Host`. Without that cycle, deleting the legacy Host would break the 494 passing v1
|
||||
tests that are the parity baseline.
|
||||
|
||||
> **Update 2026-04-17 — runtime confirmed local.** The dev box has the full AVEVA stack required
|
||||
> for the LmxOpcUa breakout: 27 ArchestrA / Wonderware / AVEVA services running including
|
||||
> `aaBootstrap`, `aaGR` (Galaxy Repository), `aaLogger`, `aaUserValidator`, `aaPim`,
|
||||
> `ArchestrADataStore`, `AsbServiceManager`; the full Historian set
|
||||
> (`aahClientAccessPoint`, `aahGateway`, `aahInSight`, `aahSearchIndexer`, `InSQLStorage`,
|
||||
> `InSQLConfiguration`, `InSQLEventSystem`, `InSQLIndexing`, `InSQLIOServer`,
|
||||
> `HistorianSearch-x64`); SuiteLink (`slssvc`); MXAccess COM at
|
||||
> `C:\Program Files (x86)\ArchestrA\Framework\bin\ArchestrA.MXAccess.dll`; and the OI-Gateway
|
||||
> install at `C:\Program Files (x86)\Wonderware\OI-Server\OI-Gateway\` (so the
|
||||
> AppServer-via-OI-Gateway smoke test from decision #142 is *also* runnable here, not blocked
|
||||
> on a dedicated AVEVA test box).
|
||||
>
|
||||
> The "needs a dev Galaxy" prerequisite is therefore satisfied. Stream D + E can start whenever
|
||||
> the team is ready to take the parity-cycle hit on the 494 v1 tests; no environmental blocker
|
||||
> remains.
|
||||
|
||||
What *is* done: all scaffolding, IPC contracts, supervisor logic, and stability protections
|
||||
needed to hang the real MXAccess code onto. Every piece has unit-level or IPC-level test
|
||||
@@ -151,13 +166,20 @@ Requires live MXAccess + Galaxy runtime and the above lift complete. Work items:
|
||||
|
||||
## Next-session checklist for Stream D + E
|
||||
|
||||
1. Stand up dev Galaxy; capture Client.CLI walkthrough baseline against v1.
|
||||
2. Move Galaxy-specific files from `OtOpcUa.Host` into `Driver.Galaxy.Host`, renaming
|
||||
1. Verify the local AVEVA stack is still green (`Get-Service aaGR, aaBootstrap, slssvc` →
|
||||
Running) and the Galaxy `ZB` repository is reachable from `sqlcmd -S localhost -d ZB -E`.
|
||||
The runtime is already on this machine — no install step needed.
|
||||
2. Capture Client.CLI walkthrough baseline against v1 (the parity reference).
|
||||
3. Move Galaxy-specific files from `OtOpcUa.Host` into `Driver.Galaxy.Host`, renaming
|
||||
namespaces. Replace `StubFrameHandler` with the real one.
|
||||
3. Wire up the real Win32 pump inside `StaPump` (lift from scadalink-design's
|
||||
4. Wire up the real Win32 pump inside `StaPump` (lift from scadalink-design's
|
||||
`LmxProxy.Host` reference per CLAUDE.md).
|
||||
4. Run v1 IntegrationTests against the v2 topology — iterate on parity defects until green.
|
||||
5. Run Client.CLI walkthrough and diff.
|
||||
6. Regression tests for the four stability findings.
|
||||
7. Delete legacy `OtOpcUa.Host`; update `.slnx`; update installer scripts.
|
||||
8. Adversarial review; `exit-gate-phase-2.md` recorded; PR merged.
|
||||
5. Run v1 IntegrationTests against the v2 topology — iterate on parity defects until green.
|
||||
6. Run Client.CLI walkthrough and diff.
|
||||
7. Regression tests for the four 2026-04-13 stability findings.
|
||||
8. Delete legacy `OtOpcUa.Host`; update `.slnx`; update installer scripts.
|
||||
9. Optional but valuable now that the runtime is local: AppServer-via-OI-Gateway smoke test
|
||||
(decision #142 / Phase 1 Task E.10) — the OI-Gateway install at
|
||||
`C:\Program Files (x86)\Wonderware\OI-Server\OI-Gateway\` is in place; the test was deferred
|
||||
for "needs live AVEVA runtime" reasons that no longer apply on this dev box.
|
||||
10. Adversarial review; `exit-gate-phase-2.md` recorded; PR merged.
|
||||
|
||||
Reference in New Issue
Block a user