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

5.4 KiB

Specification Quality Checklist: Provider Capability Registry

Purpose: Validate package completeness, boundedness, and readiness before implementation
Created: 2026-05-08
Feature: spec.md

Content Quality

  • The package stays on reserved slot 283 and does not silently absorb work from Specs 284 through 287.
  • The package explicitly documents that provider capability state is derived and does not introduce a provider-capability table or ledger.
  • The package narrows the raw candidate's broader example capability keys to workflows already present in repo truth.
  • The package keeps raw Graph permission names and Intune RBAC detail as provider-owned evidence rather than the primary operator vocabulary.
  • plan.md, research.md, data-model.md, quickstart.md, and the logical contract all describe the same bounded slice.

Requirement Completeness

  • No [NEEDS CLARIFICATION] markers remain in spec.md, plan.md, research.md, data-model.md, or quickstart.md.
  • Requirements remain testable and bounded to current provider-backed workflows and current operator surfaces.
  • The capability-key inventory, status family, and derived-truth posture are explicit across the package.
  • The canonical initial capability inventory is pinned identically across spec.md, plan.md, data-model.md, tasks.md, and the logical contract.
  • Scope boundaries, assumptions, risks, and deferred adjacent candidates remain explicit.

Repo Truth Anchoring

  • The package reflects that ProviderConnectionResource already exists, stays non-globally-searchable, and already has View and Edit pages.
  • The package reflects that TenantRequiredPermissions already exists as the canonical diagnostic deep dive.
  • The package reflects that ProviderOperationRegistry currently maps operation types but not provider application capabilities.
  • The package reflects that ProviderOperationStartGate, ProviderReasonTranslator, onboarding readiness, and required-permissions diagnostics already consume overlapping prerequisite truth.
  • The package reflects that ProviderConnection already stores consent, verification, and granted-scope inputs, so new capability persistence is unnecessary.

Feature Readiness

  • Filament v5 and Livewire v4 expectations remain explicit across the package.
  • Provider registration location remains explicit as apps/platform/bootstrap/providers.php.
  • ProviderConnectionResource global-search posture and destructive-action notes remain explicit.
  • The unchanged asset strategy remains explicit.
  • The implementation prerequisite from Spec 281 remains explicit.
  • The test strategy and minimal proving commands are explicit and aligned across artifacts.

Artifact Alignment

  • research.md records the same bounded derivation decisions reflected in plan.md.
  • 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.
  • quickstart.md uses the same reviewer flow and proof commands as spec.md and plan.md.
  • 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.
  • Canonical proof commands match across spec.md, plan.md, and quickstart.md.

Test Governance

  • Planned proof stays bounded to focused unit tests, feature tests, and one browser smoke.
  • No new heavy-governance family or broad browser matrix is introduced.
  • Workspace, managed-environment, provider-connection, and permission-evidence fixture cost is acknowledged instead of hidden.
  • 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.