From 15ac960faf691909e8f70e7f375123d2b54b6227 Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Wed, 27 May 2026 03:33:32 -0700 Subject: [PATCH] =?UTF-8?q?docs(roadmap):=20v9=20=E2=80=94=20Phase=20E1/E2?= =?UTF-8?q?/E5=20done,=20docker-doctor.sh=20landed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Marked E1, E2, E5 complete in Phase E checklist - Added step 11 to \xc2\xa710 execution order with commit refs - Renumbered remaining steps; deferred E3/E4/E6 to after Phase B --- docs/docker-build-optimization-roadmap.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/docs/docker-build-optimization-roadmap.md b/docs/docker-build-optimization-roadmap.md index 7d36e67..4e72fdb 100644 --- a/docs/docker-build-optimization-roadmap.md +++ b/docs/docker-build-optimization-roadmap.md @@ -1,6 +1,6 @@ # Docker Build Optimization Roadmap -> **Status:** Draft v8 (Phase A complete on clock + peakpulse; A3 ADR accepted; warm rebuilds 2.7–5.4 s) · **Owner:** Platform DevOps · **Created:** 2026-05-27 · **Revised:** 2026-05-27 +> **Status:** Draft v9 (Phase A complete on pilots; Phase E1/E2/E5 — `docker-doctor.sh` linter landed) · **Owner:** Platform DevOps · **Created:** 2026-05-27 · **Revised:** 2026-05-27 > > Pilot Docker-build correctness + speed fixes on `learning_ai_clock` (web + backend) > and `learning_ai_peakpulse` (backend), then capture the playbook here for @@ -731,11 +731,11 @@ The two are intentionally separate concerns: ### Phase E checklist - [ ] **E0.** Wire `bash scripts/gitea/doctor.sh --quiet` into every Gitea Actions CI workflow as a pre-build job (addresses F15). Pattern shipped in `common-plat`; replicate via a reusable `actions/gitea-preflight@main` composite if Gitea Actions supports it, otherwise inline. -- [ ] **E1.** Land `docker-doctor.sh` in `learning_ai_common_plat/scripts/` (canonical, mirrors `gitea/doctor.sh` shipped earlier) -- [ ] **E2.** Provide a thin per-repo wrapper at `scripts/docker-doctor.sh` that calls the canonical +- [x] **E1.** Canonical `docker-doctor.sh` landed in `learning_ai_common_plat/scripts/docker-doctor.sh` (`common-plat@130883a7`). 15 checks codified from F1–F18; verified PASS on both pilots and FAIL on un-migrated control (`learning_ai_notes`). +- [x] **E2.** Per-repo wrappers landed: `clock@aa5202fe7`, `peakpulse@af207b7`. - [ ] **E3.** Wire into CI: run on PRs touching `Dockerfile`, `docker-compose*.yml`, `.dockerignore`, `.npmrc.docker` - [ ] **E4.** Wire into pre-commit hook (warning-only at first, error after 2 weeks) -- [ ] **E5.** Document checks in `learning_ai_common_plat/AI.dev/SKILLS/docker-doctor.md` (sibling doc to the existing `gitea-doctor` patterns) +- [x] **E5.** Checks documented in `learning_ai_common_plat/AI.dev/SKILLS/docker-doctor.md` (`common-plat@130883a7`). - [ ] **E6.** Add `make doctor` target to each pilot repo that runs both `gitea-doctor` AND `docker-doctor` Checks implemented by `docker-doctor.sh`: @@ -799,11 +799,17 @@ Checks implemented by `docker-doctor.sh`: Decision: keep `--lockfile=false` (Option A) until production traffic / audit / supply-chain incident triggers migration to vendored `pnpm-lock.docker.yaml` (Option C). Implementation deferred. -11. **⚳ Phase B** — harden `docker-prep.sh` on clock, then promote to canonical +11. **✅ Phase E1/E2/E5** — `docker-doctor.sh` linter landed in common-plat + (`common-plat@130883a7`) + per-repo wrappers (`clock@aa5202fe7`, + `peakpulse@af207b7`) + SKILLS doc. Verified PASS on both pilots, FAIL with + 6 specific findings on un-migrated control (`learning_ai_notes`). +12. **⚳ Phase B** — harden `docker-prep.sh` on clock, then promote to canonical home in common-plat (B7) and sync to peakpulse. -12. **⚳ Phase E** — land `docker-doctor.sh`, wire into CI as warning, then error. -13. **⚳ Phase C** — verification gates C1–C9. -14. **⏸ Phase D** — scheduled separately, only after §5 C-gates pass. **STOP +13. **⚳ Phase E3/E4/E6** — wire `docker-doctor` into CI (E3) + pre-commit (E4) + + `make doctor` target (E6). Deferred to after Phase B so `docker-prep.sh` + artifacts are caught by the same linter pass. +14. **⚳ Phase C** — verification gates C1–C9. +15. **⏸ Phase D** — scheduled separately, only after §5 C-gates pass. **STOP and request approval before starting.** ---