mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2026-03-22 06:10:51 -07:00
docs(M01): update CI report and run3 with dynamic stub results
Made-with: Cursor
This commit is contained in:
parent
5a76c617ae
commit
2f6640490c
2 changed files with 49 additions and 42 deletions
|
|
@ -1,7 +1,7 @@
|
|||
# M01 CI Report — 2026-03-08
|
||||
|
||||
**Branch:** m01-ci-truthfulness
|
||||
**Latest commit:** 9a83c70e
|
||||
**Latest commit:** 5a76c617
|
||||
**Report generated:** 2026-03-08
|
||||
|
||||
---
|
||||
|
|
@ -10,51 +10,54 @@
|
|||
|
||||
| Workflow | Run ID | Status |
|
||||
|----------|--------|--------|
|
||||
| Linter | 22812569761 | ✓ PASS |
|
||||
| Tests | 22812569762 | ✗ FAIL |
|
||||
| Linter | 22814396752 | ✓ PASS |
|
||||
| Tests | 22814850488 | Partial |
|
||||
|
||||
---
|
||||
|
||||
## 2. Test Failure
|
||||
## 2. Dynamic Stub — Success
|
||||
|
||||
**Root cause:** Server startup fails before binding to port 7860.
|
||||
**Server startup:** ✓ PASS — port 7860 binds, server runs.
|
||||
|
||||
**Dynamic stub approach:**
|
||||
- `_StubFinder` + `_StubModule` for `ldm.*` and `sgm.*`
|
||||
- Resolves any nested import without individual files
|
||||
- Stub classes: `forward`, `ATTENTION_MODES`, `ISL_PATHS`, etc.
|
||||
- `__file__` set for `inspect.getfile`
|
||||
- `ddpm.py`: DDPM, LatentDiffusion with `__init__(*a, **k)`
|
||||
|
||||
---
|
||||
|
||||
## 3. Test Results (Run 22814850488)
|
||||
|
||||
| Category | Result |
|
||||
|----------|--------|
|
||||
| wait-for-it | ✓ 127.0.0.1:7860 available |
|
||||
| test_extras | ✓ PASS (3) |
|
||||
| test_face_restorers | ✓ PASS (2) |
|
||||
| test_torch_utils | ✓ PASS (2) |
|
||||
| test_utils | ✓ PASS (10) |
|
||||
| test_img2img | ✗ 500 (4) |
|
||||
| test_txt2img | ✗ 500 (14) |
|
||||
|
||||
**img2img/txt2img:** Return 500 — stub model lacks real inference. Expected with stub-only setup.
|
||||
|
||||
---
|
||||
|
||||
## 4. Stub Layout (Minimal)
|
||||
|
||||
**Error (from output.txt):**
|
||||
```
|
||||
ModuleNotFoundError: No module named 'ldm.models.diffusion.plms'
|
||||
File "modules/sd_hijack.py", line 15, in <module>
|
||||
import ldm.models.diffusion.plms
|
||||
repositories/
|
||||
stable-diffusion-stability-ai/ldm/__init__.py (dynamic stub)
|
||||
stable-diffusion-stability-ai/ldm/models/diffusion/ddpm.py (DDPM, LatentDiffusion)
|
||||
generative-models/sgm/__init__.py (dynamic stub)
|
||||
k-diffusion/ (file-based: utils, sampling, external)
|
||||
BLIP/, stable-diffusion-webui-assets/
|
||||
```
|
||||
|
||||
**Effect:** `wait-for-it` times out (20s); pytest never runs.
|
||||
|
||||
---
|
||||
|
||||
## 3. Stub Progression
|
||||
|
||||
| Step | Blocker | Fix applied |
|
||||
|------|---------|-------------|
|
||||
| 1 | paths.py assert | ddpm.py |
|
||||
| 2 | LatentDiffusion | ddpm classes |
|
||||
| 3 | ldm.util | default() |
|
||||
| 4 | ldm.modules.midas | midas/ |
|
||||
| 5 | ldm.modules.distributions | DiagonalGaussianDistribution |
|
||||
| 6 | ldm.modules.diffusionmodules.openaimodel | openaimodel.py |
|
||||
| 7 | sgm.* | sgm stubs |
|
||||
| 8 | k_diffusion.* | external, utils, sampling |
|
||||
| 9 | ldm.models.diffusion.ddim | ddim.py |
|
||||
| 10 | **ldm.models.diffusion.plms** | **Next fix** |
|
||||
|
||||
---
|
||||
|
||||
## 4. Fix Applied
|
||||
|
||||
**Dynamic stub module** (commit in progress): MetaPathFinder + _StubModule for ldm and sgm. Resolves any nested import without individual files.
|
||||
|
||||
---
|
||||
|
||||
## 5. Links
|
||||
|
||||
- **PR:** (create when ready to merge)
|
||||
- **Linter run:** https://github.com/m-cahill/serena/actions/runs/22812569761
|
||||
- **Tests run:** https://github.com/m-cahill/serena/actions/runs/22812569762
|
||||
- **Linter run:** https://github.com/m-cahill/serena/actions
|
||||
- **Tests run:** 22814850488
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@
|
|||
|
||||
| Workflow | Latest Run | Status |
|
||||
|----------|------------|--------|
|
||||
| Linter | 22812569761 | ✓ success |
|
||||
| Tests | 22812569762 | ✗ failure |
|
||||
| Linter | 22814396752 | ✓ success |
|
||||
| Tests | 22814850488 | Partial (server ✓, img2img/txt2img 500) |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -69,13 +69,17 @@ repositories/
|
|||
|
||||
---
|
||||
|
||||
## 5. Dynamic Stub Approach (Commit 9a83c70e+)
|
||||
## 5. Dynamic Stub Approach (Commit 5a76c617)
|
||||
|
||||
Replaced manual file-by-file stubs with **dynamic stub modules**:
|
||||
|
||||
- `_StubFinder` (MetaPathFinder): catches any `ldm.*` or `sgm.*` import the default finder misses
|
||||
- `_StubModule`: resolves attributes as submodules or stub classes
|
||||
- Keeps `ddpm.py` for paths.py assertion and LatentDiffusion
|
||||
- `_StubLoader`: creates `_StubModule` with `__path__`, `__file__` for inspect
|
||||
- `_StubModule`: resolves attributes as submodules, stub classes, or dicts (UPPER_CASE)
|
||||
- Stub classes: metaclass returns no-op for missing attrs, `{}` for ATTENTION_MODES
|
||||
- UPPER_CASE on modules → dict (e.g. `midas.api.ISL_PATHS`)
|
||||
- `__file__` = `<stub:name>` so `inspect.getfile` works
|
||||
- Keeps `ddpm.py` for paths.py assertion; DDPM, LatentDiffusion with `__init__(*a,**k)`
|
||||
- Keeps k_diffusion file-based (needs real get_sigmas_*, torch, etc.)
|
||||
|
||||
Eliminates whack-a-mole import chain.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue