feat: add Reachability Center and Why Drawer components with tests
Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled

- Implemented ReachabilityCenterComponent for displaying asset reachability status with summary and filtering options.
- Added ReachabilityWhyDrawerComponent to show detailed reachability evidence and call paths.
- Created unit tests for both components to ensure functionality and correctness.
- Updated accessibility test results for the new components.
This commit is contained in:
master
2025-12-12 18:50:35 +02:00
parent efaf3cb789
commit 3f3473ee3a
320 changed files with 10635 additions and 3677 deletions

View File

@@ -0,0 +1,31 @@
# Advisory Gateway Contract (draft v0.1)
Scope: proxy Advisory surfaces through the Web gateway with tenant scoping, deterministic responses, ETag caching, and offline-friendly pagination.
## Security / headers
- `Authorization: Bearer <token>` (or `DPoP` where configured)
- `X-StellaOps-Tenant: <tenantId>` (required)
- `X-Stella-Project: <projectId>` (optional)
- `X-Stella-Trace-Id: <traceId>` (optional; clients SHOULD send one)
- Scopes: `advisory:read`
## Endpoints
- `GET /advisories` — list advisories (tenant-scoped).
- Query params: `search`, `severity`, `sortBy`, `sortOrder`, `limit`, `continuationToken`
- Response: `AdvisoryListResponse` (see sample)
- `GET /advisories/{advisoryId}` — advisory detail (tenant-scoped).
## Caching & pagination
- `limit` max: `200`.
- Cursor/paging uses `continuationToken` (opaque string).
- `ETag` MUST be a stable hash over a sorted payload; clients MAY send `If-None-Match`.
- Recommended headers: `Cache-Control: private, max-age=60, stale-if-error=300`.
## Determinism rules
- Ordering: `items` sorted by `(advisoryId asc)` unless `sortBy` is supplied; ties break by `advisoryId`.
- Timestamps: ISO-8601 UTC.
## Samples
- `docs/api/gateway/samples/advisories-list.json`
- `docs/api/gateway/samples/advisory-detail.json`