TenantAtlas/specs/042-inventory-dependencies-graph/spec.md
2026-01-07 14:58:39 +01:00

2.1 KiB

Feature Specification: Inventory Dependencies Graph

Feature Branch: feat/042-inventory-dependencies-graph
Created: 2026-01-07
Status: Draft

Purpose

Represent and surface dependency relationships between inventory items and foundational Intune objects so admins can understand blast radius and prerequisites.

User Scenarios & Testing

Scenario 1: View dependencies for an item

  • Given an inventory item
  • When the user opens its dependencies view
  • Then they can see inbound and outbound relationships (e.g., “uses”, “assigned to”, “scoped by”)

Scenario 2: Identify missing prerequisites

  • Given an item references a prerequisite object not present in inventory
  • When the user views dependencies
  • Then missing prerequisites are clearly indicated

Scenario 3: Filter dependencies by relationship type

  • Given multiple relationship types exist
  • When the user filters by relationship type
  • Then only matching edges are shown

Functional Requirements

  • FR1: Define a normalized set of relationship types.
  • FR2: Store dependency edges between inventory items and other objects (including non-inventory foundations when applicable).
  • FR3: Allow querying inbound/outbound edges for a given item.
  • FR4: Show missing prerequisites without requiring a separate “deleted” state in core inventory.
  • FR5: All dependency data is tenant-scoped and access-controlled.

Non-Functional Requirements

  • NFR1: Dependency extraction must be idempotent (re-runnable without duplicating edges).
  • NFR2: Dependency extraction must not fail an inventory sync run if an unknown/unsupported reference is encountered; it should record a safe warning.

Success Criteria

  • SC1: Admins can determine prerequisites and blast radius for an item in under 2 minutes.
  • SC2: For supported relationship types, dependency edges are consistent across re-runs (deterministic output).

Out of Scope

  • Automatic remediation.
  • Cross-tenant dependency graphs.
  • Program: specs/039-inventory-program/spec.md
  • Core: specs/040-inventory-core/spec.md