## Summary - separate provider-missing policy presence from local ignore semantics by introducing `missing_from_provider_at` - update policy, backup, and restore surfaces so current-state capture stays honest while historical restore continuity remains available - add focused sync, Filament, backup, restore, localization, and badge coverage for the new provider-missing behavior ## Scope - policy sync and model truth - policy resource visibility, badges, labels, and action gating - backup/export eligibility and restore continuity messaging - spec 261 artifacts and focused tests ## Validation - feature-specific Pest coverage is included in the branch - validation was not re-run as part of this commit/push/PR handoff Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #316
50 lines
3.8 KiB
Markdown
50 lines
3.8 KiB
Markdown
# Specification Quality Checklist: Provider-Missing Policy Visibility & Restore Continuity v1
|
|
|
|
**Purpose**: Validate the spec package before implementation planning and task execution
|
|
**Created**: 2026-05-01
|
|
**Feature**: [spec.md](../spec.md)
|
|
|
|
## Content Quality
|
|
|
|
- [x] The spec stays on one bounded policy-only provider-presence correction and does not drift into workspace/tenant lifecycle governance
|
|
- [x] Mandatory repo sections are completed, including candidate check, scope fields, cross-cutting reuse, provider boundary, guardrails, proportionality, and testing impact
|
|
- [x] Candidate selection is grounded in repo reality as well as product docs, including the already-prepared Specs 251-260 and the documented narrower lifecycle follow-up
|
|
- [x] No implementation diff leaks into the feature contract beyond concrete repo surfaces needed for local fit
|
|
|
|
## Requirement Completeness
|
|
|
|
- [x] No `[NEEDS CLARIFICATION]` markers remain
|
|
- [x] Functional requirements are testable and bounded
|
|
- [x] Success criteria are measurable and behavior-focused
|
|
- [x] Acceptance scenarios cover current-state policy truth, backup eligibility, restore continuity, and reappearance behavior
|
|
- [x] Edge cases cover ignored-plus-missing overlap, supported-type reclassification, and historical backup continuity
|
|
- [x] Dependencies, assumptions, and risks are explicit
|
|
|
|
## Guardrail & Surface Fit
|
|
|
|
- [x] The spec, plan, and package keep the same native Filament classification, shared-family relevance, and surface-role hierarchy for policy, backup, and restore screens
|
|
- [x] `ignored_at` is explicitly reserved for local suppression and `missing_from_provider_at` is the only new provider-presence truth proposed
|
|
- [x] Combined-state filter membership and blocked-reason precedence are explicit across the spec, data model, plan, and conceptual contract
|
|
- [x] Decision-first obligations are explicit for changed surfaces: one dominant next action, diagnostics-secondary ordering, hidden/capability-gated support detail, and no duplicate visible decision summary
|
|
- [x] No new page, panel, provider, asset strategy, lifecycle engine, or SoftDeletes path is introduced
|
|
- [x] OperationRun impact is explicitly bounded to existing sync/backup start surfaces with no new run type
|
|
- [x] Provider-specific semantics stay inside sync interpretation rather than leaking into platform-core operator vocabulary
|
|
|
|
## Test Governance
|
|
|
|
- [x] Planned validation stays in focused `fast-feedback` and `confidence` lanes only
|
|
- [x] The package reuses existing policy, backup, restore, and badge test families instead of introducing browser or heavy-governance proof
|
|
- [x] The US2 proving suite is aligned across spec, plan, quickstart, and tasks
|
|
- [x] Reviewer handoff and narrow Sail commands are explicit in the plan and quickstart artifacts
|
|
|
|
## Notes
|
|
|
|
- Reviewed against `docs/product/spec-candidates.md`, `docs/product/roadmap.md`, `docs/product/implementation-ledger.md`, `.specify/memory/constitution.md`, `apps/platform/app/Models/Policy.php`, `apps/platform/app/Services/Intune/PolicySyncService.php`, `apps/platform/app/Services/Intune/BackupService.php`, `apps/platform/app/Filament/Resources/PolicyResource.php`, `apps/platform/app/Filament/Resources/RestoreRunResource.php`, and the related sync/backup/restore tests on 2026-05-01.
|
|
- No application implementation was performed while preparing this spec package.
|
|
|
|
## Review Outcome
|
|
|
|
- **Outcome class**: `acceptable-special-case`
|
|
- **Outcome**: `keep`
|
|
- **Reason**: The package intentionally pulls one documented narrow follow-up ahead of the full lifecycle taxonomy, but it stays policy-only, uses one aligned proving suite, makes the combined-state contract explicit, reuses existing shared seams, and fixes a repo-visible truth bug without importing the broader lifecycle framework.
|
|
- **Workflow result**: Ready for implementation planning and task execution |