Good news: the enhancement this ticket asks for already exists end-to-end and now works in production. The dropdown wiring was all in place (profile.component loads states on country change…
Slice 2 up, both halves:
- backend #248:
dotnet SpikerSoft.Api.dll --bootstrap— the API image itself runs the seed sequence withthrowOnFailureand exits without starting Kestrel.…
P8 status after a full audit — most of the checklist already existed and is verified working:
- ✅ Drift reporter (AST-based, both directions + access-mismatch + tools + wildcard) —…
Slice 1 up: backend PR #246 — the five-step seeding sequence (terms → areas → postal[gated] → positions → curriculum store → lesson hydration) is extracted from inline Program.cs into…
Closing — already implemented (Approach A, exactly as this ticket proposed) and shipped with the feature-based architecture revamp (spikersoft-angular commit 4a362ba). The shared…
Fix verified live in production. Seq, 2026-07-12 21:34:25 UTC — the deployed docker-monitor booted past the old fatal and both #240/#241 features announced themselves:
spikersoft-web characterization (the last unexamined exclude): it passes lint clean — 0 errors, 37.5s standalone (282% CPU; it's just the biggest single lint target). The earlier standalone…
Slice 2 up: angular PR #173 — wasm-voxel is back under lint, coverage 66 → 67.
The real mechanism behind its 78 "errors": nearly all were Definition for rule not found — the…
Update: the exit-0 half is FIXED — docker-monitor was redeployed at 21:35 on a new digest 8afdb709 (was the crashing c14863a1) and the correctly-named spikersoft-docker-monitor is now Running…
Item B (auto-reconcile sweep) has LANDED — commit b96976bd 'feat(docker-monitor): auto-reconcile sweep for stranded services (#510-B)'. Adds ServiceAutoReconciler.cs (167 LOC) wired into…
Recovery runbook up: infra PR #49 → docs/keycloak-postgres-toast-recovery.md. Summary of the approach (full detail + exact commands in the doc):
- Blast-radius gate: `SELECT count(*)…
Staging mirror verified live in production (the gate this ticket was waiting on). Two real uploads today:
- 19:52:52 UTC — `S3StagingMirror: Staging mirror: uploaded uploads/ebooks/spikerj_17…
Root-caused and fixed — backend PR #245. I pulled the exact c14863a1 amd64 image and ran it locally: the container is NOT silent — it logs a loud Serilog fatal and exits 0:
Durable fix up: infra PR #48 — gitea-act-runner/cleanup/ with a name-filtered prune script (GITEA-ACTION* volumes + GITEA-ACTIONS-* networks + 48h build-cache + dangling images; real named…
Correction on the spikersoft-web exclude note in PR #172: a completed solo run shows it fails lint normally (exit 1 with failed task, not a silent crash — my earlier check just caught it…
First slice up: angular PR #172 — CI lint coverage goes from the curated 7 projects to 66 (nx run-many -t lint --all with a 9-project exclude list, so new libraries are covered by…