33 lines
1.3 KiB
Markdown
33 lines
1.3 KiB
Markdown
# Implementation Plan: Inventory Core (040)
|
|
|
|
**Branch**: `feat/040-inventory-core` | **Date**: 2026-01-07 | **Spec**: `specs/040-inventory-core/spec.md`
|
|
|
|
## Summary
|
|
|
|
Implement a tenant-scoped inventory catalog (“last observed”) and an observable sync run system with deterministic selection scoping. Ensure no snapshots/backups are created by sync.
|
|
|
|
## Constitution Check
|
|
|
|
- Inventory-first, snapshots-second (sync never creates snapshots)
|
|
- Read/write separation (sync is read-only; any future writes require preview/confirmation/audit/tests)
|
|
- Single contract path to Graph (Graph access only through existing abstractions/contracts)
|
|
- Deterministic capabilities (capabilities resolver output testable)
|
|
- Tenant isolation (non-negotiable)
|
|
- Automation observable + idempotent (locks, run records, stable error codes, 429/503 handling)
|
|
- Data minimization + safe logging
|
|
|
|
## Deliverables (Phase-friendly)
|
|
|
|
- Data model for inventory items and sync runs
|
|
- Sync engine orchestration and locking strategy
|
|
- Deterministic selection hashing
|
|
- Capabilities resolver output snapshot tests
|
|
- Minimal Filament/CLI surface to trigger and observe sync runs (if required by tasks)
|
|
|
|
## Out of Scope
|
|
|
|
- Dependency graph hydration (spec 042)
|
|
- Cross-tenant promotion (spec 043)
|
|
- Drift reporting (spec 044)
|
|
- Lifecycle “deleted” semantics (feature 900)
|