- Add api_key field to MonitoredServer model
- Add migration to create api_key column with unique index
- Add /admin/servers/{id}/api-key endpoint for key generation
- Add /admin/servers/{id}/api-key DELETE endpoint for revocation
- Add /server/heartbeat-v2 endpoint with X-API-Key header authentication
- Add TelemetryPayload model with extended fields (load_avg, uptime_seconds)
- Add basic unit tests for API key functionality
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