2.0 KiB
2.0 KiB
Tasks: Inventory Dependencies Graph
Schema & Data Model
- T001 Define relationship taxonomy (enum or config) with display labels, directionality, descriptions
- T002 Create
inventory_linksmigration with unique constraint + indexes - T003 Create
InventoryLinkmodel + factory
Extraction Pipeline
- T004 Implement
DependencyExtractionService(normalize references, resolve targets, create edges) - T005 Add reference parsers for
assigned_to,scoped_by,targets,depends_on - T006 Integrate extraction into
InventorySyncService(post-item-creation hook) - T007 Implement 50-edge-per-direction limit with priority sorting
Query Services
- T008 Implement
DependencyQueryService::getOutboundEdges(item, type?, limit=50) - T009 Implement
DependencyQueryService::getInboundEdges(item, type?, limit=50) - T010 Ensure tenant-scoping enforced at query builder level
UI Components
- T011 Add "Dependencies" section to
InventoryItemResourceViewInventoryItem page - T012 Implement direction filter (single-select: all/inbound/outbound, default: all)
- T013 Create Blade view
dependency-edges.blade.php(zero-state, missing badge, tooltip) - T014 Add relationship-type grouping/collapsible sections
Tests
- T015 Unit:
DependencyExtractionServiceTest(determinism, unique key, unsupported refs) - T016 Unit:
InventoryLinkTest(unique constraint, tenant scoping) - T017 Feature: extraction creates expected edges + handles missing targets
- T018 Feature: extraction respects 50-edge limit
- T019 Feature:
DependencyQueryServicefilters by tenant + direction - T020 UI Smoke: dependencies section renders + filter works + zero-state shown
- T021 Security: tenant isolation (cannot see other tenant edges)
Finalization
- T022 Run full test suite (
php artisan test)
Note: Attempted; blocked by unrelated legacy test configuration error. - T023 Run Pint (
vendor/bin/pint) - T024 Update checklist items in
checklists/pr-gate.md