Frontend: drag-and-drop reorder buckets within a scenario
Frontend: view scenario (list + show with buckets)
Backend: embed buckets in the Scenario item representation
Test infra: extract shared Scenario/Bucket persistence helpers into a trait
Backend: embed buckets in the Scenario item representation
Production image + Forgejo CI
Done — committed to release/v0.3.0.
M1 exit criteria met (verified via live prod-image smoke test):
- Multi-stage prod image builds under podman:
frontend_builder(node) compiles the…
Close test-coverage gaps and enforce a coverage threshold
Close test-coverage gaps and enforce a coverage threshold
Resolved on release/v0.3.0 (commit 196cbfb). code-reviewer: clean, no blockers.
Coverage — backend now 100% real, frontend ~98.5%
- The cited "0% methods" was a measurement artifact…
Auth UI: register, login, logout (incl. POST /api/register)
Auth UI: register, login, logout (incl. POST /api/register)
Resolved on release/v0.3.0 (15 commits — a full-stack vertical slice). pr-reviewer (full-ticket diff): Request Changes → the one blocker fixed → green.
Backend
POST /api/register —…
Production image + Forgejo CI
Add a
Add a php healthcheck for CI ordering (from #52 finish-phase review)
compose.override.yaml: the php service has no healthcheck, and frontend / playwright only wait on frontend…
Rename backend shell.nix helpers dev-* → dev-be-* for symmetry
Production image + Forgejo CI
E2E in CI — note from #52 (Playwright setup)
The Playwright e2e harness landed in #52: a playwright compose service (--profile e2e, browsers preinstalled in the image) running the auth…