Problem
vendor/wheels/Seeder.cfc:97 returns success=true ("Seeding complete") even when seedOnce() recorded action='failed' results (:193-199); failures are not counted and the wrapping transaction commits around them.
Impact
Silent fail-quiet on a data boundary: a seed file that half-applied looks identical to one that fully applied — in CI and in wheels seed output.
Suggested approach
Count failed results; surface them in the summary; return success=false (and a non-zero CLI exit via the existing typed-throw convention) when any entry failed. Decide explicitly whether failures should roll back the transaction or commit-with-report — document the choice.
Acceptance criteria
- A failing
seedOnce() entry makes wheels seed exit non-zero with the failed entries named.
- Spec covering the partial-failure path.
Source
Internal framework review 2026-06-09; coverage audit 2026-06-10 (should-track item).
Problem
vendor/wheels/Seeder.cfc:97returnssuccess=true("Seeding complete") even whenseedOnce()recordedaction='failed'results (:193-199); failures are not counted and the wrapping transaction commits around them.Impact
Silent fail-quiet on a data boundary: a seed file that half-applied looks identical to one that fully applied — in CI and in
wheels seedoutput.Suggested approach
Count failed results; surface them in the summary; return
success=false(and a non-zero CLI exit via the existing typed-throw convention) when any entry failed. Decide explicitly whether failures should roll back the transaction or commit-with-report — document the choice.Acceptance criteria
seedOnce()entry makeswheels seedexit non-zero with the failed entries named.Source
Internal framework review 2026-06-09; coverage audit 2026-06-10 (should-track item).