Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

73 lines
10 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[
{ "id": "T001", "description": "Unit: `DiagnosticsReport` schema includes required fields (summary, steps, recommendations, supportBundle).", "implemented": false, "featureIds": ["F005"] },
{ "id": "T002", "description": "Unit: diagnostics runner returns ordered steps with stable step ids.", "implemented": false, "featureIds": ["F005", "F008"] },
{ "id": "T003", "description": "Unit: redaction hides access token content and only exposes fingerprint/length.", "implemented": false, "featureIds": ["F007", "F003"] },
{ "id": "T004", "description": "Unit: redaction hides client secret values in all outputs and exports.", "implemented": false, "featureIds": ["F007", "F003"] },
{ "id": "T005", "description": "Unit: support bundle export redacts mailbox identifiers by default (configurable via option).", "implemented": false, "featureIds": ["F023", "F003"] },
{ "id": "T006", "description": "Unit: admin-only guard rejects non-admin invocation of diagnostics server entrypoint.", "implemented": false, "featureIds": ["F006", "F004"] },
{ "id": "T007", "description": "Integration: diagnostics entrypoint returns 404/validation error when providerId does not exist or is not a Microsoft provider.", "implemented": false, "featureIds": ["F004"] },
{ "id": "T008", "description": "Unit: each Graph request adds a unique `client-request-id` header.", "implemented": false, "featureIds": ["F009", "F008"] },
{ "id": "T009", "description": "Unit: Graph `request-id` is captured from success responses and surfaced in step details.", "implemented": false, "featureIds": ["F009"] },
{ "id": "T010", "description": "Unit: Graph `request-id` is captured from error responses and surfaced in step details.", "implemented": false, "featureIds": ["F009"] },
{ "id": "T011", "description": "Unit: token-exists step returns fail when provider has no stored tokens.", "implemented": false, "featureIds": ["F010"] },
{ "id": "T012", "description": "Unit: token-expiry step returns warn when expiry is unknown; pass when expiry is in the future; warn/fail when expired.", "implemented": false, "featureIds": ["F010"] },
{ "id": "T013", "description": "Unit: token-claims step extracts `tid` and delegated `scp` claim when present.", "implemented": false, "featureIds": ["F011"] },
{ "id": "T014", "description": "Unit: token-claims step handles missing/invalid JWT gracefully (warn + recommendation).", "implemented": false, "featureIds": ["F011", "F019"] },
{ "id": "T015", "description": "Integration: `/me` step passes and records principal identifiers when Graph returns 200.", "implemented": false, "featureIds": ["F012"] },
{ "id": "T016", "description": "Integration: `/me` step fails with 401 and produces recommendation to re-authorize when token is invalid/expired.", "implemented": false, "featureIds": ["F012", "F019", "F020"] },
{ "id": "T017", "description": "Unit: mailbox base path decision chooses `/me` when configured mailbox equals authenticated user email (case-insensitive).", "implemented": false, "featureIds": ["F013"] },
{ "id": "T018", "description": "Unit: mailbox base path decision chooses `/users/{mailbox}` when configured mailbox differs from authenticated user email.", "implemented": false, "featureIds": ["F013"] },
{ "id": "T019", "description": "Unit: mailbox base path decision records rationale in step details for the UI.", "implemented": false, "featureIds": ["F013", "F002"] },
{ "id": "T020", "description": "Integration: mailbox directory existence check passes when `GET /users/{mailbox}` returns 200.", "implemented": false, "featureIds": ["F014"] },
{ "id": "T021", "description": "Integration: mailbox directory existence check classifies 404 as mailbox not found and recommends verifying mailbox address/tenant.", "implemented": false, "featureIds": ["F014", "F019", "F020"] },
{ "id": "T022", "description": "Integration: mailbox directory existence check classifies 403 as insufficient directory permission and recommends verifying delegated access.", "implemented": false, "featureIds": ["F014", "F019", "F020"] },
{ "id": "T023", "description": "Integration: Inbox well-known folder check uses `.../mailFolders/inbox` and passes when folder exists.", "implemented": false, "featureIds": ["F015"] },
{ "id": "T024", "description": "Integration: Inbox check failing with 404 store not found yields recommendation about mailbox type/provisioning.", "implemented": false, "featureIds": ["F015", "F019", "F020"] },
{ "id": "T025", "description": "Integration: Inbox check failing with 403 yields recommendation about shared mailbox permissions.", "implemented": false, "featureIds": ["F015", "F019", "F020"] },
{ "id": "T026", "description": "Integration: folder enumeration returns a non-empty list when mailbox folder access is available.", "implemented": false, "featureIds": ["F016"] },
{ "id": "T027", "description": "Integration: folder enumeration gracefully handles large folder sets via `$top` and reports truncation.", "implemented": false, "featureIds": ["F016", "F002"] },
{ "id": "T028", "description": "Integration: folder enumeration failing due to permission produces a targeted recommendation.", "implemented": false, "featureIds": ["F016", "F019", "F020"] },
{ "id": "T029", "description": "Unit: configured folder resolution matches by well-known name mapping (Inbox, SentItems, DeletedItems, etc.).", "implemented": false, "featureIds": ["F017"] },
{ "id": "T030", "description": "Unit: configured folder resolution matches by displayName case-insensitively when listing results include the folder.", "implemented": false, "featureIds": ["F017"] },
{ "id": "T031", "description": "Unit: configured folder resolution reports fail + recommendation when configured folder cannot be resolved.", "implemented": false, "featureIds": ["F017", "F020"] },
{ "id": "T032", "description": "Integration: message preflight GET succeeds for target resource and reports `messagesReadable=true`.", "implemented": false, "featureIds": ["F018"] },
{ "id": "T033", "description": "Integration: message preflight 403 yields recommendation about missing `Mail.Read`/mailbox access.", "implemented": false, "featureIds": ["F018", "F019", "F020"] },
{ "id": "T034", "description": "Integration: message preflight 404 yields recommendation about folder id/name mismatch or mailbox store not provisioned.", "implemented": false, "featureIds": ["F018", "F019", "F020"] },
{ "id": "T035", "description": "Unit: error classification maps 401 to re-authorize recommendation.", "implemented": false, "featureIds": ["F019", "F020"] },
{ "id": "T036", "description": "Unit: error classification maps 403 to insufficient permissions recommendation and mentions shared mailbox delegation.", "implemented": false, "featureIds": ["F019", "F020"] },
{ "id": "T037", "description": "Unit: error classification maps 404 mailbox-not-found to verify mailbox/tenant recommendation.", "implemented": false, "featureIds": ["F019", "F020"] },
{ "id": "T038", "description": "Unit: error classification maps 404 inbox/store-not-found to mailbox not provisioned / wrong object type recommendation.", "implemented": false, "featureIds": ["F019", "F020"] },
{ "id": "T039", "description": "Unit: error classification maps 429 to throttling warning and suggests retry/backoff.", "implemented": false, "featureIds": ["F019", "F021", "F020"] },
{ "id": "T040", "description": "Unit: recommendations deduplicate across multiple failing steps.", "implemented": false, "featureIds": ["F020"] },
{ "id": "T041", "description": "Unit: support bundle includes key facts (tenant id, provider id, mailbox base path, folder, notification URL) with secrets redacted.", "implemented": false, "featureIds": ["F027", "F003"] },
{ "id": "T042", "description": "Unit: support bundle includes step-level correlation IDs (`request-id`, `client-request-id`) where available.", "implemented": false, "featureIds": ["F022", "F009", "F003"] },
{ "id": "T043", "description": "E2E/UI: diagnostics button appears only for Microsoft providers and only for admin users.", "implemented": false, "featureIds": ["F001", "F006"] },
{ "id": "T044", "description": "E2E/UI: checklist renders with correct ordering and status icons for pass/warn/fail.", "implemented": false, "featureIds": ["F002"] },
{ "id": "T045", "description": "E2E/UI: expandable step details shows sanitized request context (method/path) and error code/status when failing.", "implemented": false, "featureIds": ["F002", "F027"] },
{ "id": "T046", "description": "E2E/UI: “Copy support bundle” copies a valid JSON blob and does not include raw token values.", "implemented": false, "featureIds": ["F003", "F007"] },
{ "id": "T047", "description": "E2E/UI: mailbox+folder+resource string is shown and copyable for support.", "implemented": false, "featureIds": ["F025"] },
{ "id": "T048", "description": "E2E/UI: help panel displays Microsoft 365 prerequisites and common fixes.", "implemented": false, "featureIds": ["F028"] },
{ "id": "T049", "description": "Unit: concurrency guard prevents running two diagnostics simultaneously for the same provider.", "implemented": false, "featureIds": ["F021"] },
{ "id": "T050", "description": "Unit: concurrency guard rate-limits repeated diagnostics runs per tenant.", "implemented": false, "featureIds": ["F021"] },
{ "id": "T051", "description": "Unit: baseline `/me` check result is clearly separated from shared mailbox checks in the report.", "implemented": false, "featureIds": ["F024", "F002"] },
{ "id": "T052", "description": "Integration: if `/me` passes but shared mailbox checks fail, recommendations explicitly point to shared mailbox permission configuration.", "implemented": false, "featureIds": ["F024", "F020"] },
{ "id": "T053", "description": "Unit: step logging includes provider id, tenant id, step id, duration, and sanitized outcome fields.", "implemented": false, "featureIds": ["F022"] },
{ "id": "T054", "description": "Unit: Graph request IDs are displayed prominently in UI for failing steps.", "implemented": false, "featureIds": ["F022", "F002"] },
{ "id": "T055", "description": "Integration (optional): live subscription test create+delete succeeds when enabled and does not leave residual subscriptions.", "implemented": false, "featureIds": ["F026"] }
]