azurenoops / azurenoops/spin_agent
[BUG] [Dashboard/System] - Coastal Watch system detail fails to load ('Failed to load system detail') — cross-org system inaccessible via direct URL
- Dominant language
- C#
- Stars
- 3
- Forks
- 1
- Avg merge
- 18h 9m
- Merged PRs (30d)
- 43
Description
## Bug Description
Navigating directly to the Coastal Watch system detail page (`/systems/92afdc15-bc6f-4648-8073-ad6af396cf97`) produces a blank page with the error message **"Failed to load system detail"**. The system exists in the MCP backend (confirmed via `compliance_get_system` response), but the UI cannot render it.
**Root cause hypothesis:** The v2 flankspeed dashboard operates in an org-centric context (currently locked to PEO-790 org). Coastal Watch (ID: `92afdc15-bc6f-4648-8073-ad6af396cf97`, created 2026-06-11) belongs to a different organization not currently accessible in the browser session. Direct URL navigation to the system detail page fails silently with "Failed to load system detail" instead of offering org-switching or a meaningful error.
This blocks **all sub-page testing** for the primary QA test system (Coastal Watch) used across QA sweeps.
## Steps to Reproduce
1. Navigate to `https://ca-ato-copilot-dashboard-v2.blackwater-9393aa1a.centralus.azurecontainerapps.io/systems/92afdc15-bc6f-4648-8073-ad6af396cf97`
2. Observe: Page loads but main content area shows only "Failed to load system detail" (red text)
3. Navigate to `/systems` (CSP view) — Coastal Watch is NOT listed (only 19 PEO-790 systems shown)
4. MCP API confirms system exists: `compliance_get_system` returns Coastal Watch details (Enclave type, MissionSupport, AzureGovernment, Prepare phase)
## Expected Behavior
- System detail page should load for a valid system GUID, OR
- Provide a meaningful error with org-switching prompt, OR
- The Global /systems CSP view should show ALL orgs' systems and allow cross-org access
## Actual Behavior
- "Failed to load system detail" error displayed — no actionable recovery path
- System is invisible in PEO-790-scoped org context
- MCP API still has access to the system (backend works; UI org-scoping is too restrictive)
## Impact
- **Critical for QA:** Primary QA test system (Coastal Watch) is completely inaccessible via UI
- All UI sub-page tests (mission profile, narratives, assessments, etc.) cannot be run against Coastal Watch
- Users who know a system GUID from a bookmark or shared URL get a dead-end error with no guidance
## Screenshot
`Failed to load system detail` — full-page blank with red error text in main content area.
## Console Errors
No JavaScript errors. HTTP 200 returned for the page (SPA routing). Backend API call to load system detail fails silently.
## Browser/Environment
Azure Container Apps Dashboard (v2 — flankspeed org-centric model)
Browser: Chromium (Playwright/Hermes browser)
Date: 2026-07-07T00:44:16Z
Sweep: Automated 4-hour QA sweep
## Additional Context
- **MCP confirms system exists:** `{"name": "Coastal Watch", "acronym": "COASTAL", "type": "Enclave", "phase": "Prepare", "created": "2026-06-11"}`
- **MCP total systems:** 63 (cross-org)
- **UI systems shown:** 19 (PEO-790 only)
- **Coastal Watch org:** Unknown — not in PEO-790 or CSP view
- Related to: #587 (v2 org-centric model re-validation)
## Playwright Test Code
```typescript
test('[system-detail] direct GUID navigation shows error for cross-org system', async ({ page }) => {
await page.goto('/systems/92afdc15-bc6f-4648-8073-ad6af396cf97');
await page.waitForLoadState('networkidle');
// This should either load OR offer org-switch — currently shows error
const errorText = page.locator('text=Failed to load system detail');
await expect(errorText).not.toBeVisible(); // FAILS
// System should appear in cross-org /systems view
await page.goto('/systems');
await expect(page.locator('text=Coastal Watch')).toBeVisible(); // FAILS
});
```
*Filed by Oracle — Automated 4-hour QA Sweep 2026-07-07T00:44:16Z*
Contributor guide
Assessment
This issue has not been assessed yet.