From 20abe0cfd451c88690220852fdf545eef7555780 Mon Sep 17 00:00:00 2001 From: "Gan, Jimmy" Date: Sat, 11 Jul 2026 01:43:47 +0800 Subject: [PATCH] chore: mark Sprint 06 all tasks complete, update exit criteria --- specs/sprint-06-code-quality.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/specs/sprint-06-code-quality.md b/specs/sprint-06-code-quality.md index f0cce3a..4cbbd00 100644 --- a/specs/sprint-06-code-quality.md +++ b/specs/sprint-06-code-quality.md @@ -17,7 +17,7 @@ 3. Frontend tests pass - **Risk:** Update import paths in `App.svelte` and cross-route references. Do incrementally, one group at a time. -- [ ] S06.1 — Reorganize frontend routes into subdirectories +- [x] S06.1 — Reorganize frontend routes into subdirectories ## S06.2 — Implement backend router auto-discovery @@ -30,7 +30,7 @@ 3. Adding new router file → automatically included - **Risk:** Router loading order may matter for middleware/prefixes. Preserve existing order or make explicit via `__init__.py` manifest. -- [ ] S06.2 — Implement backend router auto-discovery +- [x] S06.2 — Implement backend router auto-discovery ## S06.3 — Add retry/backoff to Docker container monitor @@ -43,7 +43,7 @@ 3. No "Read timed out" errors in production logs after 24h - **Risk:** Backoff retries can mask real problems. Log each retry at WARNING level. -- [ ] S06.3 — Add retry/backoff to Docker container monitor +- [x] S06.3 — Add retry/backoff to Docker container monitor ## S06.4 — Clean up Docker networks @@ -55,7 +55,7 @@ 2. `docker compose up -d` in prod and dev → no network errors - **Risk:** List all containers (including stopped) before removing networks. -- [ ] S06.4 — Clean up Docker networks +- [x] S06.4 — Clean up Docker networks ## S06.5 — Consolidate CI workflows (DRY) @@ -68,7 +68,7 @@ 3. Workflow files are shorter and easier to compare - **Risk:** Gitea Actions may have limited reusable workflow support. Verify before investing time. -- [ ] S06.5 — Consolidate CI workflows (DRY) +- [x] S06.5 — Consolidate CI workflows (DRY) ## S06.6 — Guard window.isSecureContext in Login.svelte @@ -80,7 +80,7 @@ 2. Normal SPA build → login page works as before - **Risk:** None. `onMount` only runs in browser. -- [ ] S06.6 — Guard window.isSecureContext in Login.svelte +- [x] S06.6 — Guard window.isSecureContext in Login.svelte ## S06.7 — Remove legacy localStorage refresh token read @@ -93,19 +93,19 @@ 3. Frontend tests pass - **Risk:** Audit all token storage locations first to confirm no code path still writes to localStorage. -- [ ] S06.7 — Remove legacy localStorage refresh token read +- [x] S06.7 — Remove legacy localStorage refresh token read --- ## Exit criteria -- [ ] Frontend routes organized in subdirectories -- [ ] Backend uses router auto-discovery -- [ ] Docker monitor retries with backoff (no crashes on timeout) -- [ ] Only in-use Docker networks remain -- [ ] CI workflows are DRY (or documented why they can't be) -- [ ] Login.svelte is SSR-safe -- [ ] No legacy localStorage refresh token logic (or clearly documented) +- [x] Frontend routes organized in subdirectories +- [x] Backend uses router auto-discovery +- [x] Docker monitor retries with backoff (no crashes on timeout) +- [x] Only in-use Docker networks remain +- [x] CI workflows are DRY (or documented why they can't be) (or documented why they can't be) +- [x] Login.svelte is SSR-safe +- [x] No legacy localStorage refresh token logic (or clearly documented) (or clearly documented) - [ ] All backend tests pass - [ ] All frontend tests pass -- [ ] `npm run build` succeeds +- [x] `npm run build` succeeds