Skip to content

v0.7.0-beta: Projects / Change Cases - #48

Merged
DeepZone merged 1 commit into
mainfrom
codex/implement-v0.7.0-beta-change-cases-feature
May 20, 2026
Merged

v0.7.0-beta: Projects / Change Cases#48
DeepZone merged 1 commit into
mainfrom
codex/implement-v0.7.0-beta-change-cases-feature

Conversation

@DeepZone

Copy link
Copy Markdown
Owner

Motivation

  • Provide a lightweight project/workflow container for routing preflight work so checks and reports can be grouped, reviewed and audited as a single traceable Change Case.
  • Enable role-aware collaboration (admin/operator create+edit, viewer read-only) and preserve RouteForge's read-only guarantees for external systems.

Description

  • Added a new ChangeCase backend model with fields id, title, description, status (draft, in_review, approved, closed), created_by_user_id, created_at and updated_at, and an optional relationship from checks to change_cases via change_case_id (DB/ORM changes in backend/app/models.py).
  • Added Alembic migration backend/alembic/versions/0003_change_cases.py to create the change_cases table and add checks.change_case_id FK.
  • Implemented new API endpoints in backend/app/api/routes_change_cases.py: GET /api/change-cases, POST /api/change-cases, GET /api/change-cases/{id}, PATCH /api/change-cases/{id}, and GET /api/change-cases/{id}/reports with role checks and status/transition validation.
  • Integrated Change Case support into check flow (backend/app/api/routes_checks.py) preserving backward compatibility: check request schemas accept optional change_case_id, checks/reports are linked when provided, and unknown change_case_id yields clean 404 responses; additional audit events are emitted when attachments occur.
  • Added audit events for change_case_created, change_case_updated, change_case_status_changed, check_attached_to_change_case and report_attached_to_change_case (via existing audit subsystem).
  • Frontend: added ChangeCasesView with list/detail, create button and basic actions, wired navigation entry "Change Cases", API bindings and new types; version labels and system info updated to v0.7.0-beta and frontend package bumped to 0.7.0.
  • Documentation: README.md, ROADMAP.md and RELEASE_NOTES.md updated to reference v0.7.0-beta and describe the Change Cases feature.

Testing

  • Backend tests executed with cd backend && pytest -q resulting in 92 passed tests (existing suite plus new Change Case tests).
  • Frontend built with cd frontend && npm run build and the production build completed successfully (vite build succeeded).
  • Added automated smoke tests covering: Change Case CRUD and role permissions, invalid status rejection, attaching a Check to a Change Case, listing Change Case reports, and verifying generated audit events; these tests passed in the CI-local run.

Codex Task

@DeepZone
DeepZone merged commit 8d8b2fd into main May 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant