# Release Investigation Routes Reconnection ## Module Web ## Status IMPLEMENTED ## Sprint SPRINT_20260308_022_FE_unreachable_release_investigation_routes ## Description Integrated disconnected release-investigation route families (timeline, deploy-diff, change-trace) into the canonical Releases product under a bounded `/releases/investigation/` prefix. The investigation timeline is mounted as a secondary route to avoid colliding with the shipped run workspace tab at `/releases/runs/:runId/timeline`. ## Canonical URL Contract - `/releases/investigation/timeline` - Investigation timeline overview - `/releases/investigation/timeline/:correlationId` - Correlated event drill-in - `/releases/investigation/deploy-diff` - Deployment diff (query params: from, to) - `/releases/investigation/change-trace` - Change trace viewer - `/releases/investigation/change-trace/:traceId` - Specific trace detail ## Timeline Decision **Bounded-secondary-route** (not absorb-into-run-workspace). The investigation timeline is a correlation-based tool that spans multiple services by correlationId, which is conceptually different from the run workspace's timeline tab showing run execution flow. Mounting it under `/releases/investigation/timeline` avoids URL collision and keeps both capabilities distinct. ## Implementation Details - **Route file**: `src/Web/StellaOps.Web/src/app/routes/releases.routes.ts` - Added three `loadChildren` entries under `investigation/` prefix - **Feature routes updated**: - `src/Web/StellaOps.Web/src/app/features/timeline/timeline.routes.ts` - Added breadcrumb, title, sprint ref - `src/Web/StellaOps.Web/src/app/features/deploy-diff/deploy-diff.routes.ts` - Updated canonical URL reference - `src/Web/StellaOps.Web/src/app/features/change-trace/change-trace.routes.ts` - Added breadcrumb, title, sprint ref - **Tests**: `src/Web/StellaOps.Web/src/app/routes/releases.routes.spec.ts` ## Deliberately Excluded Legacy Behaviors - The old timeline route at `/timeline` (standalone top-level) is not revived - Direct mounting at `/releases/runs/:runId/timeline` for the investigation timeline is explicitly avoided (that path is owned by the run workspace)