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

Open
#622 0 comments 0 reactions 1 assignee Claimed by @jrspinella View on GitHub
agent:oracle area:rmf bug priority:high
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.