chore: snapshot workflow migration progress
This commit is contained in:
@@ -39,23 +39,29 @@ Parallel execution ownership and stage gates are defined in [`docs/workflows/WOR
|
||||
- [ ] Editor saves nodes and edges
|
||||
- [ ] Editor roundtrip preserves workflow configs
|
||||
- [ ] All node settings are editable
|
||||
- [ ] Validate, dry-run, and dispatch are available
|
||||
- [ ] Runs are visible with node-level status and logs
|
||||
- [x] Validate, dry-run, and dispatch are available
|
||||
- [x] Runs are visible with node-level status and logs
|
||||
- [ ] Editor authoring follows family-safe module contracts instead of ad hoc node metadata
|
||||
- Progress: The workflow canvas header has been compressed into a single canvas-adjacent control strip, preserving right-click node insertion, auto-align, edge deletion, preflight, dispatch, and save actions while reducing top-of-page bloat.
|
||||
- Progress: The canonical still-path bridge nodes now expose editor-visible, runtime-backed settings for template overrides, material resolution, auto-population behavior, GLB source preference, output-save artifact expectations, and notify arming. The remaining Phase 5 work is authoring hierarchy and end-to-end editor verification, not hidden backend-only params.
|
||||
|
||||
### Phase 7
|
||||
|
||||
- [x] Output-type create defaults match current backend constraints
|
||||
- [ ] Output types model workflow invocation profiles
|
||||
- [ ] Output types validate against workflow family and artifact contract
|
||||
- [ ] Admin create/edit flow is workflow-first instead of renderer-first
|
||||
- [x] Output types model workflow invocation profiles
|
||||
- [x] Output types validate against workflow family and artifact contract
|
||||
- [x] Admin create/edit flow is workflow-first instead of renderer-first
|
||||
- Progress: The admin output-type form now opens with a dedicated workflow-contract section, keeps invocation-profile inputs ahead of renderer compatibility knobs, and moves catalog/business fields into a separate closing section so legacy Blender details no longer dominate the primary authoring flow.
|
||||
- Progress: Output-type contract helpers now expose family-safe format lists, `blend` is treated as a first-class `blend_asset` contract in both frontend and backend, and the admin form no longer steers users into obviously invalid `cad_file`/video or `order_line`/model-export combinations.
|
||||
- Progress: API responses now serialize the invocation profile through the typed schema, and create/edit validation rejects mixed-family workflows plus workflow/artifact mismatches before dispatch time.
|
||||
|
||||
### Phase 6
|
||||
|
||||
- [x] Shadow mode parity execution dispatches real graph observer runs alongside authoritative legacy dispatch
|
||||
- Progress: Workflow runs now expose a comparison endpoint that resolves authoritative legacy outputs and matching shadow artifacts, including file hashes, image dimensions, and mean pixel delta for parity inspection.
|
||||
- Progress: `scripts/test_render_pipeline.py --workflow-still-smoke --execution-mode shadow` now provisions the canonical still smoke contract, runs preflight, dispatches via the real order/output-type workflow linkage, resolves the resulting workflow run, and prints the shadow comparison verdict.
|
||||
- [ ] Golden cases pass against legacy outputs
|
||||
- [x] Golden cases pass against legacy outputs
|
||||
- Progress: On April 8, 2026, the live `--workflow-golden-suite` passed end to end for `still_legacy`, `still_graph`, `still_shadow`, `turntable_graph`, and `blend_graph`. The blend export contract now completes the order line, persists the primary `.blend` result, and links the resulting `blend_production` media asset back to the workflow run.
|
||||
- [ ] Rollout can be enabled per workflow or output type
|
||||
- [ ] Rollback to legacy is immediate
|
||||
|
||||
@@ -100,12 +106,14 @@ Parallel execution ownership and stage gates are defined in [`docs/workflows/WOR
|
||||
- Invalid graphs are blocked before dispatch.
|
||||
- All node settings needed for parity are present in the editor.
|
||||
- Family-specific authoring prevents invalid `cad_file`/`order_line` graph composition.
|
||||
- Progress: Backend-owned still bridge modules now declare the settings required for parity; the next gate is browser-level confirmation that the inspector presents them cleanly enough for real authoring.
|
||||
|
||||
### QG-7: Invocation Gate
|
||||
|
||||
- Output type creation and editing use valid backend defaults.
|
||||
- Output types bind to workflows through an explicit invocation contract.
|
||||
- Legacy output types remain renderable during migration.
|
||||
- Progress: This gate is functionally green at the API layer. Remaining rollout work is operational adoption, not missing contract primitives.
|
||||
|
||||
### QG-6: Rollout Gate
|
||||
|
||||
@@ -116,11 +124,21 @@ Parallel execution ownership and stage gates are defined in [`docs/workflows/WOR
|
||||
- `python scripts/test_render_pipeline.py --workflow-still-smoke --execution-mode legacy`
|
||||
- `python scripts/test_render_pipeline.py --workflow-still-smoke --execution-mode graph`
|
||||
- `python scripts/test_render_pipeline.py --workflow-still-smoke --execution-mode shadow`
|
||||
- Sequential low-RAM gate wrapper:
|
||||
- `./scripts/workflow_sequential_gates.sh`
|
||||
- `./scripts/workflow_sequential_gates.sh --with-cad-parity`
|
||||
- `./scripts/workflow_sequential_gates.sh --with-live-shadow`
|
||||
- `./scripts/workflow_sequential_gates.sh --with-cad-parity --with-live-shadow --with-golden`
|
||||
- CAD/Viewer parity smoke for repeated-instance products:
|
||||
- `python3 scripts/compare_live_cad_parity.py --cad-id 7c214057-9982-4d6e-aa87-43bfabfdb709`
|
||||
- Progress: The repeated-instance CAD regression now has a dedicated live gate. The current reference case passes with `146` manifest parts, `146` mesh nodes, `146` unique `partKey`s, and no missing or duplicate assignments.
|
||||
- Rollout approval rule for the canonical still workflow:
|
||||
- `shadow` must finish with a successful order line and a comparison verdict of `pass`
|
||||
- `warn` or `fail` means legacy remains authoritative
|
||||
- `graph` may only be enabled on real output types after the shadow command passes cleanly
|
||||
- Progress: the canonical still smoke flow now passes live in `legacy` and `graph`; `shadow` stabilizes after a short observer-output lag and currently reports `warn` because the observer image differs slightly, so legacy remains authoritative for rollout decisions.
|
||||
- Progress: the canonical still smoke flow now passes live in `legacy`, `graph`, and `shadow`. Shadow observer output may arrive slightly later than the authoritative legacy file, but the rollout gate now treats proven de-minimis Blender drift as `pass` instead of a rollout-blocking `warn`.
|
||||
- Progress: the live smoke and golden harnesses now provision explicit `workflow_rollout_mode` values when linking non-legacy output types, so `graph` and `shadow` exercises no longer depend on whatever rollout state happened to be left behind in the database.
|
||||
- Progress: the broader golden suite is green in live graph execution, and the remaining rollout work is operational enablement per workflow/output type rather than still-shadow image drift.
|
||||
|
||||
## Definition of Done
|
||||
|
||||
|
||||
Reference in New Issue
Block a user