docs: plan and track cycle-3 P2 continuation
This commit is contained in:
@@ -27,7 +27,8 @@ This plan is executed as **seven parallel batches**, each by one subagent workin
|
||||
|---|---|---|
|
||||
| TST-32 | Blocked (external) | Gitea runner registration-token reset is a web-UI action on the Gitea admin page; no repo change. Operator to-do. |
|
||||
| SEC-37 | Blocked (external) | Family-wide: TLS on the shared GLAuth lives in `scadaproj/infra/glauth/` (separate repo + docker host). Plan separately; after it lands, move the deployed service to `Production`. |
|
||||
| CLI-47/48/49/50, IPC-36, IPC-37, TST-33/34/35/36, GWC-33/35/36, SEC-38/39, IPC-38, WRK-34 | Deferred (P2) | Roadmap tier 10; WRK-34 may be picked up by batch F if trivial. |
|
||||
| CLI-47/48/49/50, IPC-36/37/38, TST-33/34/35/36, GWC-33/35/36, SEC-38/39 | Not started | Activated by the 2026-08-25 P2 continuation below. |
|
||||
| WRK-34 | Done | Completed opportunistically in batch F (`3679e59`): watchdog faults use `CommandMethod=Watchdog` and carry the stuck correlation ID in the diagnostic message. Tracker correction recorded by the continuation audit. |
|
||||
|
||||
## Batch specifications
|
||||
|
||||
@@ -90,3 +91,89 @@ C is merged **last** (its comment sweep touches the same files E and G edit). Or
|
||||
|
||||
## Integration gate (2026-08-20)
|
||||
All seven branches merged into `main` (A `ee68cc3`, B `f59c34a`, C `f2ab9cc`, D `9f0c3fd`, E `cfbc995`, F `aa07497`, G `c6650c1`). Merged tree: `NonWindows.slnx` 0 warnings; full gateway suite **1183/1183** passed; windev `windev-worker-ci.ps1 -Sha f2ab9cc -Mode test`: x86 Worker build succeeded, `Worker.Tests` **524 passed / 11 skipped / 0 failed**. Follow-ups surfaced by the batches: a worker command to refresh a live alarm subscription's watch-list (would let GWC-37's re-resolve be applied, not just reported); WRK-32's proto reply-field comment deferred until the next proto regen wave; the five clients are bumped but not yet published.
|
||||
|
||||
## P2 continuation (planned 2026-08-25)
|
||||
|
||||
Current-state audit: refreshed `origin/main` and re-checked every deferred finding and integration-gate follow-up. Sixteen of the seventeen P2 findings remain open; WRK-34 was already completed by `3679e59`. All three follow-ups remain open. Exact target client coordinates are still absent from Gitea (HTTP 404), and `clients/go/v0.2.1` does not exist.
|
||||
|
||||
Approved design: [`../../../docs/plans/2026-08-25-cycle-3-p2-followups-design.md`](../../../docs/plans/2026-08-25-cycle-3-p2-followups-design.md) (`30548da`).
|
||||
|
||||
Execution plan: [`../../../docs/plans/2026-08-25-cycle-3-p2-followups.md`](../../../docs/plans/2026-08-25-cycle-3-p2-followups.md).
|
||||
|
||||
The continuation runs serially in the isolated `.worktrees/c3-p2-followups` worktree on `codex/c3-p2-followups`, with a tracker update at every batch boundary. Codex equivalents are selected from the implementation risk: `gpt-5.6-terra`/medium for contained documentation, CI, and client work; `gpt-5.6-sol`/high for concurrency, authorization, protocol, and live alarm lifecycle changes.
|
||||
|
||||
| Batch | Findings / follow-ups | Codex model | Status | Exit gate |
|
||||
|---|---|---|---|---|
|
||||
| H — tracker and currency | WRK-34 record, GWC-36, IPC-38, TST-33/34/36 | `gpt-5.6-terra` medium | Not started | Currency greps clean; README check in portable CI; NonWindows build clean |
|
||||
| I — gateway correctness/security | GWC-33/35, SEC-38/39 | `gpt-5.6-sol` high | Not started | Focused regression tests green; NonWindows build clean |
|
||||
| J — secondary contracts | IPC-36/37 | `gpt-5.6-sol` high | Not started | Shared launch constants and descriptor parity tests green |
|
||||
| K — client alarm parity | CLI-47/48/49/50 | `gpt-5.6-terra` high | Not started | All five client suites green |
|
||||
| L — live watch-list/proto wave | watch-list refresh follow-up + WRK-32 proto comment | `gpt-5.6-sol` high | Not started | Codegen clean; portable alarm/contract tests green; windev Worker.Tests green |
|
||||
| M — Windows gateway CI | TST-35 | `gpt-5.6-terra` medium | Not started | windev `live` mode proves Worker, gateway, full-slnx, and live smoke tiers |
|
||||
| N — integration and release | publish five clients + Contracts | `gpt-5.6-sol` high | Not started | Full local/windev gates; merged `main`; registry coordinates and Go tag verified |
|
||||
|
||||
### Continuation tasklist
|
||||
|
||||
#### H — tracker and currency
|
||||
|
||||
- [ ] Correct WRK-34 from Deferred to Done with commit `3679e59`.
|
||||
- [ ] GWC-36: correct `EventSubscriberReplayAttachment.OldestAvailableSequence` semantics.
|
||||
- [ ] IPC-38: add public `DrainEvents` behavior to `docs/Grpc.md` and correct the cycle-2 omission rationale.
|
||||
- [ ] TST-33: reconcile the five stale/self-contradictory `stillpending.md` claims and mark its live-status boundary.
|
||||
- [ ] TST-34: run `code-reviews/regen-readme.py --check` in portable CI and qualify the interpreter note.
|
||||
- [ ] TST-36: replace prose ``event`` scope references with canonical ``events:read``.
|
||||
- [ ] Record batch-H commit and verification evidence here.
|
||||
|
||||
#### I — gateway correctness and security
|
||||
|
||||
- [ ] GWC-33: unregister terminal clients from the event-queue-depth gauge without shortening fault retention.
|
||||
- [ ] GWC-35: repair acknowledged-to-active snapshot deltas with a Raise transition and instance identity.
|
||||
- [ ] SEC-38: feed/consult the aggregate for valid key IDs that overflow the peer partition cap.
|
||||
- [ ] SEC-39: prove a null effective key ID cannot reset the shared fallback partition.
|
||||
- [ ] Run focused tests and clean NonWindows build; record counts and commits here.
|
||||
|
||||
#### J — secondary contracts
|
||||
|
||||
- [ ] IPC-36: centralize all six worker-launch environment names in Contracts and consume them on both sides.
|
||||
- [ ] IPC-36: document variable/config/default mapping and test launcher completeness.
|
||||
- [ ] IPC-37: add normalized retained-vs-served Galaxy descriptor parity test.
|
||||
- [ ] Run focused tests and clean NonWindows build; record counts and commits here.
|
||||
|
||||
#### K — client alarm-feed parity
|
||||
|
||||
- [ ] CLI-47: make .NET text status flags explicit and document deliberate JSON differences.
|
||||
- [ ] CLI-48: test provider/snapshot status arms in .NET, Go, and Java; add Go stream-alarm scaffold.
|
||||
- [ ] CLI-49: export Go aliases for `AlarmProviderStatus` and `AlarmSnapshotStatus`; fix five-arm documentation.
|
||||
- [ ] CLI-50: stream Python alarm rows incrementally with an unbounded default and bounded opt-in.
|
||||
- [ ] Run .NET, Go, Python, Rust, and Java client suites; record counts and commits here.
|
||||
|
||||
#### L — live watch-list refresh and protobuf wave
|
||||
|
||||
- [ ] Add explicit fallback-enabled subscription semantics for an initially empty discovered list.
|
||||
- [ ] Add and round-trip `UpdateAlarmWatchListCommand` and its `MxCommandKind`.
|
||||
- [ ] Route the command through the worker executor and alarm handler on the STA.
|
||||
- [ ] Build/subscribe/attach a replacement standby before swap; preserve the old standby on failure.
|
||||
- [ ] Preserve current primary/subtag mode during a successful replacement.
|
||||
- [ ] Re-resolve on the existing gateway reconciliation cadence and send only material changes/recovery.
|
||||
- [ ] Refresh immediately at failover edge, update acknowledged fingerprint only after worker OK, and reconcile after success.
|
||||
- [ ] Expand WRK-32's public reply-field comment to the sequential stale-callback/recency case.
|
||||
- [ ] Replace IPC-36's internal env-var name in the proto comment with the public configuration key.
|
||||
- [ ] Regenerate Contracts and all client generated trees once; run codegen and all affected suites.
|
||||
- [ ] Verify x86 Worker build and Worker.Tests on windev; record SHA/counts here.
|
||||
|
||||
#### M — Windows gateway CI
|
||||
|
||||
- [ ] TST-35: add the serialized net10 gateway suite to windev `live` mode.
|
||||
- [ ] Update `docs/GatewayTesting.md` and `scripts/ci/README.md` with order/failure semantics.
|
||||
- [ ] Execute `live` mode on windev and record Worker, gateway, full-slnx, and live-smoke evidence here.
|
||||
|
||||
#### N — integration and release
|
||||
|
||||
- [ ] Run `git diff --check`, codegen, client-version, README, NonWindows build, and full gateway suite gates.
|
||||
- [ ] Run all five client suites on the final candidate.
|
||||
- [ ] Run final windev `live` gate at the exact candidate SHA.
|
||||
- [ ] Merge/push the verified continuation to `main`; wait for green CI.
|
||||
- [ ] Re-query all package coordinates and Go tag immediately before publish; abort on collision.
|
||||
- [ ] Publish .NET Client + Contracts 0.2.1, Python 0.2.1, Rust 0.2.1, Java 0.2.2.
|
||||
- [ ] Create/push `clients/go/v0.2.1` at the exact release commit.
|
||||
- [ ] Verify every registry coordinate and Go module/tag, update `docs/ClientPackaging.md`, and record immutable release evidence here.
|
||||
|
||||
Reference in New Issue
Block a user