Commit graph

7808 commits

Author SHA1 Message Date
Michael Cahill
961297f09d M14: API runner contract test (verification milestone)
- Add test_api_runner_contract.py: proves API txt2img path invokes ProcessingRunner
- No routing changes: API continues to call process_images (orchestration boundary)
- Monkeypatch CI env + runner.run; call API method directly
- M14_plan.md, M14_toolcalls.md: governance docs

Phase III — Runner & Service Boundary

Made-with: Cursor
2026-03-16 23:21:18 -07:00
Michael Cahill
a12028b148 docs(M13): update toolcalls log
Made-with: Cursor
2026-03-13 15:21:55 -07:00
Michael Cahill
c59832e3c3 docs(M13): closeout — run2, summary, audit, ledger
Made-with: Cursor
2026-03-13 15:21:49 -07:00
m-cahill
4dd0499987
M13: txt2img path through runner (#31)
* M13: txt2img path through runner — contract test and verification

- Add test_txt2img_runner_contract.py verifying txt2img invokes ProcessingRunner
- No routing changes: process_images already delegates to runner (M10)
- Update M13_plan, M13_toolcalls, M13_run1
- Scope: UI txt2img only; API/img2img in M14/M15

Made-with: Cursor

* docs(M13): add CI run1 results — smoke tests pass

Made-with: Cursor
2026-03-13 15:17:06 -07:00
Michael Cahill
40b4aebb07 docs(M12): closeout — run2, summary, audit, ledger
Made-with: Cursor
2026-03-12 22:35:07 -07:00
Michael Cahill
46cf6d1cb6 docs(M12): update toolcalls log
Made-with: Cursor
2026-03-12 14:26:18 -07:00
Michael Cahill
bf1f85f53a Merge main into m12-runner-instrumentation 2026-03-12 14:26:02 -07:00
Michael Cahill
c146ef787c M12: Add runner instrumentation hooks (on_prepare, on_execute, on_finalize)
- Add optional no-op hooks to ProcessingRunner lifecycle
- Hooks invoked: prepare -> on_prepare -> execute -> on_execute -> finalize -> on_finalize
- Add test_runner_hooks_called contract test
- No runtime behavior change; structural seam for M13+ progress/cancellation

Made-with: Cursor
2026-03-12 14:25:36 -07:00
Michael Cahill
8063f2e945 docs(M11): update toolcalls log
Made-with: Cursor
2026-03-11 23:50:17 -07:00
Michael Cahill
1f2d642a47 docs(M11): closeout — run2, summary, audit, ledger, M12 seed
Made-with: Cursor
2026-03-11 23:50:08 -07:00
m-cahill
08ac1c0e24
Merge pull request #30 from m-cahill/m11-runner-lifecycle
M11: Runner lifecycle surface
2026-03-11 23:45:13 -07:00
Michael Cahill
0a0a6dc221 Merge main into m11-runner-lifecycle (resolve M11 doc conflicts)
Made-with: Cursor
2026-03-11 23:45:08 -07:00
Michael Cahill
d91e5bc794 docs(M11): CI run1 analysis, toolcalls
Made-with: Cursor
2026-03-11 23:43:46 -07:00
Michael Cahill
ce2659f194 chore: trigger CI
Made-with: Cursor
2026-03-11 23:39:55 -07:00
Michael Cahill
fb705fe646 M11: Runner lifecycle surface (prepare/execute/finalize)
- Refactor ProcessingRunner.run() to delegate through lifecycle stages
- Add prepare(), execute(), finalize() with pass-through behavior
- Add test_runner_lifecycle_order contract test
- Preserve identical behavior; no API/CLI changes

Phase III — Runner & Service Boundary

Made-with: Cursor
2026-03-11 23:38:17 -07:00
m-cahill
8b25678475
docs(M10): closeout — run2, summary, audit, ledger, M11 seed (#29)
* docs(M10): closeout — run2, summary, audit, ledger

Made-with: Cursor

* docs(M10): seed M11 milestone folder

Made-with: Cursor
2026-03-11 22:58:32 -07:00
Michael Cahill
bc626a60b1 docs(M10): seed M11 milestone folder
Made-with: Cursor
2026-03-11 22:58:19 -07:00
Michael Cahill
290b58124f docs(M10): closeout — run2, summary, audit, ledger
Made-with: Cursor
2026-03-11 22:58:14 -07:00
m-cahill
0d11b587ca
fix(M10): defer modules.processing import in test_processing_runner (#28)
Quality tests fail during collection because test_processing_runner imports
modules.processing at module level, which triggers sd_samplers before
shared.opts is initialized. Defer import to inside test and add initialize
fixture so webui/opts are loaded first.

Made-with: Cursor
2026-03-11 22:54:02 -07:00
m-cahill
880723f100
M10: ProcessingRunner skeleton (#27)
* M10: ProcessingRunner skeleton

- Add modules/runtime/runner.py with ProcessingRunner and ProcessingRequest
- Wire process_images to delegate through runner (internal only)
- Add test/quality/test_processing_runner.py contract test

Behavior-preserving. Zero blast radius. All callers unchanged.

Made-with: Cursor

* M10: Add run1 and toolcalls update

Made-with: Cursor

* M10: Update Phase III roadmap, add closeout prompt

- Phase III: M11 lifecycle, M12 instrumentation, M13 txt2img, M14 API, M15 queue
- Phase IV-VII renumbered (M16-M33)
- Add M10_closeout_prompt.md for Cursor

Made-with: Cursor
2026-03-11 22:46:56 -07:00
Michael Cahill
11b9e0f16e docs(M09): update toolcalls log
Made-with: Cursor
2026-03-11 21:39:21 -07:00
Michael Cahill
292115c8f0 docs(M09): closeout — run1, run2, audit, summary, ledger
Made-with: Cursor
2026-03-11 21:39:12 -07:00
m-cahill
2c6a251043
Merge pull request #26 from m-cahill/m09-execution-context
M09: Execution Context Introduction
2026-03-11 21:33:41 -07:00
Michael Cahill
398e281d4b docs(M09): update toolcalls log
Made-with: Cursor
2026-03-11 20:07:11 -07:00
Michael Cahill
372e0673f3 feat(M09): introduce RuntimeContext and attach to processing object
- Add modules/runtime_context.py with RuntimeContext dataclass
- Attach p.runtime_context in process_images_inner() after opts_snapshot
- Write-only: no migration of shared.* reads yet
- Completes Phase II runtime seam preparation

Made-with: Cursor
2026-03-11 20:06:35 -07:00
Michael Cahill
666b159d0b docs(M09): add full M09 plan
Made-with: Cursor
2026-03-11 20:05:54 -07:00
m-cahill
82cd17e2d7
Merge pull request #25 from m-cahill/m09-execution-context
docs(M08): closeout — run2, audit, summary, ledger, M09 seed
2026-03-11 20:03:54 -07:00
Michael Cahill
fbc8519c98 docs(M08): regenerate audit and summary per RefactorMilestoneAuditPrompt and RefactorSummaryPrompt
Made-with: Cursor
2026-03-11 20:00:32 -07:00
Michael Cahill
fd363db66a docs(M08): closeout — run2, audit, summary, ledger, M09 seed
Made-with: Cursor
2026-03-11 19:57:46 -07:00
m-cahill
710a0abd33
Merge pull request #24 from m-cahill/m08-snapshot-threading
M08: Opts Snapshot Threading (continued)
2026-03-11 19:53:40 -07:00
Michael Cahill
827bc655fd docs(M08): add M08_run1.md CI report and toolcalls
Made-with: Cursor
2026-03-11 19:50:13 -07:00
Michael Cahill
be214f4eda M08: Thread opts_snapshot into process_images_inner for save-related reads
- Replace opts.foo with p.opts_snapshot.foo for safe read-only settings
- Migrated: save_images_before_face_restoration, save_images_before_color_correction,
  samples_format, return_mask, save_mask, return_mask_composite, save_mask_composite,
  grid_only_if_multiple, return_grid, grid_save, grid_format, grid_extended_filename
- Leave save_samples(), sample_hr_pass(), create_infotext(), metadata on shared.opts
- Behavior-preserving; no change to save paths or naming

Made-with: Cursor
2026-03-11 19:43:06 -07:00
m-cahill
09a52ac2fe
Merge pull request #23 from m-cahill/m08-snapshot-threading
docs(M07): closeout — run2, audit, summary, ledger, M08 seed
2026-03-11 19:23:02 -07:00
Michael Cahill
c943849d1d docs(M07): update toolcalls with closeout steps
Made-with: Cursor
2026-03-11 19:21:39 -07:00
Michael Cahill
3e59f6636b docs(M07): closeout — run2, audit, summary, ledger, M08 seed
Made-with: Cursor
2026-03-11 19:21:30 -07:00
m-cahill
8ea50d3550
Merge pull request #22 from m-cahill/m07-opts-snapshot
M07: Opts snapshot introduction
2026-03-11 19:16:21 -07:00
Michael Cahill
63fa49c35e docs(M07): add M07_run1.md CI analysis, toolcalls update
Made-with: Cursor
2026-03-10 12:29:15 -07:00
Michael Cahill
87c8fe8651 M07: Opts snapshot introduction
- Add modules/opts_snapshot.py with create_opts_snapshot(opts)
- Capture snapshot in process_images_inner after prepare_prompt_seed_state
- Full shallow copy of opts.data via SimpleNamespace
- No runtime behavior change; snapshot write-only for M07

Made-with: Cursor
2026-03-10 00:33:55 -07:00
m-cahill
6394067926
Merge pull request #21 from m-cahill/m07-opts-snapshot
docs(M06): closeout — audit, summary, ledger
2026-03-09 23:58:18 -07:00
Michael Cahill
044e827dee docs(M07): seed M07 plan and toolcalls scaffold
Made-with: Cursor
2026-03-09 23:45:23 -07:00
Michael Cahill
5f54c4510c docs(M06): closeout — run2, audit, summary, ledger update
Made-with: Cursor
2026-03-09 23:45:15 -07:00
m-cahill
6744152a79
Merge pull request #20 from m-cahill/m06-prompt-seed-prep
M06: Prompt/seed prep extraction
2026-03-09 23:34:46 -07:00
Michael Cahill
0675b336aa docs(M06): add M06_run1.md CI analysis, toolcalls
Made-with: Cursor
2026-03-09 23:19:58 -07:00
Michael Cahill
92fbf62319 M06: Extract prompt/seed prep to prompt_seed_prep.py
- Add modules/prompt_seed_prep.py with prepare_prompt_seed_state(p)
- Replace inline all_seeds/all_subseeds logic in process_images_inner
- Mutate p.seed/p.subseed before call; prepare_prompt_seed_state writes to p
- Behavior-preserving: fill_fields_from_opts, setup_prompts unchanged
- Phase II runtime seam preparation

Made-with: Cursor
2026-03-09 23:15:47 -07:00
Michael Cahill
595ea21752 docs(M05): closeout — summary, audit, ledger, M06 seed
Made-with: Cursor
2026-03-09 22:53:27 -07:00
Michael Cahill
0654b9a9f7 docs(M05): update M05_run2 with Quality success (22888808682)
Made-with: Cursor
2026-03-09 22:41:55 -07:00
m-cahill
ae161cbb65
Merge pull request #19 from m-cahill/m05-fix-opts-test
fix(M05): ensure config exists for test_opts_override
2026-03-09 22:38:03 -07:00
Michael Cahill
715db891f3 docs(M05): add M05_run2.md CI report for fix PR
Made-with: Cursor
2026-03-09 16:43:19 -07:00
Michael Cahill
3039abb1a0 fix(M05): ensure config exists so opts.data populated for test_opts_override
When opts.load() gets FileNotFoundError, opts.data = {}.
temporary_opts only applies overrides for keys in opts.data.
Initialize fixture now creates minimal config.json when missing.

Made-with: Cursor
2026-03-09 15:33:11 -07:00
m-cahill
6fd992ae27
Merge pull request #18 from m-cahill/m05-override-isolation
M05: Override isolation / temporary opts seam
2026-03-09 15:27:20 -07:00