From 0675b336aa44ca222731f2c82b6056df86ce33bc Mon Sep 17 00:00:00 2001 From: Michael Cahill Date: Mon, 9 Mar 2026 23:19:58 -0700 Subject: [PATCH] docs(M06): add M06_run1.md CI analysis, toolcalls Made-with: Cursor --- docs/milestones/M06/M06_run1.md | 112 +++++++++++++++++++++++++++ docs/milestones/M06/M06_toolcalls.md | 2 + 2 files changed, 114 insertions(+) create mode 100644 docs/milestones/M06/M06_run1.md diff --git a/docs/milestones/M06/M06_run1.md b/docs/milestones/M06/M06_run1.md new file mode 100644 index 000000000..506e225e0 --- /dev/null +++ b/docs/milestones/M06/M06_run1.md @@ -0,0 +1,112 @@ +# M06 CI Run 1 — Prompt / Seed Preparation Extraction + +**Date:** 2026-03-10 +**Branch:** m06-prompt-seed-prep +**PR:** #20 +**Trigger:** pull_request (PR to main) + +--- + +## 1. Workflow Identity + +| Workflow | Run ID | Trigger | Branch | Commit | Status | +|----------|--------|---------|--------|--------|--------| +| Smoke Tests | 22889778495 | pull_request | m06-prompt-seed-prep | 92fbf623 | ✓ success | +| Linter | 22889778518 | pull_request | m06-prompt-seed-prep | 92fbf623 | ✓ success | + +**Quality Tests:** Not yet run (triggered on push to main; will run post-merge). + +--- + +## 2. Change Context + +| Item | Value | +|------|-------| +| Milestone | M06 — Prompt / seed prep extraction | +| Phase | Phase II — Runtime Seam Preparation | +| Posture | Behavior-preserving | +| Refactor target | `modules/processing.py`, new `modules/prompt_seed_prep.py` | +| Run type | First CI verification of M06 implementation | + +--- + +## 3. Step 1 — Workflow Inventory + +### Smoke Tests (22889778495) + +| Job / Step | Required? | Purpose | Pass/Fail | +|------------|-----------|---------|-----------| +| Verify repository | Yes | Guardrail: m-cahill/serena only | ✓ | +| Verify base branch | Yes | Guardrail: PR targets main | ✓ | +| Checkout Code | Yes | Fetch PR branch | ✓ | +| Set up Python 3.10 | Yes | Runtime | ✓ | +| Cache models | Yes | Deterministic model path | ✓ | +| Install test dependencies | Yes | pytest, coverage | ✓ | +| Install runtime dependencies | Yes | torch, CLIP, open_clip, requirements_versions | ✓ | +| Create stub repositories | Yes | CI fake inference support | ✓ | +| Setup environment | Yes | launch.py --exit | ✓ | +| Smoke startup | Yes | Verify server can start | ✓ | +| Start test server | Yes | Live server for API tests | ✓ | +| **Run smoke tests** | **Yes** | **pytest test/smoke** | **✓** | +| Kill test server | Yes | Cleanup | ✓ | +| Upload main app output | No (always) | Artifact for debugging | ✓ | + +**Duration:** 2m40s + +### Linter (22889778518) + +| Job | Required? | Purpose | Pass/Fail | +|-----|-----------|---------|-----------| +| ruff | Yes | Python lint | ✓ | +| eslint | Yes | JS lint | ✓ | + +--- + +## 4. Step 2 — Refactor Signal Integrity + +### A) Tests + +- **Tier:** Smoke only (test/smoke) +- **Coverage of refactor target:** Smoke tests exercise txt2img and img2img API endpoints, which call `process_images()` → `process_images_inner()` → `prepare_prompt_seed_state(p)`. The prompt/seed prep seam is on the critical path. +- **Failures:** None +- **Golden/snapshot:** Smoke tests use CI fake inference (deterministic 1×1 PNG); no golden image comparison. API contract (response schema) is exercised. +- **Missing:** Quality tier tests will run on push to main (coverage ≥40%, pip-audit, verify_pinned_deps). + +### B) Coverage + +- Smoke run does not enforce a coverage gate (Quality Tests do, on push to main). +- Coverage gate: ≥40% (M04 baseline). +- Post-merge Quality run will report coverage. + +--- + +## 5. Step 3 — Invariant Verification + +| Invariant | Verification | Status | +|-----------|--------------|--------| +| Prompt lists identical | setup_prompts() unchanged; prepare_prompt_seed_state assumes it ran | ✓ | +| Seed lists identical | Logic moved verbatim; p.all_seeds, p.all_subseeds written to p | ✓ | +| Extension compatibility | p fields unchanged; extensions read p.all_seeds, p.all_subseeds | ✓ | +| API compatibility | txt2img/img2img smoke tests pass | ✓ | +| Generation determinism | CI fake inference deterministic; no logic change | ✓ | + +--- + +## 6. Blast Radius + +**Files changed:** +- `modules/prompt_seed_prep.py` (new) +- `modules/processing.py` (modified) +- `docs/milestones/M06/*` + +**No other modules changed.** Invariant registry surfaces (CLI, API, file formats, extension API, generation semantics) preserved. + +--- + +## 7. Verdict + +**CI Status:** Green (Linter ✓, Smoke Tests ✓) + +**Refactor posture:** Behavior-preserving mechanical extraction. + +**Next step:** Await merge permission. Post-merge Quality Tests will run (coverage, pip-audit, verify_pinned_deps). M06 run analysis complete; ready for M06 audit and summary generation after closeout. diff --git a/docs/milestones/M06/M06_toolcalls.md b/docs/milestones/M06/M06_toolcalls.md index e766d811e..0191504ea 100644 --- a/docs/milestones/M06/M06_toolcalls.md +++ b/docs/milestones/M06/M06_toolcalls.md @@ -8,3 +8,5 @@ | 2026-03-09 | search_replace | Replace inline seed logic with prepare_prompt_seed_state | modules/processing.py | done | | 2026-03-09 | run | ruff check (pre-existing F811 in processing.py) | modules/ | done | | 2026-03-09 | run | pytest test/smoke (local env: base_url/pytorch_lightning missing; CI will run full suite) | test/ | done | +| 2026-03-09 | run | git push, gh pr create | PR #20 | done | +| 2026-03-09 | write | M06_run1.md CI analysis | docs/milestones/M06/M06_run1.md | done |