From e4765b2eede55550126bd67f106283c13b58444b Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Mon, 13 Jul 2026 10:42:38 -0400 Subject: [PATCH] =?UTF-8?q?docs(tracker):=20correct=20the=20wonder-app-vd0?= =?UTF-8?q?3=20deferral=20record=20=E2=80=94=20artifact=20is=20present=20(?= =?UTF-8?q?gitignored);=20overlay=20edits=20applied=20on-disk=20by=20R2-01?= =?UTF-8?q?=20T5/T6=20(plan=20R2-01=20T7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- archreview/plans/00-MASTER-TRACKER.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/archreview/plans/00-MASTER-TRACKER.md b/archreview/plans/00-MASTER-TRACKER.md index 02669a0e..ce39e353 100644 --- a/archreview/plans/00-MASTER-TRACKER.md +++ b/archreview/plans/00-MASTER-TRACKER.md @@ -76,7 +76,7 @@ Status values: โฌœ Not started ยท ๐ŸŸจ In progress ยท โœ… Complete ยท โธ Blocke **Wave 1 โ€” PLAN-02 COMPLETE (2026-07-08):** all 24 tasks delivered and **merged to `main`** (`ce239f6f`). Store-and-Forward: active-node delivery gate (`Func` seam), bounded/short-circuiting retry sweep, upsert-based standby applies + anti-entropy peer resync, WAL+busy_timeout, epoch-ms due-check, ordered single-reader audit-observer channel; `Notify.Send` enqueue-only (`deferToSweep`, `maxRetries:0`, corrupt-payload parks not discards); gRPC channel keying + DropOldest debug-stream eviction counting + 5s application heartbeat; oldest-parked-age health field. Docker cluster rebuilt on merged image (Healthy, 5 singletons, corrected active-node semantics) and 3 sites seeded. Initiative total: **52 of 192** (sum of the Done column above). -**Wave 1 โ€” PLAN-01 COMPLETE (2026-07-08):** all 23 tasks delivered on worktree branch `worktree-archreview-wave1-plan01` (**merged to `main` `ec47cb56` 2026-07-09; branch since removed**). Beyond the P0/early-Wave-1 spine (SBR downing + two-node rig T1/T3/T4; oldest-member active-node unification via `ClusterActivityEvaluator` T5โ€“T8; `CentralSingletonRegistrar` drains T2/T9/T10; health-report acking T11โ€“T12), Wave 1 also landed: metrics-staleness + status-transition state machine and its dashboard surface (T13/T14), deleted-site eviction from the aggregator (T18), seed-vs-metrics-port validator + `AllowSingleNodeCluster` + docker `stop_grace_period` (T15โ€“T17), rate-limited dead-letter warnings (T19), the down-if-alone process-exit recovery loop (T20), the `failover-drill.sh` SIGKILL drill (T21), and the REQ-HOST-6 + Traefik/Host doc reconciliation with unused-Akka.Hosting-package removal (T22/T23). PLAN-01 now **23 / 23**. Initiative total: **30 of 192**. Each task TDD + pathspec-committed; full solution builds clean (0 warnings). Three deploy-artifact sub-edits (`deploy/wonder-app-vd03/` appsettings + install.ps1, Tasks 16/20/23) were deferred because that production artifact is not tracked in this repo โ€” logged in the deferred register below. +**Wave 1 โ€” PLAN-01 COMPLETE (2026-07-08):** all 23 tasks delivered on worktree branch `worktree-archreview-wave1-plan01` (**merged to `main` `ec47cb56` 2026-07-09; branch since removed**). Beyond the P0/early-Wave-1 spine (SBR downing + two-node rig T1/T3/T4; oldest-member active-node unification via `ClusterActivityEvaluator` T5โ€“T8; `CentralSingletonRegistrar` drains T2/T9/T10; health-report acking T11โ€“T12), Wave 1 also landed: metrics-staleness + status-transition state machine and its dashboard surface (T13/T14), deleted-site eviction from the aggregator (T18), seed-vs-metrics-port validator + `AllowSingleNodeCluster` + docker `stop_grace_period` (T15โ€“T17), rate-limited dead-letter warnings (T19), the down-if-alone process-exit recovery loop (T20), the `failover-drill.sh` SIGKILL drill (T21), and the REQ-HOST-6 + Traefik/Host doc reconciliation with unused-Akka.Hosting-package removal (T22/T23). PLAN-01 now **23 / 23**. Initiative total: **30 of 192**. Each task TDD + pathspec-committed; full solution builds clean (0 warnings). Three deploy-artifact sub-edits (`deploy/wonder-app-vd03/` appsettings + install.ps1, Tasks 16/20/23) were deferred on a mistaken not-in-repo rationale; corrected and applied on-disk by PLAN-R2-01 (2026-07-12) โ€” see the Deferred-during-Wave-1 entry. **Wave 1 โ€” PLAN-03 COMPLETE (2026-07-09):** all 26 tasks delivered and **merged to `main`** (`c7a0c922`). Site Runtime & DCL hardening across nine TDD batches: reconnect/backoff leak fixes and the `DeployCompileValidator` compile gate, DCL adapter lifecycle + alarm-filter overwrite warning (S10) + observed adapter dispose on stop (S9), site-node cert reconcile (CertStoreActor trusted-store export โ†’ `DeploymentManagerActor` MemberUp-driven additive push), replicated config-fetch retry (`ConfigFetchRetryCount`), invariant-culture conditional-trigger fallback (C6), bounded/DropOldest event-channel comment fix (C2), and the SiteRuntime/DCL requirements-doc sync. Three low-severity items deferred with rationale (see PLAN-03 coverage table). Full CentralUI/SiteRuntime/DCL suites green. Initiative total: **78 of 192** (sum of the Done column above). Two out-of-band fixes also landed post-merge: PLAN-07's SecuredWrites `IBrowseService` bUnit-harness gap (resolved 2026-07-09, `9049690b`) โ€” a pre-existing failure surfaced during PLAN-03's full-suite run, not a plan task. @@ -195,7 +195,7 @@ Consolidated in **PLAN-08 Task 11** โ†’ `docs/plans/2026-07-08-deferred-work-reg ### Deferred during Wave 1 PLAN-01 execution (2026-07-08) -- **`deploy/wonder-app-vd03/` overlay edits not applied โ€” that production deploy artifact is not tracked in this repo.** PLAN-01 Tasks 16, 20, and 23 each specified a small edit to the on-host deployment overlay (`appsettings.Central.json`: add `AllowSingleNodeCluster: true` + drop the phantom seed, add `NodeName: central-a`; `install.ps1`: add `sc.exe failure` service-recovery actions for the down-if-alone restart contract). Only the *deployment-record* doc (`docs/deployment/deployment-records/2026-06-27-wonder-app-vd03.md`) is version-controlled; the `deploy/wonder-app-vd03/` artifact directory itself is not present in the repo (production config kept out of source control). The **code/validator/doc** halves of all three tasks shipped and are what make the features usable (`AllowSingleNodeCluster` flag + validator, the `IHostApplicationLifetime` process-exit watchdog, the oldest-member Traefik/Host doc reconciliation + TLS roadmap note). **Owner: whoever maintains the on-host artifact** โ€” apply the three overlay edits out-of-band on `wonder-app-vd03` (see the referenced task steps); without `NodeName` every audit row from that deployment stamps a NULL `SourceNode`, and without the service-recovery actions a self-downed node will not auto-restart. +- **`deploy/wonder-app-vd03/` overlay edits โ€” applied on-disk 2026-07-12 by PLAN-R2-01 Tasks 5-6 (the earlier not-in-repo deferral rationale was factually wrong).** PLAN-01 Tasks 16, 20, and 23 each specified a small edit to the on-host deployment overlay (`appsettings.Central.json`/`appsettings.Site.json`: add `AllowSingleNodeCluster: true` + drop the phantom seed, add `NodeName` central-a/node-a; `install.ps1`: complete the recovery actions with `sc.exe failureflag` for the down-if-alone restart contract). The original deferral claimed the artifact directory "is not present in the repo" โ€” this was **false**: `deploy/wonder-app-vd03/` **is present in the working tree, merely gitignored** (`.gitignore:48: /deploy/` โ€” production config kept out of version control, not absent), and was actively maintained here (PLAN-07 edited its `_comment_Security`). Correcting the record: the *presence* claim was wrong; only the *version-control-tracking* is intentionally absent. PLAN-R2-01 Tasks 5-6 applied the three overlay edits directly on-disk (no `git add` โ€” the artifact stays gitignored; `sc.exe failure` service-recovery actions were already present on disk, so T6 only added the missing `failureflag`). The **code/validator/doc** halves of all three original tasks had already shipped (`AllowSingleNodeCluster` flag + validator, the `IHostApplicationLifetime` process-exit watchdog, the oldest-member Traefik/Host doc reconciliation + TLS roadmap note). **Remaining owner action:** sync the artifact to `wonder-app-vd03` and restart services โ€” appsettings take effect on restart; `failureflag` on re-running `install.ps1` ยง7 (or running the two `sc.exe` lines manually) โ€” per the RUNBOOK troubleshooting row added by T6. Without `NodeName` every audit row from that deployment stamps a NULL `SourceNode`; without the failure-actions flag a self-downed (non-crash-exit) node will not auto-restart. ### Plan deviations during Wave 1 PLAN-03 execution (2026-07-09)