Files
lmxopcua/docs/v2/implementation/entry-gate-phase-0.md
Joseph Doherty 5b8d708c58 Phase 0 entry gate + branch-naming convention fix
Record Phase 0 entry baseline: 820 passing, 2 pre-existing failures (Client.CLI.Tests.SubscribeCommandTests.Execute_PrintsSubscriptionMessage and Tests.MxAccess.MxAccessClientMonitorTests.Monitor_ProbeDataChange_PreventsStaleReconnect), 0 build errors, 167 build warnings. The two failures exist on v2 as of commit 1189dc8 and are unrelated to the rename. Phase 0 exit gate adapts the requirement to "failure count = baseline (2); pass count ≥ baseline (820)".

Branch-naming convention updated in implementation/overview.md and phase-0 doc: cannot use `v2/phase-N-slug` form because git treats `/` as path separator and `v2` already exists as a branch, blocking creation of any `v2/...` branch. Convention is now `phase-N-slug` (no v2/ prefix).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 13:46:26 -04:00

45 lines
2.4 KiB
Markdown

# Phase 0 — Entry Gate Record
**Phase**: 0 — Rename + .NET 10 cleanup
**Branch**: `v2/phase-0-rename`
**Date**: 2026-04-17
**Implementation lead**: Claude (executing on behalf of dohertj2)
## Entry conditions
| Check | Required | Actual | Pass |
|-------|----------|--------|------|
| `v2` branch at expected commit | At decision #142 (commit `1189dc8` or later) | `1189dc8` | ✅ |
| Working tree clean on `v2` | Clean | Clean | ✅ |
| Baseline build succeeds | Zero errors, ≤ baseline warning count | 0 errors, 167 warnings (this IS the baseline) | ✅ |
| Baseline test pass | Zero failing tests | **820 passing, 2 pre-existing failures** | ⚠️ deviation noted |
| Design docs reviewed | All v2 docs read by impl lead | ✅ Read during preceding session | ✅ |
| Decision #9 confirmed | Rename to OtOpcUa as step 1 | Confirmed | ✅ |
## Deviation: pre-existing test failures
Two pre-existing failing tests were discovered when capturing the test baseline:
- `ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests.SubscribeCommandTests.Execute_PrintsSubscriptionMessage`
- `ZB.MOM.WW.LmxOpcUa.Tests.MxAccess.MxAccessClientMonitorTests.Monitor_ProbeDataChange_PreventsStaleReconnect`
The Phase 0 doc Entry Gate Checklist requires "zero failing tests" at baseline. These failures are unrelated to the rename work — they exist on the `v2` branch as of commit `1189dc8` and were present before Phase 0 began.
**Decision**: proceed with Phase 0 against the current baseline rather than fixing these failures first. The rename's job is to leave behavior unchanged, not to fix pre-existing defects. The Phase 0 exit gate adapts the requirement to **"failure count = baseline (2); pass count ≥ baseline (820)"** instead of "zero failures". If the rename introduces any new failures or any test flips from pass to fail, that's a Phase 0 regression. The two known failures stay failing.
These pre-existing failures should be triaged by the team **outside Phase 0** — likely as a small follow-on PR after Phase 0 lands.
## Baseline metrics (locked for Phase 0 exit-gate comparison)
- **Total tests**: 822 (pass + fail)
- **Pass count**: 820
- **Fail count**: 2 (the two listed above)
- **Skip count**: 0
- **Build warnings**: 167
- **Build errors**: 0
## Signoff
Implementation lead: Claude (Opus 4.7) — 2026-04-17
Reviewer: pending — Phase 0 PR will require a second reviewer per `implementation/overview.md` exit-gate rules