# Stella Ops β QA Issues Report **Date:** 2026-02-19 **Tester:** Claude Code (Playwright automated walkthrough) **Stack:** Fresh `docker compose up` from `devops/compose/docker-compose.stella-ops.yml` **Auth:** `admin` / default credentials **Base URL:** `https://stella-ops.local/` **Build:** v1.0.0 (as shown in sidebar footer) --- ## Summary | Severity | Count | |----------|-------| | π΄ Critical | 1 | | π High | 4 | | π‘ Medium | 7 | | π΅ Low | 6 | | **Total** | **18** | --- ## π΄ Critical ### ISSUE-001 β All v2 navigation routes redirect to home (`/`) **Pages:** `/release-control/*`, `/security-risk/*`, `/evidence-audit/*`, `/platform-ops/*`, `/administration/*`, `/dashboard` **Reproduction:** Navigate to any of the 22+ new v2 IA routes introduced in SPRINT_20260218_006β016. **Observed:** Every route silently redirects to `/` (Control Plane dashboard). No 404, no error β just home. **Expected:** Each route renders its designated v2 component. **Impact:** The entire v2 information architecture (Release Control, Security & Risk, Evidence & Audit, Platform Ops, Administration, Dashboard v3) is inaccessible. Only the old v1 routes work. **Notes:** This is the primary blocker for SPRINT_20260218 sprint delivery. The new sidebar components exist in source but the routes are not wired to the deployed build. The `/integrations` route is the only v2-era route that partially works. **Affected routes tested:** ``` /release-control β / (Control Plane) /release-control/releases β / /release-control/approvals β / /release-control/environmentsβ / /release-control/bundles β / /release-control/promotions β / /release-control/runs β / /security-risk β / /security-risk/findings β / /security-risk/advisory-sources β / /security-risk/vulnerabilities β / /evidence-audit β / /evidence-audit/packs β / /evidence-audit/proofs β / /evidence-audit/audit β / /platform-ops β / /platform-ops/health β / /platform-ops/feeds β / /administration β / /administration/identity-access β / /administration/policy-governance β / /dashboard β / ``` --- ## π High ### ISSUE-002 β Integration Hub (`/integrations`) fires 10 API errors on load **Page:** `https://stella-ops.local/integrations` **Reproduction:** Navigate to `/integrations`. **Observed:** Page loads visually (shows Integration Hub with all category counts as 0) but generates 10 console errors: ``` Failed to load resource: server responded with an error /api/v1/integrations?type=0&pageSize=1 /api/v1/integrations?type=1&pageSize=1 /api/v1/integrations?type=2&pageSize=1 /api/v1/integrations?type=3&pageSize=1 /api/v1/integrations?type=4&pageSize=1 (plus 5x "ERROR N @ chunk-2UEM7CYT.js:3") ``` **Expected:** API calls succeed; summary counts reflect actual integration state (the old `/settings/integrations` shows 8 integrations with seed data). **Impact:** The v2 Integration Hub is broken β all counts show 0 and the "Recent Activity" section shows a placeholder ("Integration activity timeline coming soonβ¦"). Users cannot use this page. **Note:** `/settings/integrations` works correctly (8 integrations shown). The backend API endpoint `/api/v1/integrations` may not be connected to the integrations service. --- ### ISSUE-003 β After creating a release, redirects to orphaned route `/release-orchestrator/releases` **Page:** `/releases/create` **Reproduction:** Create a release through the 3-step wizard β click "Create Release" on step 3. **Observed:** After submit, browser navigates to `/release-orchestrator/releases`. **Expected:** Should navigate to `/releases` (the current releases list route). **Impact:** The post-create redirect lands on an old route that no longer exists in the sidebar IA and was renamed. The URL works (Angular handles it), but it's a stale reference that will break when the old route aliases are removed during the v2 cutover (SPRINT_20260218_016). --- ### ISSUE-004 β Identity & Access (`/settings/admin`) shows "No users found" with admin logged in **Page:** `https://stella-ops.local/settings/admin` **Reproduction:** Navigate to Settings β Identity & Access β Users tab. **Observed:** "No users found" message shown even though the `admin` user is currently authenticated. **Expected:** At minimum the `admin` user should appear in the user list. **Impact:** Administrators cannot view or manage users from this page. User management is effectively broken. **Screenshot context:** Bootstrap admin email is `admin@unknown.local` (possibly indicating the user was seeded without persisting to the listing query). --- ### ISSUE-005 β Approvals badge count (3) does not match Pending filter results (2) **Page:** `/approvals` **Reproduction:** Observe sidebar badge β click through to Approvals page β filter defaults to "Pending" status. **Observed:** - Sidebar badge: **3 pending** - Pending filter: **Results (2)** - All filter: **Results (4)** **Expected:** Badge should equal the "Pending" filtered count. The badge logic and the pending query are sourced differently. **Impact:** Misleading count for approvers β could cause someone to think they've missed an item or search for a non-existent third pending approval. --- ## π‘ Medium ### ISSUE-006 β Platform Health shows "NaNms" P95 latency and "/" service count **Page:** `https://stella-ops.local/operations/health` **Reproduction:** Navigate to Operations β Platform Health. **Observed:** - "Avg Latency **NaNms** β P95 across services" - "Services **/** Healthy" (shows a bare `/` instead of a number) - "No services available in current snapshot" - "Dependencies: 0 nodes Β· 0 connections" **Expected:** Should show either real service health data or a meaningful empty state ("No health data available yet" with guidance). **Impact:** The health dashboard is completely non-functional on a fresh install. The NaN renders because it divides by zero services. The "/" is a formatting bug where a fraction like "0/0" is rendered without the surrounding numbers. --- ### ISSUE-007 β Approve button on Approvals list has no confirmation step **Page:** `/approvals` **Reproduction:** On the approvals list, click "Approve" directly on any approval card. **Observed:** No confirmation dialog, modal, or reason input appears. The action fires silently (or may silently fail β no success/error toast was observed). **Expected:** A confirmation dialog or inline form should appear asking for a decision reason, especially since approvals are policy-gated actions that must produce signed evidence. **Impact:** Accidental approvals are possible with a single click. Audit trail for the decision reason is missing if no reason is captured. --- ### ISSUE-008 β SBOM Graph is a placeholder: "not yet available in this build" **Page:** `https://stella-ops.local/security/sbom` **Reproduction:** Navigate to Security β SBOM Graph. **Observed:** Page renders with heading "SBOM Graph" and single message: "SBOM graph visualization is not yet available in this build." **Expected:** SBOM dependency graph visualization. **Impact:** Feature is advertised in navigation but completely unimplemented in the deployed build. --- ### ISSUE-009 β Vulnerabilities page is a placeholder: "pending data integration" **Page:** `https://stella-ops.local/security/vulnerabilities` **Reproduction:** Navigate to Security β Vulnerabilities. **Observed:** Page renders with heading "Vulnerabilities" and message: "Vulnerability list is pending data integration." **Expected:** Vulnerability explorer with CVE list, filters, and triage actions. **Impact:** Feature is advertised in navigation but has no functional content. --- ### ISSUE-010 β Promote button on a deployed release does nothing **Page:** `/releases/rel-001` (Platform Release 1.2.3 β DEPLOYED) **Reproduction:** Click the "Promote" button on a deployed release detail page. **Observed:** No navigation, no modal, no drawer β the page stays unchanged. **Expected:** A promotion dialog or navigation to the promotion wizard. **Impact:** Users cannot initiate a promotion from the release detail page β a core workflow action is broken. --- ### ISSUE-011 β Security sub-pages carry wrong `