TenantAtlas/specs/283-provider-capability-registry/checklists/requirements.md
ahmido 1debe40ced feat: implement provider capability registry (#342)
## Summary
- implement the provider capability registry and derived capability evaluation flow
- update provider connections, onboarding, required-permissions diagnostics, and provider blocker translation to use capability-first summaries
- add bounded unit, feature, and browser test coverage plus the prepared Spec 283 artifacts

## Notes
- branch: `283-provider-capability-registry`
- commit: `74e75c3e`
- no additional validation commands were run in this git/PR flow step

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #342
2026-05-08 21:17:05 +00:00

65 lines
5.4 KiB
Markdown

# Specification Quality Checklist: Provider Capability Registry
**Purpose**: Validate package completeness, boundedness, and readiness before implementation
**Created**: 2026-05-08
**Feature**: [spec.md](../spec.md)
## Content Quality
- [x] The package stays on reserved slot `283` and does not silently absorb work from Specs `284` through `287`.
- [x] The package explicitly documents that provider capability state is derived and does not introduce a provider-capability table or ledger.
- [x] The package narrows the raw candidate's broader example capability keys to workflows already present in repo truth.
- [x] The package keeps raw Graph permission names and Intune RBAC detail as provider-owned evidence rather than the primary operator vocabulary.
- [x] `plan.md`, `research.md`, `data-model.md`, `quickstart.md`, and the logical contract all describe the same bounded slice.
## Requirement Completeness
- [x] No `[NEEDS CLARIFICATION]` markers remain in `spec.md`, `plan.md`, `research.md`, `data-model.md`, or `quickstart.md`.
- [x] Requirements remain testable and bounded to current provider-backed workflows and current operator surfaces.
- [x] The capability-key inventory, status family, and derived-truth posture are explicit across the package.
- [x] The canonical initial capability inventory is pinned identically across `spec.md`, `plan.md`, `data-model.md`, `tasks.md`, and the logical contract.
- [x] Scope boundaries, assumptions, risks, and deferred adjacent candidates remain explicit.
## Repo Truth Anchoring
- [x] The package reflects that `ProviderConnectionResource` already exists, stays non-globally-searchable, and already has View and Edit pages.
- [x] The package reflects that `TenantRequiredPermissions` already exists as the canonical diagnostic deep dive.
- [x] The package reflects that `ProviderOperationRegistry` currently maps operation types but not provider application capabilities.
- [x] The package reflects that `ProviderOperationStartGate`, `ProviderReasonTranslator`, onboarding readiness, and required-permissions diagnostics already consume overlapping prerequisite truth.
- [x] The package reflects that `ProviderConnection` already stores consent, verification, and granted-scope inputs, so new capability persistence is unnecessary.
## Feature Readiness
- [x] Filament v5 and Livewire v4 expectations remain explicit across the package.
- [x] Provider registration location remains explicit as `apps/platform/bootstrap/providers.php`.
- [x] `ProviderConnectionResource` global-search posture and destructive-action notes remain explicit.
- [x] The unchanged asset strategy remains explicit.
- [x] The implementation prerequisite from Spec `281` remains explicit.
- [x] The test strategy and minimal proving commands are explicit and aligned across artifacts.
## Artifact Alignment
- [x] `research.md` records the same bounded derivation decisions reflected in `plan.md`.
- [x] `data-model.md` models the same capability definition, result, grouped diagnostic view, onboarding assist, support explanation, and operation-gate contracts reflected in the spec and plan.
- [x] `quickstart.md` uses the same reviewer flow and proof commands as `spec.md` and `plan.md`.
- [x] `contracts/provider-capability-registry.logical.openapi.yaml` models the same capability summary, diagnostic grouping, onboarding assist, support explanation, and operation-gate contracts described in the plan.
- [x] Canonical proof commands match across `spec.md`, `plan.md`, and `quickstart.md`.
## Test Governance
- [x] Planned proof stays bounded to focused unit tests, feature tests, and one browser smoke.
- [x] No new heavy-governance family or broad browser matrix is introduced.
- [x] Workspace, managed-environment, provider-connection, and permission-evidence fixture cost is acknowledged instead of hidden.
- [x] Reviewer handoff includes exact minimal validation commands and concrete stop questions.
## Notes
- Reviewed against `.specify/memory/constitution.md`, `docs/product/spec-candidates.md`, `docs/product/roadmap.md`, `specs/281-provider-connection-scope/spec.md`, `apps/platform/app/Models/ProviderConnection.php`, `apps/platform/app/Services/Providers/ProviderOperationRegistry.php`, `apps/platform/app/Services/Providers/ProviderOperationStartGate.php`, `apps/platform/app/Support/Providers/ProviderReasonTranslator.php`, `apps/platform/app/Support/Verification/TenantPermissionCheckClusters.php`, `apps/platform/app/Services/Intune/TenantRequiredPermissionsViewModelBuilder.php`, `apps/platform/app/Filament/Pages/TenantRequiredPermissions.php`, `apps/platform/app/Filament/Pages/Workspaces/ManagedTenantOnboardingWizard.php`, `apps/platform/app/Filament/Resources/ProviderConnectionResource.php`, `apps/platform/app/Support/Links/RequiredPermissionsLinks.php`, `apps/platform/app/Support/ProductKnowledge/ContextualHelpCatalog.php`, `apps/platform/app/Support/ProductKnowledge/ContextualHelpResolver.php`, and `apps/platform/config/provider_boundaries.php` on 2026-05-08.
- No application implementation, test execution, or runtime validation was performed while preparing this package.
## Review Outcome
- **Outcome class**: `implementation-ready`
- **Workflow outcome**: `keep`
- **Test-governance outcome**: `keep`
- **Reason**: The package turns the reserved capability-registry slot into an implementation-ready, repo-grounded slice that standardizes provider workflow capability truth without adding persistence or widening into adjacent cutover work.