Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions spec/SDD-Keylime-Monitoring-Tool.md
Original file line number Diff line number Diff line change
Expand Up @@ -1040,6 +1040,7 @@ Maximum 5 parallel concurrent log fetches to the Verifier API, enforced via Toki
| Explicit date format selection | Eliminates locale-dependent ambiguity (e.g., 04/05 = April 5 vs May 4); ISO 8601 default for cross-region consistency | FR-079 |
| Explicit time format selection (12h/24h) | Accommodates regional conventions (e.g., US 12-hour vs European 24-hour); 24h default avoids AM/PM ambiguity in operational contexts | FR-080 |
| Sidebar alert indicator for service outages | Surfaces integration health at a glance without navigating away; shares cached TanStack Query data with Integrations page to avoid extra requests | FR-081 |
| Agent UUID hyperlinks in failure list | One-click drill-down from failure to agent detail eliminates manual navigation; uses React Router `<Link>` for SPA navigation without full reload | FR-082 |

---

Expand Down Expand Up @@ -1139,6 +1140,7 @@ Maximum 5 parallel concurrent log fetches to the Verifier API, enforced via Toki
| FR-079 | 3.8.2 | `visualizationStore`: date format selection (6 formats), ISO 8601 default, applied to all timestamp rendering |
| FR-080 | 3.8.2 | `visualizationStore`: time format selection (12h/24h), 24h default, applied to all time-of-day rendering |
| FR-081 | 3.2.2 | `Sidebar.tsx`: `useHasServiceDown()` hook queries integration health, renders exclamation badge on Integrations nav item |
| FR-082 | 3.2.2 | Failure categorization list renders agent UUIDs as React Router `<Link>` to `/agents/{agent_id}` detail page |

### 6.2 Non-Functional Requirements

Expand Down
29 changes: 29 additions & 0 deletions spec/SRS-Keylime-Monitoring-Tool.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ The System transforms Keylime from a CLI-driven security tool into a visual oper
| FR-079 | Date format selection for timestamp rendering | MUST | Settings - Visualization |
| FR-080 | Time format selection (12h/24h) for timestamp rendering | MUST | Settings - Visualization |
| FR-081 | Sidebar alert indicator for integration service outages | MUST | Dashboard - Navigation Structure |
| FR-082 | Agent ID hyperlinks in failure categorization list | MUST | Attestation Analytics - Failure Categorization |

### 2.2 Non-Functional Requirements

Expand Down Expand Up @@ -2549,6 +2550,34 @@ Feature: Sidebar Alert Indicator for Integration Outages
Then the Integrations navigation item MUST NOT display an exclamation mark badge
```

### FR-082: Agent ID Hyperlinks in Failure Categorization List

**Description:** The System MUST render each agent UUID in the Attestation Analytics failure categorization list (FR-025) as a navigable hyperlink to the corresponding agent detail page (`/agents/{agent_id}`). The link text MUST display the agent UUID. Clicking the link MUST navigate the user to the agent detail view (FR-012) for the affected agent, enabling one-click drill-down from a failure entry to its agent context.

**Trace:** Attestation Analytics - Failure Categorization

```gherkin
Feature: Agent ID Hyperlinks in Failure Categorization

Scenario: Agent UUID renders as a hyperlink
Given the failure categorization list contains a failure for agent "abc-123"
When the list renders
Then the agent UUID "abc-123" MUST be displayed as a hyperlink
And the hyperlink target MUST be "/agents/abc-123"

Scenario: Clicking agent link navigates to agent detail
Given the failure categorization list displays a hyperlink for agent "abc-123"
When the user clicks the agent UUID hyperlink
Then the System MUST navigate to the agent detail page for "abc-123"
And the agent detail view (FR-012) MUST be displayed

Scenario: Multiple failures for different agents each link independently
Given the failure categorization list contains failures for agents "abc-123" and "def-456"
When the list renders
Then agent "abc-123" MUST link to "/agents/abc-123"
And agent "def-456" MUST link to "/agents/def-456"
```

---

## 4. Non-Functional Requirements Detail
Expand Down
Loading