stable-diffusion-webui/docs/milestones/M09/M09_run1.md
2026-03-11 21:39:12 -07:00

5.1 KiB
Raw Blame History

M09 CI Run 1 — Execution Context Introduction

Date: 2026-03-12
Branch: m09-execution-context
PR: #26
Trigger: pull_request (PR to main)


1. Workflow Identity

Workflow Run ID Trigger Branch Commit Status
Linter 22984770390 pull_request m09-execution-context 398e281d ✓ success
Smoke Tests 22984770373 pull_request m09-execution-context 398e281d ✓ success

Quality Tests: Not yet run (triggered on push to main; will run post-merge).


2. Change Context

Item Value
Milestone M09 — Execution Context Introduction
Phase Phase II — Runtime Seam Preparation
Posture Behavior-preserving
Refactor target modules/runtime_context.py (new), modules/processing.py (attach p.runtime_context)
Run type First CI verification of M09 implementation

3. Step 1 — Workflow Inventory

Linter (22984770390)

Job Required? Purpose Pass/Fail
ruff Yes Python lint
eslint Yes JS lint

Duration: ~19s

Smoke Tests (22984770373)

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: 2m59s


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(). The new p.runtime_context is attached immediately after p.opts_snapshot; the generation path is unchanged. Smoke tests verify generation and save behavior.
  • Failures: None
  • Golden/snapshot: Smoke tests use CI fake inference (deterministic 1×1 PNG); no golden image comparison. API contract (response schema) and save paths 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.

C) Static Gates

  • Ruff and eslint passed. No new lint issues introduced by M09 changes.
  • New module runtime_context.py passes ruff.

5. Step 3 — Delta Analysis

Change Inventory

File Change
modules/runtime_context.py New: RuntimeContext dataclass (model, opts_snapshot, device, state, cmd_opts)
modules/processing.py Import RuntimeContext; attach p.runtime_context in process_images_inner() after opts_snapshot
docs/milestones/M09/M09_plan.md Populated full plan
docs/milestones/M09/M09_toolcalls.md Tool call log

Unchanged (per M09 rules): All shared.sd_model, shared.device, shared.state, shared.cmd_opts reads remain. Context is write-only; no migration yet.

Expected vs Observed

  • Expected: Same inputs → same outputs; no behavior change; p.runtime_context populated but not consumed.
  • Observed: All smoke tests pass. No regressions.

6. Step 4 — Invariant Verification

Invariant Verification Status
Generation behavior unchanged Smoke tests pass; context is additive only
File output behavior Save paths and format unchanged
Extension compatibility shared.* unchanged; extensions unaffected
API responses txt2img/img2img smoke tests pass
CLI behavior No CLI changes

7. Blast Radius

Files changed:

  • modules/runtime_context.py (new)
  • modules/processing.py (modified)
  • docs/milestones/M09/*

No other modules changed. Invariant registry surfaces (CLI, API, file formats, extension API, generation semantics) preserved.


8. Verdict

CI Status: Green (Linter ✓, Smoke Tests ✓)

Refactor posture: Behavior-preserving. Fifth Phase II runtime seam: generation pipeline now exposes p.runtime_context grouping model, opts_snapshot, device, state, cmd_opts. Write-only; no consumption yet.

Next step: Await merge permission. Post-merge Quality Tests will run (coverage, pip-audit, verify_pinned_deps). M09 run analysis complete; ready for M09 audit and summary generation after closeout.