mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2026-03-22 06:10:51 -07:00
docs(M05): closeout — summary, audit, ledger, M06 seed
Made-with: Cursor
This commit is contained in:
parent
0654b9a9f7
commit
595ea21752
6 changed files with 190 additions and 0 deletions
73
docs/milestones/M05/M05_audit.md
Normal file
73
docs/milestones/M05/M05_audit.md
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# M05 Audit — Override Isolation / Temporary Opts Seam
|
||||
|
||||
**Milestone:** M05
|
||||
**Title:** Override isolation / temporary opts seam
|
||||
**Branch:** m05-override-isolation (+ m05-fix-opts-test)
|
||||
**Audit date:** 2026-03-10
|
||||
**Mode:** DELTA AUDIT
|
||||
**Range:** 47439cac (M04 closeout) → ae161cbb (M05 fix merge)
|
||||
**CI Status:** Green (Quality 22888808682)
|
||||
**Refactor Posture:** Behavior-Preserving
|
||||
**Audit Verdict:** 🟢 Milestone objectives met. No runtime behavior change. Proceed to M06.
|
||||
|
||||
---
|
||||
|
||||
## 1. Executive Summary
|
||||
|
||||
M05 successfully introduced the first Phase II runtime seam: a scoped context manager for temporary option overrides, replacing direct global mutation in `process_images()`.
|
||||
|
||||
**Wins:**
|
||||
* `temporary_opts()` isolates override apply/restore; enables future opts snapshot injection (M07)
|
||||
* Behavior preserved: opts.set(is_api=True, run_callbacks=False), setattr restore, k in opts.data filtering
|
||||
* Model/VAE reload and token merging remain in process_images (narrow blast radius)
|
||||
* Seam tests added (test_opts_override.py)
|
||||
* CI harness fix: config.json initialization ensures opts.data populated for quality tests
|
||||
|
||||
**Risks:** None identified.
|
||||
|
||||
**Next action:** Proceed to M06 (Processing context extraction).
|
||||
|
||||
---
|
||||
|
||||
## 2. CI Evidence
|
||||
|
||||
| Check | Result |
|
||||
|-------|--------|
|
||||
| Smoke Tests (PR #18) | 22876253113 ✓ |
|
||||
| Linter (PR #18) | 22876253091 ✓ |
|
||||
| Quality Tests (post-fix) | 22888808682 ✓ |
|
||||
| Coverage | ≥40% gate satisfied |
|
||||
| verify_pinned_deps | ✓ Passed |
|
||||
| pip-audit | Informational (M27) |
|
||||
| Artifacts | coverage.xml ✓, ci_environment.txt ✓ |
|
||||
|
||||
---
|
||||
|
||||
## 3. Delta Map & Blast Radius
|
||||
|
||||
| Changed | Impact |
|
||||
|---------|--------|
|
||||
| modules/runtime_utils.py | New — temporary_opts context manager |
|
||||
| modules/processing.py | Refactored — use temporary_opts, preserve model/VAE reload, token merging |
|
||||
| test/quality/test_opts_override.py | New — seam unit tests |
|
||||
| test/conftest.py | CI harness — create minimal config.json when missing |
|
||||
|
||||
**Blast radius:** Override application path only. No API/CLI/schema changes.
|
||||
|
||||
---
|
||||
|
||||
## 4. Category Scores
|
||||
|
||||
| Category | Score | Notes |
|
||||
|----------|-------|------|
|
||||
| Refactor discipline | 5 | Narrow seam, behavior-preserving |
|
||||
| Behavior preservation | 5 | No runtime drift; smoke + quality pass |
|
||||
| Test coverage | 5 | Seam tests + config fixture |
|
||||
| CI integrity | 5 | All gates green; corrective run verified |
|
||||
| **Overall** | **5.0** | |
|
||||
|
||||
---
|
||||
|
||||
## 5. Verdict
|
||||
|
||||
Milestone objectives met. Global override mutation replaced with scoped context manager. Proceed to M06.
|
||||
61
docs/milestones/M05/M05_summary.md
Normal file
61
docs/milestones/M05/M05_summary.md
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# M05 Summary — Override Isolation / Temporary Opts Seam
|
||||
|
||||
**Project:** Serena
|
||||
**Phase:** Phase II — Runtime Seam Preparation
|
||||
**Milestone:** M05 — Override isolation / temporary opts seam
|
||||
**Status:** Closed
|
||||
**Branch:** m05-override-isolation
|
||||
**PR:** #18 (implementation), #19 (CI harness fix)
|
||||
**Commit:** ae161cbb (merge PR #19)
|
||||
**Quality Run:** 22888808682 ✓
|
||||
|
||||
---
|
||||
|
||||
## Accomplished
|
||||
|
||||
| Item | Status |
|
||||
|------|--------|
|
||||
| Introduced `temporary_opts()` context manager | ✓ modules/runtime_utils.py |
|
||||
| Isolated override_settings mutation from global runtime | ✓ process_images refactored |
|
||||
| Preserved existing behavior | ✓ opts.set(is_api=True, run_callbacks=False), setattr restore, k in opts.data |
|
||||
| Model/VAE reload left in process_images | ✓ |
|
||||
| Token merging unchanged | ✓ |
|
||||
| Added seam tests | ✓ test/quality/test_opts_override.py |
|
||||
| CI harness stabilized | ✓ test/conftest.py — minimal config.json when missing |
|
||||
|
||||
---
|
||||
|
||||
## CI Layout After M05
|
||||
|
||||
| Workflow | Trigger | Coverage | Security |
|
||||
|----------|---------|----------|----------|
|
||||
| Smoke Tests | pull_request (main) | No gate | None |
|
||||
| Linter | pull_request | — | — |
|
||||
| Quality Tests | push to main | ≥40% | pip-audit (informational) |
|
||||
|
||||
---
|
||||
|
||||
## Invariants Preserved
|
||||
|
||||
- API response schemas
|
||||
- CLI behavior
|
||||
- Extension compatibility
|
||||
- Generation semantics
|
||||
- CI truthfulness
|
||||
|
||||
---
|
||||
|
||||
## Blast Radius
|
||||
|
||||
| File | Change |
|
||||
|------|--------|
|
||||
| modules/runtime_utils.py | New |
|
||||
| modules/processing.py | Modified |
|
||||
| test/quality/test_opts_override.py | New |
|
||||
| test/conftest.py | CI harness fix |
|
||||
|
||||
---
|
||||
|
||||
## Refactor Result
|
||||
|
||||
Global override mutation replaced with scoped context manager. First runtime seam in Phase II; enables future opts snapshot injection (M07).
|
||||
|
|
@ -13,3 +13,4 @@
|
|||
| 2026-03-09 | ruff | Lint runtime_utils, test_opts_override | modules/runtime_utils.py, test/quality/test_opts_override.py | pass |
|
||||
| 2026-03-09 | git | Create branch, commit, push | m05-override-isolation, 5fe82459 | done |
|
||||
| 2026-03-09 | write | Generate M05_run1.md | docs/milestones/M05/M05_run1.md | done |
|
||||
| 2026-03-10 | write | M05 closeout — summary, audit, ledger, M06 seed | docs/milestones/M05/, docs/serena.md, docs/milestones/M06/ | done |
|
||||
|
|
|
|||
42
docs/milestones/M06/M06_plan.md
Normal file
42
docs/milestones/M06/M06_plan.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# M06 Plan — Processing Context Extraction
|
||||
|
||||
**Project:** Serena
|
||||
**Phase:** Phase II — Runtime Seam Preparation
|
||||
**Milestone:** M06
|
||||
**Title:** Processing Context Extraction
|
||||
**Branch:** `m06-processing-context`
|
||||
**Posture:** Behavior-Preserving Refactor
|
||||
**Target:** Introduce a ProcessingContext object to encapsulate state threaded through process_images() / process_images_inner().
|
||||
|
||||
---
|
||||
|
||||
## 1. Intent / Target
|
||||
|
||||
Introduce a **ProcessingContext object** to encapsulate state currently threaded through `process_images()` and `process_images_inner()`.
|
||||
|
||||
**Goals:**
|
||||
* Prepare for opts snapshot injection (M07)
|
||||
* Enable deterministic runtime execution
|
||||
* Improve testability of processing stages
|
||||
|
||||
---
|
||||
|
||||
## 2. Scope (To Be Defined)
|
||||
|
||||
* In scope: TBD
|
||||
* Out of scope: TBD
|
||||
|
||||
---
|
||||
|
||||
## 3. Dependencies
|
||||
|
||||
* M05 complete (temporary_opts seam)
|
||||
|
||||
---
|
||||
|
||||
## 4. Next Steps
|
||||
|
||||
1. Define ProcessingContext fields and boundaries
|
||||
2. Identify state to encapsulate
|
||||
3. Implement minimal extraction
|
||||
4. Preserve behavior; add tests
|
||||
10
docs/milestones/M06/M06_toolcalls.md
Normal file
10
docs/milestones/M06/M06_toolcalls.md
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# M06 Tool Calls Log
|
||||
|
||||
**Milestone:** M06 — Processing Context Extraction
|
||||
**Branch:** m06-processing-context
|
||||
|
||||
---
|
||||
|
||||
| Timestamp | Tool | Purpose | Files/Target | Status |
|
||||
|-----------|------|---------|--------------|--------|
|
||||
| | | | | |
|
||||
|
|
@ -134,6 +134,9 @@ Core principles:
|
|||
| M02 | API CI truthfulness, local dev guardrails | Completed | m02-api-ci-truthfulness | — | 7484170d | Linter 22831756517 ✓; Tests 22831756504 ✓ (33/33 pass) | 4.9 / 5 | 2026-03-08 |
|
||||
| M03 | Test architecture (smoke / quality / nightly) | Completed | m03-test-architecture | #2 | 975dda4b | Linter ✓; Smoke 22834384359 ✓; Quality 22834861040 ✓ | 5.0 / 5 | 2026-03-09 |
|
||||
| M04 | Coverage/security/reproducibility guardrails | Completed | m04-coverage-guardrails | #4 | 47439cac | Quality 22871471473 ✓ (coverage 40%, pip-audit, verify_pinned_deps) | 5.0 / 5 | 2026-03-09 |
|
||||
| M05 | Override isolation / temporary opts seam | Completed | m05-override-isolation | #18 (+ #19 fix) | ae161cbb | Quality 22888808682 ✓ | 5.0 / 5 | 2026-03-10 |
|
||||
|
||||
**M05:** Introduced `temporary_opts()` context manager — first Phase II runtime seam. Isolates override_settings mutation from global `shared.opts`; preserves behavior (opts.set, setattr restore, k in opts.data). Model/VAE reload and token merging remain in process_images. Enables future opts snapshot injection (M07).
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue