TenantAtlas/specs/301-admin-inventory-navigation-cutover/checklists/requirements.md
ahmido 3a30b9060c feat(specs/301): admin inventory navigation cutover (#356)
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
2026-05-14 14:50:08 +00:00

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, and tasks.md carry the same native Filament navigation classification, shared-family relevance, and no-exception decision.

Candidate Selection

  • The selected candidate exists in docs/product/spec-candidates.md as admin-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, and tenant-panel-dead-code-retirement.
  • Related completed or close-out specs 279 through 300 are 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.
  • InventoryItemResource has a View page, so global search destination eligibility remains satisfied if global search is enabled.
  • InventoryCoverage is a Page, not a globally searchable Resource.
  • No destructive actions are introduced or changed.
  • No assets are registered; deploy filament:assets posture 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.