Skip to content

Conversation

@ogghst
Copy link
Owner

@ogghst ogghst commented Nov 25, 2025

No description provided.

- Removed detailed current sprint status and key dependencies sections from project_status.md.
- Streamlined the document to focus on risk items and overall project status.
- Introduced a comprehensive analysis document for the E5-003 Change Order Entry Interface.
- Defined user stories, objectives, and detailed descriptions of project element modifications.
- Outlined the staging project approach for managing change orders, including baseline snapshot mechanisms and line item models.
- Included integration touchpoint mapping for backend and frontend components, along with estimated effort and success criteria.
- Prepared the document for stakeholder review and detailed planning.
- Revised the analysis document to incorporate feedback from stakeholder review.
- Enhanced user stories and objectives for clarity and alignment with project goals.
- Updated integration touchpoint mapping to reflect recent changes in backend and frontend components.
- Added new sections for implementation timelines and resource allocation.
- Improved overall document structure for better readability and accessibility.
… orders

- Add VersionStatusMixin and BranchVersionMixin for entity versioning
- Implement VersionService for version number management
- Implement BranchService for branch creation, merging, and deletion
- Create entity_versioning helpers for CRUD operations
- Add database migrations for version, status, branch, and entity_id columns
- Update all 19 entity models to inherit appropriate mixins
- Update all Public schemas to include entity_id, status, and version fields
- Update CRUD endpoints for WBE, CostElement, Project, User, AppConfiguration,
  VarianceThresholdConfig, CostElementType, Forecast, EarnedValueEntry,
  CostRegistration, CostElementSchedule, BaselineLog, BudgetAllocation,
  and BaselineCostElement
- Add status filtering to all read operations
- Add branch filtering for branch-enabled entities
- Fix BaselineLog model tests to include versioning fields
- Fix BaselineLog API tests (forecast_type enum, schedule time machine filter)
- Update test helpers to set versioning fields explicitly

Completion report: docs/completions/e5-003-change-order-branch-versioning-completion.md
Plan updated: docs/plans/e5-003-change-order-branch-versioning-detailed-plan.md
Project status updated: docs/project_status.md

All versioning-related tests passing (467+ tests). Core infrastructure complete.
Note: Some pre-existing lint warnings for unused test fixtures remain.
…4-18)

- Add ChangeOrder CRUD API endpoints with workflow status transitions
- Integrate branch creation on change order creation
- Add branch deletion on change order cancellation
- Implement branch merge on change order execution
- Add auto-generated change order line items from branch comparison
- Add branch column to ChangeOrder model with migration
- Rename status to workflow_status to avoid conflict with VersionStatusMixin
- Add comprehensive test coverage (22 tests, all passing)

Implements Steps 14-18 of E5-003 Change Order Branch Versioning plan.
All tests passing. TDD discipline maintained.
… history, and branch comparison APIs (Steps 19-27)

- Add restore functionality for soft-deleted entities (Projects, WBEs, CostElements, ChangeOrders)
- Implement admin-only hard delete (permanent deletion) for soft-deleted entities
- Create version history API endpoint for retrieving entity version history
- Add branch comparison API for comparing branches with financial impact calculation
- Update Public schemas (WBEPublic, CostElementPublic) to include status/version/branch fields
- Regenerate OpenAPI client with new endpoints
- All endpoints tested with comprehensive test coverage (13 tests)

Files Changed:
- backend/app/services/entity_versioning.py - Added restore_entity and hard_delete_entity methods
- backend/app/api/routes/restore.py - New file (restore endpoints)
- backend/app/api/routes/hard_delete.py - New file (hard delete endpoints)
- backend/app/services/version_history_service.py - New file (version history service)
- backend/app/api/routes/version_history.py - New file (version history endpoint)
- backend/app/api/routes/branch_comparison.py - New file (branch comparison endpoint)
- backend/app/models/wbe.py - Updated WBEPublic schema
- backend/app/models/cost_element.py - Updated CostElementPublic schema
- backend/app/api/main.py - Registered new routers
- backend/tests/api/routes/test_restore.py - New file (7 tests)
- backend/tests/api/routes/test_hard_delete.py - New file (6 tests)
- frontend/src/client/ - Regenerated OpenAPI client

Test Results: 13 tests passing, 0 failing
- Update E5-003 status to reflect Steps 1-27 completion
- Add completion note for Steps 19-27 implementation
- Update recent updates section with Steps 19-27 completion
- Update last updated timestamp
- Update E5-003 notes to show Steps 1-27 completed
- Add details about advanced backend features (restore, hard delete, version history, branch comparison)
- Update test count (35 total: 22 from Steps 1-18 + 13 from Steps 19-27)
- Note remaining steps (28-62: frontend, background jobs, testing, documentation)
- Add reference to Steps 19-27 completion report
@ogghst ogghst merged commit dd11ad5 into main Nov 25, 2025
4 of 14 checks passed
@ogghst ogghst deleted the do/e5-003 branch November 25, 2025 06:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants