TenantAtlas/specs/039-inventory-program/spec.md
2026-01-07 14:58:39 +01:00

2.5 KiB
Raw Blame History

Feature Specification: Inventory Program (Meta)

Feature Branch: feat/039-inventory-program
Created: 2026-01-07
Status: Draft

Purpose

This is an epic/program-level specification that anchors vision, scope, principles, and a roadmap for an Inventory-first approach across TenantPilot.

This document is intentionally non-implementation and does not require immediate code changes.

Program Goals

  • Establish Inventory as the primary substrate for analysis, reporting, monitoring, and UI navigation (Inventory is “last observed”, not absolute Intune truth).
  • Maintain immutable snapshots/backups as explicit actions (manual/scheduled), separate from inventory sync.
  • Provide a config-driven coverage/support matrix across policy types (backup/restore/risk/support).
  • Build toward dependency visibility, cross-tenant comparison/promotion, and drift detection.

Key Definitions

  • Inventory: TenantPilots last observed catalog of Intune objects (mutable; updated by sync runs).
  • Snapshot/Backup: Immutable capture of an objects payload for versioning/restore (explicit action).
  • Coverage/Support Matrix: Derived view describing support level (backup/restore/risk) per policy type.

Data Domains

  • Inventory Items
  • Sync Runs (observability)
  • Support/Capabilities derived from contracts/config
  • Dependencies (links between inventory items and foundation objects)
  • Cross-tenant context (explicit and access-checked)

Principles (Program-level)

  • Inventory-first, snapshots-second
  • Read/write separation by default (preview + confirmation + audit + tests for writes)
  • Single contract path to Graph
  • Deterministic capabilities
  • Tenant isolation is non-negotiable
  • Automation is idempotent & observable (locks, run records, stable error codes)
  • Data minimization & safe logging

Roadmap / Decomposition

  • Spec 040 — Inventory Core: inventory items + sync runs + deterministic selection + missing semantics
  • Spec 041 — Inventory UI: inventory lists, coverage matrix, sync runs UI, policy viewer
  • Spec 042 — Dependencies Graph: inventory_links and dependency views (assignments/scope tags/filters first)
  • Spec 043 — Cross-tenant Compare & Promotion: read-only compare first; gated promotion later
  • Spec 044 — Drift MVP: drift findings based on inventory/run metadata and optional hashes

Non-Goals

  • This meta spec does not define concrete schemas or endpoints.
  • This meta spec does not introduce new write paths (promotion/remediation) without dedicated feature specs.