TenantAtlas/specs/105-entra-admin-roles-evidence-findings/checklists/requirements.md
Ahmed Darrazi 6b381e9517 feat: spec 105 — Entra Admin Roles scan, reports, findings, widget + summary UX improvement
- Entra admin roles scan job (ScanEntraAdminRolesJob)
- Report service with fingerprint deduplication
- Finding generator with high-privilege role catalog
- Admin roles summary widget on tenant view page
- Alert integration for entra.admin_roles findings
- Graph contracts for roleDefinitions + roleAssignments
- Entra permissions registry (config/entra_permissions.php)
- StoredReport fingerprint migration
- OperationCatalog label + duration for entra.admin_roles.scan
- SummaryCountsNormalizer: filter zeros, humanize keys globally
- 11 new test files (71+ tests, 286+ assertions)
- Spec + tasks + checklist updates
2026-02-22 03:35:46 +01:00

3.9 KiB

Specification Quality Checklist: Entra Admin Roles Evidence + Findings

Purpose: Validate specification completeness and quality before proceeding to implementation Created: 2026-02-21 Last Validated: 2026-02-22 (post-analysis remediation) Feature: spec.md

Content Quality

  • No implementation details (languages, frameworks, APIs) in user stories
  • Focused on user value and business needs
  • Written for non-technical stakeholders (user stories section)
  • All mandatory sections completed (Scope Fields, User Scenarios, Requirements, Success Criteria, UI Action Matrix)

Requirement Completeness

  • No [NEEDS CLARIFICATION] markers remain
  • Requirements are testable and unambiguous (21 FRs, each with MUST + verifiable condition)
  • Success criteria are measurable (SC-001 through SC-008 with quantitative metrics)
  • Success criteria are technology-agnostic (no framework/language references)
  • All acceptance scenarios are defined (6 user stories with 18 total acceptance scenarios)
  • Edge cases are identified (8 documented: partial data, service principals, group-assigned roles, scoped assignments, missing template_id, zero assignments, concurrent scans, threshold hardcode)
  • Scope is clearly bounded (Non-Goals section: no PIM, no remediation, no EvidenceItems, no RBAC refactor)
  • Dependencies and assumptions identified (Spec 104, Spec 099, Findings model, Graph RBAC API, no PIM, StoredReports retention)

Feature Readiness

  • All functional requirements have clear acceptance criteria (FRs map to acceptance scenarios in user stories)
  • User scenarios cover primary flows (scan → report → findings → alerts → UI)
  • Feature meets measurable outcomes defined in Success Criteria
  • No implementation details leak into specification (entities section describes domain concepts, not code)

Spec ↔ Plan ↔ Tasks Consistency (post-analysis)

  • No stale clarifications contradict plan/tasks (I1 remediated: migration Q&A corrected)
  • All 21 FRs have ≥1 implementation task (FR-021 is test-only; T035 confirms viewer rendering assumption first)
  • All success criteria are testable by ≥1 task (SC-005 now covered by T028(5); SC-006 backed by retention assumption; SC-008 deferred to staging)
  • Edge case: scoped assignments tested (T025(15) added)
  • Edge case: group = 1 principal tested (T025(11) covers principal types including group)
  • Posture score impact tested (T028(5) added)
  • Phase dependency D1 noted as advisory — US4 can start after Phase 2 (not blocked on Phase 4)

Constitution Alignment

  • Constitution alignment (required) — Graph contracts, safety gates, tenant isolation, run observability, tests
  • Constitution alignment (RBAC-UX) — authorization planes, 404/403 semantics, capability registry, authorization tests
  • Constitution alignment (OPS-EX-AUTH-001) — N/A documented
  • Constitution alignment (BADGE-001) — new finding type badge documented with test (T014)
  • Constitution alignment (Filament Action Surfaces) — UI Action Matrix completed; widget exemption documented
  • Constitution alignment (UX-001) — Exemption for no new Create/Edit pages documented

Notes

  • All items pass. Spec + plan + tasks are consistent and ready for /speckit.implement.
  • Plan.md and tasks.md have been written and validated against spec.
  • High-Privilege Role Catalog includes Microsoft well-known template IDs for v1 classification.
  • "Too many Global Admins" threshold is hardcoded at 5 with documented TODO for settings migration.
  • SC-008 (scan performance ≤30s / 200 assignments) is not testable in standard Pest suite — validate on staging.
  • FR-021 (report viewer) assumes existing viewer handles entra.admin_roles payload; T035 confirms this first.
  • StoredReports retention (default 90 days) is assumed to be handled by existing infrastructure (documented in Assumptions).