- Patched conftest.py to monkey-patch app.core.config engine/SessionLocal
with SQLite in-memory DB BEFORE importing the FastAPI app, preventing
startup event from trying to connect to production MySQL
- All 29 tests pass: Essential CRUD (11), Proposal Accept (8),
Story restricted (6), Legacy compat (4)
New test infrastructure:
- tests/conftest.py: SQLite in-memory fixtures, TestClient wired to test DB,
factory fixtures for User/Project/Milestone/Task/Roles/Permissions
- tests/test_milestone_actions.py: 17 tests covering:
- freeze success/no-release-task/multiple-release-tasks/wrong-status
- start success+started_at/deps-not-met/wrong-status
- close from open/freeze/undergoing, rejected from completed/closed
- auto-complete on release task finish, no auto-complete for non-release/wrong-status
- preflight allowed/not-allowed