Automated PR provided by Codex via Gitea API. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #469
85 lines
6.0 KiB
Markdown
85 lines
6.0 KiB
Markdown
# Requirements Checklist: Spec 398 - Decision Page Contract Migration v1
|
|
|
|
**Purpose**: Validate specification and preparation quality before implementation.
|
|
**Created**: 2026-06-22
|
|
**Feature**: `specs/398-decision-page-contract-migration/spec.md`
|
|
|
|
## Candidate Selection
|
|
|
|
- [x] CHK001 Selected candidate exists in user-provided source material and is not invented.
|
|
- [x] CHK002 Selected candidate is supported by repo truth: Spec 395 explicitly deferred a Decision Page Reduction Pass.
|
|
- [x] CHK003 Active auto-prep queue was checked; `docs/product/spec-candidates.md` says no safe automatic target remains, so this is treated as a manually provided candidate.
|
|
- [x] CHK004 Related specs were checked as context and are not being rewritten or converted back to preparation state.
|
|
- [x] CHK005 Close alternatives are deferred because they are manual-promotion only, already spec-backed, or outside the selected decision-page migration scope.
|
|
- [x] CHK006 The selected slice is bounded to existing Baseline Compare and Restore Preview / Readiness surfaces, with Risk Exception optional only if narrow.
|
|
|
|
## Content Quality
|
|
|
|
- [x] CHK007 Spec states the concrete operator problem and current failure mode.
|
|
- [x] CHK008 Spec explains user-visible improvement and business/product value.
|
|
- [x] CHK009 Primary users/operators are identified through user stories.
|
|
- [x] CHK010 User stories are prioritized and independently testable.
|
|
- [x] CHK011 Functional requirements are testable and use stable IDs.
|
|
- [x] CHK012 Non-functional, UX, RBAC/security, auditability/observability, and data/truth requirements are present.
|
|
- [x] CHK013 Out-of-scope boundaries are explicit and prevent scope creep.
|
|
- [x] CHK014 Acceptance criteria and success criteria are measurable enough for implementation close-out.
|
|
- [x] CHK015 Assumptions and open questions are documented, with no blocking open question.
|
|
|
|
## Product Surface Contract
|
|
|
|
- [x] CHK016 Spec references `docs/product/standards/product-surface-contract.md`.
|
|
- [x] CHK017 No-legacy posture is explicit: canonical replacement, no duplicate old/new decision UI, no compatibility toggle.
|
|
- [x] CHK018 Product Surface Impact names Decision Page / Wizard Page with Decision Sub-Surface archetypes, primary user questions, one-primary-action rule, surface budgets, technical demotion, status vocabulary, visible complexity outcome, and exceptions.
|
|
- [x] CHK019 Browser proof is required because rendered UI changes are expected.
|
|
- [x] CHK020 Human Product Sanity is required and has concrete review questions.
|
|
- [x] CHK021 Product Surface exceptions are `none planned`; any exception is a stop condition requiring spec/plan update.
|
|
- [x] CHK022 Completed historical specs must not be rewritten, normalized, reopened, or stripped of validation/browser/task history.
|
|
- [x] CHK023 UI Action Matrix names primary, secondary, technical/audit, dangerous/high-impact actions, and mutation scope for each target surface.
|
|
- [x] CHK024 UI coverage registry decision is explicit for route inventory, design coverage matrix, page reports, strategic surfaces, grouped follow-ups, and unresolved pages.
|
|
|
|
## Constitution And Architecture
|
|
|
|
- [x] CHK025 Spec has a completed Spec Candidate Check with approval class, score, red flags, and decision.
|
|
- [x] CHK026 Proportionality review confirms no new persisted entity, enum/status family, abstraction, registry, resolver, taxonomy, or broad UI framework is approved.
|
|
- [x] CHK027 Plan states no Graph calls, migrations, queues, env vars, storage changes, or package changes are expected.
|
|
- [x] CHK028 Plan names likely affected repo surfaces without requiring application edits during preparation.
|
|
- [x] CHK029 Workspace/tenant isolation and deny-as-not-found requirements are preserved.
|
|
- [x] CHK030 RBAC/security requirements state UI visibility is not authorization.
|
|
- [x] CHK031 OperationRun remains execution/evidence truth and no OperationRun lifecycle or notification behavior is changed.
|
|
- [x] CHK032 Data/truth-source requirements distinguish execution truth, artifact truth, backup/snapshot truth, recovery/evidence truth, and operator next action.
|
|
|
|
## Filament / Livewire / Actions
|
|
|
|
- [x] CHK033 Plan states Filament v5 / Livewire v4.1.4 compliance.
|
|
- [x] CHK034 Plan states Laravel 12 provider registration location: `apps/platform/bootstrap/providers.php`.
|
|
- [x] CHK035 Global search posture must remain safe for any changed resource.
|
|
- [x] CHK036 Destructive/high-impact actions must keep `->action(...)`, confirmation, authorization, audit where mutating, and tests if touched.
|
|
- [x] CHK037 Asset strategy is recorded: no new assets expected, `filament:assets` only if implementation registers assets.
|
|
- [x] CHK038 UI implementation must reuse native Filament and existing shared primitives before local Blade/CSS.
|
|
|
|
## Test Governance
|
|
|
|
- [x] CHK039 Test lanes are named: Unit only for pure helpers, Feature/Filament for page/action visibility, Browser for focused rendered decision proof.
|
|
- [x] CHK040 Browser proof is focused and fixture-bounded, not a broad visual regression suite.
|
|
- [x] CHK041 Planned validation commands are narrow and implementation must choose exact filters after discovery.
|
|
- [x] CHK042 Fixture/helper cost must stay explicit and minimal.
|
|
- [x] CHK043 Implementation report fields are specified in `plan.md`.
|
|
- [x] CHK044 Requirement coverage map includes both FR and NFR coverage.
|
|
|
|
## Readiness
|
|
|
|
- [x] CHK045 `spec.md` exists and is complete enough for implementation planning.
|
|
- [x] CHK046 `plan.md` exists and identifies likely affected surfaces, constraints, risks, phases, tests, rollout, and stop conditions.
|
|
- [x] CHK047 `tasks.md` exists and is ordered, scoped, testable, and suitable for a later implementation loop.
|
|
- [x] CHK048 Scope is small enough for a bounded implementation loop.
|
|
- [x] CHK049 No open question blocks safe implementation.
|
|
|
|
## Review Outcome
|
|
|
|
- [x] CHK050 Review outcome class: `acceptable-special-case`.
|
|
- [x] CHK051 Workflow outcome: `keep`.
|
|
|
|
## Notes
|
|
|
|
This checklist validates preparation only. It does not claim runtime UI reduction, test execution, browser verification, human product sanity completion, or implementation close-out.
|