A customer change request now flows through a guarded commercial pipeline:
Requested -> Estimated -> Approved -> Paid -> Live. The cross-division work and
its dependencies live on the request's steps (a division's slice + hours +
an optional depends-on link), and estimating sums the steps into a total. Each
transition is guarded on the ChangeRequest aggregate, so it can only move
forward in order; guard violations surface as 400s.
- Domain: ChangeRequest + ChangeRequestStep aggregates with stage guards
- Persistence: two tables + EF migration (applied)
- Endpoints under /api/orgboard/change-requests: create/list/detail, add/advance
steps, and estimate/approve/pay/go-live/reject (reads need board-view,
commercial actions are owner-level)
- New Delivery pipeline page: request list with stage + step progress, a detail
drawer with a stage stepper, the next commercial action, quote entry, and a
per-division step breakdown with dependencies
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>