Implements platform feature branch `301-admin-inventory-navigation-cutover`. Target branch: `platform-dev`. Follow-up integration path after merge: `platform-dev` → `dev`. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #356
90 lines
5.3 KiB
Markdown
90 lines
5.3 KiB
Markdown
# Requirements Checklist: Admin Inventory Navigation Cutover
|
|
|
|
**Purpose**: Validate that the Spec 301 preparation package is complete, bounded, and ready for implementation.
|
|
**Created**: 2026-05-14
|
|
**Feature**: [spec.md](../spec.md)
|
|
|
|
## Applicability And Low-Impact Gate
|
|
|
|
- [x] The package explicitly changes an operator-facing navigation surface and does not use a false low-impact `N/A`.
|
|
- [x] `spec.md`, `plan.md`, and `tasks.md` carry the same native Filament navigation classification, shared-family relevance, and no-exception decision.
|
|
|
|
## Candidate Selection
|
|
|
|
- [x] The selected candidate exists in `docs/product/spec-candidates.md` as `admin-inventory-navigation-cutover`.
|
|
- [x] The candidate was explicitly manually promoted by the user and assigned number `301`.
|
|
- [x] The selected slice is the first recommended item in the Admin Workspace Navigation & Tenant-owned Surface Repair group.
|
|
- [x] Close alternatives are deferred: `tenant-owned-surface-route-audit`, `admin-directory-groups-cutover`, `navigation-contract-split`, and `tenant-panel-dead-code-retirement`.
|
|
- [x] Related completed or close-out specs `279` through `300` are context only and are not modified.
|
|
|
|
## Scope And Requirements
|
|
|
|
- [x] The package stays on Inventory Items, Inventory Coverage, and Inventory cluster navigation only.
|
|
- [x] Workspace-home sidebar cleanliness remains an explicit negative-control requirement.
|
|
- [x] Environment-bound Inventory visibility is explicit and testable.
|
|
- [x] Inventory Coverage context resolution remains tied to the current canonical route/remembered-context contract.
|
|
- [x] Inventory Coverage canonical URL generation is explicitly required and covered by tasks.
|
|
- [x] Entra Groups are explicitly out of scope.
|
|
- [x] No new persistence, migration, model, service, job, provider contract, route family, asset, or OperationRun lifecycle is introduced.
|
|
|
|
## Native, Shared-Family, And State Ownership
|
|
|
|
- [x] The surface remains native Filament cluster/resource/page navigation.
|
|
- [x] The shared path to reuse is named as `NavigationScope::shouldRegisterEnvironmentNavigation()` plus existing workspace/environment route helpers.
|
|
- [x] Shell, page, route context, and Livewire referer-path ownership are named without introducing a second state owner.
|
|
- [x] The likely next operator action is coherent: open Inventory Items or Coverage from an environment-bound sidebar.
|
|
|
|
## Shared Pattern Reuse
|
|
|
|
- [x] The navigation interaction class is explicitly marked.
|
|
- [x] The package extends the existing navigation scope instead of adding a local Inventory navigation framework.
|
|
- [x] The package does not create a parallel UX language for tenant-owned surface navigation.
|
|
|
|
## OperationRun Start UX Contract
|
|
|
|
- [x] The package explicitly says it does not create, queue, deduplicate, resume, block, complete, or deep-link to a new `OperationRun`.
|
|
- [x] Existing Inventory Sync OperationRun behavior remains unchanged.
|
|
- [x] No queued or terminal notification policy changes are introduced.
|
|
|
|
## Provider Boundary And Vocabulary
|
|
|
|
- [x] The package explicitly says no shared provider/platform boundary is touched.
|
|
- [x] Provider-specific Inventory item metadata remains unchanged and does not spread into navigation truth.
|
|
- [x] Operator-visible terms remain workspace, environment, Inventory, and Coverage.
|
|
|
|
## Signals, Exceptions, And Test Depth
|
|
|
|
- [x] The triggered repository signal is classified as a review-mandatory Inventory navigation repair.
|
|
- [x] No bounded exception is needed.
|
|
- [x] The required surface profile is `standard-native-filament`.
|
|
- [x] Planned proof stays focused on Filament Feature tests plus one optional Browser smoke.
|
|
- [x] Fixture/helper cost remains low and reuses existing workspace/environment test helpers.
|
|
|
|
## Audience-Aware Disclosure And Decision Hierarchy
|
|
|
|
- [x] Navigation stays decision-light and opens existing Inventory pages instead of duplicating status summaries.
|
|
- [x] Workspace home remains workspace-level and avoids tenant-owned default-visible content.
|
|
- [x] Raw/support diagnostics remain inside existing Inventory pages and are not exposed through navigation.
|
|
- [x] Exactly one dominant navigation intent is preserved: open Inventory within the active environment.
|
|
|
|
## Filament v5 Checklist
|
|
|
|
- [x] Filament v5 targets Livewire v4.0+; this repo currently uses Livewire 4.1.4.
|
|
- [x] No provider registration changes are planned; existing providers remain registered in `apps/platform/bootstrap/providers.php`.
|
|
- [x] `InventoryItemResource` has a View page, so global search destination eligibility remains satisfied if global search is enabled.
|
|
- [x] `InventoryCoverage` is a Page, not a globally searchable Resource.
|
|
- [x] No destructive actions are introduced or changed.
|
|
- [x] No assets are registered; deploy `filament:assets` posture remains unchanged.
|
|
- [x] Planned tests target Filament navigation/resource/page behavior using Feature tests and a bounded Browser smoke if rendered sidebar proof is needed.
|
|
|
|
## Review Outcome
|
|
|
|
- [x] Review outcome class: `acceptable-special-case`.
|
|
- [x] Workflow outcome: `document-in-feature`.
|
|
- [x] Final note location: active feature PR close-out entry `Guardrail / Exception / Smoke Coverage`.
|
|
|
|
## Preparation Result
|
|
|
|
- No application implementation was performed while preparing this package.
|
|
- Spec Readiness Gate is expected to pass after artifact analysis confirms no placeholders, contradictions, or scope leaks remain.
|