Follow-up to #187 and PR #188.
Summary
Add durable relationship records between discovered resources, managed pools, allocated blocks, managed network objects, and conflict evidence.
Why
PR #188 computes links and conflicts at read time. Durable relationship records would make soft links, matches, missing parents, duplicates, and imported relationships first-class and queryable.
Scope
- Add a relationship/link model for
contains, matches, conflicts, missing_parent, candidate_import, imported_as, and duplicate_of.
- Store confidence, reason/evidence, resolution state, timestamps, and target resource references.
- Expose API endpoints or embed relationships in existing network/discovery responses.
- Ensure links remain separate from import state.
Acceptance Criteria
- Soft links and conflict links survive recomputation and process restart.
- Merged views can read durable relationships when present.
- Tests cover relationship creation, listing, filtering, and resolution-state updates.
Follow-up to #187 and PR #188.
Summary
Add durable relationship records between discovered resources, managed pools, allocated blocks, managed network objects, and conflict evidence.
Why
PR #188 computes links and conflicts at read time. Durable relationship records would make soft links, matches, missing parents, duplicates, and imported relationships first-class and queryable.
Scope
contains,matches,conflicts,missing_parent,candidate_import,imported_as, andduplicate_of.Acceptance Criteria