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