TenantAtlas/specs/095-graph-contracts-registry-completeness/data-model.md
ahmido eec93b510a Spec 095: Graph contracts registry completeness + registry-backed call sites (#114)
Implements Spec 095.

What changed
- Registers 4 Graph resources in the contract registry (plus required subresource template)
- Refactors in-scope call sites to resolve Graph paths via the registry (no ad-hoc endpoints for these resources)
- Adds/updates regression tests to prevent future drift (missing registry entries and endpoint string reintroduction)
- Includes full SpecKit artifacts under specs/095-graph-contracts-registry-completeness/

Validation
- Focused tests:
  - `vendor/bin/sail artisan test --compact tests/Feature/Graph/GraphContractRegistryCoverageSpec095Test.php tests/Feature/SettingsCatalogDefinitionResolverTest.php`

Notes
- Livewire v4.0+ / Filament v5 compliant (no UI changes).
- No new routes/pages; no RBAC model changes.

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #114
2026-02-15 15:02:27 +00:00

858 B

Phase 1 — Data Model: Graph Contracts Registry Completeness

Summary

This feature introduces no new database entities and does not modify any existing schema.

Affected “Entities” (Configuration-only)

Although no database model changes occur, the feature affects the following configuration concepts:

  • Graph Contract Type: A named entry in config/graph_contracts.php representing a Microsoft Graph resource.
  • Graph Contract Subresource: A named sub-path template belonging to a contract type (used to model nested resources).

Ownership & Scope

  • Ownership: Workspace scope.
  • Persistence: Configuration only; no new tables/records.

Validation Rules

  • Contract type identifiers must be stable and used consistently in code.
  • Resource paths must be representable via the registry and reusable by call sites.