chore(ga): retire G1 - delete the stale Phase 6 compliance scripts; v2 GA exit criteria all met/waived/retired
v2-ci / unit-tests (push) Has been cancelled
v2-ci / unit-tests (push) Has been cancelled
The phase-6-*.ps1 scripts checked v2 Phase 6 code that later commits deliberately
deleted (76310b88 v1 Server/Admin, #522, #524, LiteDB cache, v3 migration squash):
56/56 failures were retired files, so they could not pass. Owner retired G1; G2
plus the per-area suites cover the invariants. phase-7-compliance.ps1 is untouched.
This commit is contained in:
@@ -41,7 +41,9 @@ Today's equivalents, where one exists:
|
||||
- **LocalDb cache:** `ZB.MOM.WW.LocalDb`.
|
||||
- **Invariants:** pinned by tests that G2 runs.
|
||||
|
||||
## Owner decision needed
|
||||
## Owner decision (2026-11-13): retired
|
||||
|
||||
The owner retired G1. The `phase-6-*.ps1` scripts were deleted (they remain in git history). The options considered were:
|
||||
|
||||
The 61 passing checks still hold; the 56 failing ones describe architecture that no longer exists. Options:
|
||||
1. **Retire G1** as superseded by G2 plus the per-area test suites, as was done for G8.
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
>
|
||||
> **Source of truth**: `docs/Redundancy.md` (election, tiers, downing, manual failover, `ServerArray`),
|
||||
> `src/Core/ZB.MOM.WW.OtOpcUa.Cluster/Redundancy/ServiceLevelCalculator.cs` and the tests named below.
|
||||
> `docs/v2/redundancy-interop-playbook.md` and `scripts/compliance/phase-6-3-compliance.ps1` are
|
||||
> **historical** (they still name the deleted types and old bands) and must not be used as pass criteria.
|
||||
> `docs/v2/redundancy-interop-playbook.md` is **historical** (it still names the deleted types and old bands) and must
|
||||
> not be used as pass criteria. `scripts/compliance/phase-6-3-compliance.ps1` was deleted when G1 was retired (2026-11-13).
|
||||
|
||||
## Standard variables used by this plan
|
||||
|
||||
|
||||
@@ -27,6 +27,12 @@ From `docs/v2/v2-release-readiness.md` §"Release-readiness exit criteria":
|
||||
|
||||
## G1 — Phase 6 compliance scripts
|
||||
|
||||
> **RETIRED 2026-11-13 by the owner.** The scripts checked the v2 Phase 6 (2026-04) codebase. All 56 of their
|
||||
> failures pointed at files a later commit deliberately deleted (the v1 `Server`/`Admin` projects in `76310b88`, #522,
|
||||
> #524, the LiteDB cache, the v3 migration squash), so they could not pass. G2 (the full test suite) and the per-area
|
||||
> test suites cover the invariants. The `phase-6-*.ps1` scripts were deleted. The last run and its classification:
|
||||
> `docs/plans/evidence/2026-11-13-g1-compliance/RESULTS.md`. The section below is kept as history.
|
||||
|
||||
### Command
|
||||
|
||||
```powershell
|
||||
@@ -305,7 +311,7 @@ Record: client name + version, OtOpcUa git SHA, test date.
|
||||
|
||||
| Gate | Command / Procedure | Pass criterion | Owner |
|
||||
|------|---------------------|----------------|-------|
|
||||
| G1 | `pwsh ./scripts/compliance/phase-6-all.ps1` | Exit 0, no `[FAIL]` | Dev |
|
||||
| G1 | ~~`pwsh ./scripts/compliance/phase-6-all.ps1`~~ | **Retired 2026-11-13 (owner)**: superseded by G2 | — |
|
||||
| G2 | `dotnet test ZB.MOM.WW.OtOpcUa.slnx` | >= 1159 passing, <= 1 failure — **PASS 2026-11-13** (evidence `2026-11-13-g2-full-suite/`) | Dev |
|
||||
| G3 | Audit PR list in release-readiness.md | All blockers show CLOSED | Dev |
|
||||
| G4 | Audit driver table | All 8 drivers listed as shipped | Dev |
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
> near the end of the file are still live — see `deferment.md` §5.
|
||||
|
||||
> **Last updated**: 2026-04-24 (Phase 5 driver complement closed — AB CIP, AB Legacy, TwinCAT, FOCAS all shipped; FOCAS Tier-C retired for a pure-managed in-process client)
|
||||
> **Status**: **RELEASE-READY (code-path)** for v2 GA. All three original code-path release blockers remain closed. Phase 5 is now complete. The #615 lab/operator gates are complete: G5 signed off by the Fleet Admin and G6/G9 passed (2026-11-12/13), and G8 (CTT) was waived by the owner (2026-11-13); hardening follow-ups remain; see exit-criteria checklist below.
|
||||
> **Status**: **RELEASE-READY** for v2 GA. Every exit criterion is met, waived or retired as of 2026-11-13 (G1 retired, G8 waived; G2, G5, G6, G7, G9 done). All three original code-path release blockers remain closed. Phase 5 is now complete. The #615 lab/operator gates are complete: G5 signed off by the Fleet Admin and G6/G9 passed (2026-11-12/13), and G8 (CTT) was waived by the owner (2026-11-13); hardening follow-ups remain; see exit-criteria checklist below.
|
||||
|
||||
This doc is the single view of where v2 stands against its release criteria. Update it whenever a deferred follow-up closes or a new release blocker is discovered.
|
||||
|
||||
@@ -114,24 +114,22 @@ The code ships; these tasks remain open as lab/field verification:
|
||||
|
||||
## Running the release-readiness check
|
||||
|
||||
The Phase 6 compliance scripts (`scripts/compliance/phase-6-*.ps1`) were retired on 2026-11-13 (G1). They checked
|
||||
code that has since been deliberately deleted. The automated check is now the full suite (G2):
|
||||
|
||||
```bash
|
||||
pwsh ./scripts/compliance/phase-6-all.ps1
|
||||
dotnet test ZB.MOM.WW.OtOpcUa.slnx --logger "console;verbosity=minimal"
|
||||
```
|
||||
|
||||
This meta-runner invokes each `phase-6-N-compliance.ps1` script in sequence and reports an aggregate PASS/FAIL:
|
||||
|
||||
- `phase-6-1-compliance.ps1` — Resilience & Observability
|
||||
- `phase-6-2-compliance.ps1` — Authorization runtime
|
||||
- `phase-6-3-compliance.ps1` — Redundancy runtime
|
||||
- `phase-6-4-compliance.ps1` — Admin UI completion
|
||||
|
||||
Exit 0 = every phase passes its compliance checks + no test-count regression.
|
||||
Run it with the shared fixtures on `10.100.0.35` up (`infra/README.md`). Restart `otopcua-pymodbus-standard` before
|
||||
the run until #909 is fixed. The disposition rules and the 2026-11-13 result are in
|
||||
`docs/plans/evidence/2026-11-13-g2-full-suite/RESULTS.md`.
|
||||
|
||||
## Release-readiness exit criteria
|
||||
|
||||
v2 GA requires all of the following:
|
||||
|
||||
- [ ] All four Phase 6.N compliance scripts exit 0.
|
||||
- [x] ~~All four Phase 6.N compliance scripts exit 0.~~ **G1 RETIRED 2026-11-13 by the owner.** The scripts checked deliberately deleted v2 Phase 6 code (56/56 failures were retired files) and were deleted; G2 and the per-area tests cover the invariants. Evidence: `docs/plans/evidence/2026-11-13-g1-compliance/RESULTS.md`.
|
||||
- [x] `dotnet test ZB.MOM.WW.OtOpcUa.slnx` passes with ≤ 1 known-flake failure. **G2 PASS 2026-11-13** on the product code: 2 full runs (20,589 / 20,588 passed). The one real defect found is fixed (`f416b883`); every other failure is a shared-fixture or load-timing issue (#909, #910, #911) whose test passes in isolation. Evidence: `docs/plans/evidence/2026-11-13-g2-full-suite/RESULTS.md`.
|
||||
- [x] Release blockers listed above all closed.
|
||||
- [x] Phase 5 driver complement shipped (Galaxy, Modbus, S7, OpcUaClient, AbCip, AbLegacy, TwinCAT, FOCAS).
|
||||
@@ -143,6 +141,7 @@ v2 GA requires all of the following:
|
||||
|
||||
## Change log
|
||||
|
||||
- **2026-11-13** — **G1 retired** by the owner and the `scripts/compliance/phase-6-*.ps1` scripts deleted: they checked deliberately deleted v2 Phase 6 code. Every v2 GA exit criterion is now met, waived (G8) or retired (G1).
|
||||
- **2026-11-13** — **G7 PASS:** a read-only FOCAS live-CNC smoke on vd03 against the Makino Z-34184 31i-B. The owner approved adding one axis tag (`Axes/X/AbsolutePosition`, deploy `e9fbe63e`, surgical PureAdd); it reads 280.1574 Good. The panel comparison was not done (it needs a person at the machine). G1 awaits the owner's decision.
|
||||
- **2026-11-13** — **G2 PASS.** Two full `dotnet test ZB.MOM.WW.OtOpcUa.slnx` runs (60 projects, ~21k tests). One real defect: a bare `"driver"` role literal from #717's `c569f806`, fixed in `f416b883`. Every other failure is environmental and filed: the Modbus fixture is swamped by load (#909), an intermittent opc-plc `BadRequestInterrupted` (#910), and a scripted-alarm run-guard timing test (#911). G1 (stale Phase 6 compliance scripts) and G7 (FOCAS live CNC) evidence is recorded and awaits the owner's decision.
|
||||
- **2026-11-13** — **G5 (#615) signed off** by the owner as Fleet Admin. With G6/G9 passed and G8 waived, every #615 gate is complete and #615 is closed.
|
||||
|
||||
Reference in New Issue
Block a user