M10: Add run1 and toolcalls update

Made-with: Cursor
This commit is contained in:
Michael Cahill 2026-03-11 21:50:45 -07:00
parent 59e46fa069
commit 32b16b24b6
2 changed files with 140 additions and 1 deletions

View file

@ -0,0 +1,138 @@
# M10 CI Run 1 — ProcessingRunner Skeleton
**Date:** 2026-03-11
**Branch:** m10-processing-runner
**PR:** (verify target repo — gh may have created against upstream)
**Trigger:** pull_request (PR to main)
**Commit:** 59e46fa0
---
## 1. Workflow Identity
| Workflow | Run ID | Trigger | Branch | Commit | Status |
|----------|--------|---------|--------|--------|--------|
| Linter | (pending) | pull_request | m10-processing-runner | 59e46fa0 | — |
| Smoke Tests | (pending) | pull_request | m10-processing-runner | 59e46fa0 | — |
| Quality Tests | (post-merge) | push | main | — | — |
**Note:** PR created via `gh pr create`. Monitor CI at GitHub Actions. Quality Tests run on push to main after merge.
---
## 2. Change Context
| Item | Value |
|------|-------|
| Milestone | M10 — ProcessingRunner Skeleton |
| Phase | Phase III — Runner & Service Boundary |
| Posture | Behavior-preserving |
| Refactor target | `modules/runtime/runner.py` (new), `modules/processing.py` (delegation) |
| Run type | First CI verification of M10 implementation |
---
## 3. Step 1 — Workflow Inventory
(To be populated after CI run completes.)
### Linter
| Job | Required? | Purpose | Pass/Fail |
|-----|-----------|---------|-----------|
| ruff | Yes | Python lint | — |
| eslint | Yes | JS lint | — |
### Smoke Tests
| Job / Step | Required? | Purpose | Pass/Fail |
|------------|-----------|---------|-----------|
| Run smoke tests | Yes | pytest test/smoke | — |
### Quality Tests (post-merge)
| Job / Step | Required? | Purpose | Pass/Fail |
|------------|-----------|---------|-----------|
| Run quality tests | Yes | pytest test/quality, coverage ≥40% | — |
---
## 4. Step 2 — Refactor Signal Integrity
### A) Tests
- **Tier:** Smoke + Quality (new contract test: `test_processing_runner_delegates`)
- **Coverage of refactor target:** Smoke tests exercise txt2img/img2img API → `process_images()` → runner → `process_images_inner()`. Contract test verifies runner delegates correctly.
- **Failures:** (to be filled after CI)
- **Golden/snapshot:** Behavior-preserving; no output changes.
### B) Coverage
- Quality tier enforces ≥40%. New test adds minimal coverage for runner module.
### C) Static Gates
- Ruff, eslint: (to be filled after CI)
---
## 5. Step 3 — Delta Analysis
### Change Inventory
| File | Change |
|------|--------|
| modules/runtime/__init__.py | **New:** Package init |
| modules/runtime/runner.py | **New:** ProcessingRunner, ProcessingRequest |
| modules/processing.py | Delegate to runner inside process_images |
| test/quality/test_processing_runner.py | **New:** Contract test |
| docs/milestones/M10/* | Plan, toolcalls |
**Call graph (unchanged from caller perspective):**
```
UI/API/scripts
process_images(p)
ProcessingRunner.run(request)
process_images_inner(p)
```
---
## 6. Step 4 — Invariant Verification
| Invariant | Verification | Status |
|-----------|--------------|--------|
| CLI behavior | No CLI changes | ✓ |
| API responses | Same path; smoke tests | — |
| Processing results | Byte-identical (runner is thin adapter) | — |
| Runtime state | No new side effects | ✓ |
| CI coverage | ≥40% (Quality gate) | — |
---
## 7. Blast Radius
**Files changed:**
- `modules/runtime/` (new)
- `modules/processing.py` (modified)
- `test/quality/test_processing_runner.py` (new)
- `docs/milestones/M10/*`
**Zero blast radius to callers.** All UI, API, scripts call `process_images(p)` unchanged.
---
## 8. Verdict
**CI Status:** (pending — monitor GitHub Actions)
**Refactor posture:** Behavior-preserving. First Phase III execution boundary. Runner is thin adapter; no behavior change.
**Next step:** Monitor CI. After green: await merge permission. Post-merge: Quality Tests, then audit/summary/ledger/tag per governance.

View file

@ -8,4 +8,5 @@ Implementation toolcalls for Cursor execution.
| 2026-03-11 | write | Create modules/runtime/runner.py | modules/runtime/ | done |
| 2026-03-11 | search_replace | Wire process_images to delegate through runner | modules/processing.py | done |
| 2026-03-11 | write | Add contract test for ProcessingRunner | test/quality/test_processing_runner.py | done |
| 2026-03-11 | run | Create branch m10-processing-runner | git | in_progress |
| 2026-03-11 | run | Create branch m10-processing-runner | git | done |
| 2026-03-11 | run | git add, commit, push, gh pr create | git, gh | done |