relations
Dette dokumentet er auto-synket fra kildefilene i boligassistent-repoet. Endringer her vil overskrives ved neste sync. Rediger kildefilen direkte.
Assets og systemer
Section titled “Assets og systemer”BuildingSystem ──BELONGS_TO──► PropertyEquipment ──BELONGS_TO──► BuildingSystemEquipment ──LOCATED_IN──► RoomEquipment ──LOCATED_IN──► OutdoorSpace (alternativ)Equipment ──LOCATED_IN──► SupportSpace (alternativ)Et bygningssystem er en kategori (f.eks. varmesystem). Et equipment er én konkret enhet (f.eks. varmepumpe) som tilhører et system og er plassert et sted.
Avvik og tilstand
Section titled “Avvik og tilstand”Issue ──AFFECTS──► RoomIssue ──AFFECTS──► OutdoorSpaceIssue ──AFFECTS──► SupportSpaceIssue ──AFFECTS──► BuildingSystemIssue ──AFFECTS──► Equipment
SafetyItem ──AFFECTS──► RoomSafetyItem ──AFFECTS──► OutdoorSpaceSafetyItem ──AFFECTS──► SupportSpace
Measurement ──RELATES_TO──► RoomMeasurement ──RELATES_TO──► OutdoorSpaceMeasurement ──RELATES_TO──► SupportSpaceMeasurement ──RELATES_TO──► BuildingSystemMeasurement ──RELATES_TO──► PropertyPlanlegging
Section titled “Planlegging”Task ──RESOLVES──────► IssueTask ──IMPLEMENTS────► ImprovementIdeaTask ──INSPECTS──────► BuildingSystemTask ──INSPECTS──────► RoomTask ──INSPECTS──────► OutdoorSpace
ImprovementIdea ──TARGETS──► RoomImprovementIdea ──TARGETS──► OutdoorSpaceImprovementIdea ──TARGETS──► SupportSpaceImprovementIdea ──TARGETS──► BuildingSystemImprovementIdea ──TARGETS──► PropertyErfaring
Section titled “Erfaring”Observation ──RELATES_TO──► RoomObservation ──RELATES_TO──► OutdoorSpaceObservation ──RELATES_TO──► SupportSpaceObservation ──RELATES_TO──► BuildingSystemObservation ──RELATES_TO──► InteriorAssetObservation ──RELATES_TO──► PropertyDesign og interiør
Section titled “Design og interiør”DesignDirection ──GUIDES──► ImprovementIdeaDesignDirection ──GUIDES──► InteriorAsset
InteriorAsset ──LOCATED_IN──► RoomInteriorAsset ──SUPPORTS────► LayoutIntent
LayoutIntent ──APPLIES_TO──► RoomKunnskapslag
Section titled “Kunnskapslag”Document ──DESCRIBES──► PropertyDocument ──DESCRIBES──► RoomDocument ──DESCRIBES──► EquipmentDocument ──DESCRIBES──► IssueDocument ──DESCRIBES──► BuildingSystemDocument ──DESCRIBES──► Task
Photo ──SHOWS──► RoomPhoto ──SHOWS──► OutdoorSpacePhoto ──SHOWS──► IssuePhoto ──SHOWS──► EquipmentPhoto ──SHOWS──► InteriorAssetPhoto ──SHOWS──► SupportSpace
ProductReference ──INFORMS──► InteriorAssetProductReference ──INFORMS──► ImprovementIdeaProductReference ──INFORMS──► Task
Manual ──BELONGS_TO──► EquipmentImplementasjon i PostgreSQL
Section titled “Implementasjon i PostgreSQL”Siden modellen er relasjonell (ikke en grafdatabase), implementeres relasjoner som:
1:1-relasjoner
Section titled “1:1-relasjoner”LayoutIntent.room_id — én LayoutIntent per rom.
1:mange-relasjoner
Section titled “1:mange-relasjoner”Fremmednøkkel i barnentitet: Room.floor_id, Equipment.building_system_id.
Mange:mange via junction-tabell
Section titled “Mange:mange via junction-tabell”Ikke brukt direkte — relasjoner modelleres heller som polymorfiske referanser.
Polymorfiske referanser
Section titled “Polymorfiske referanser”Der én entitet kan peke til flere typer (f.eks. Issue kan affektere Room, OutdoorSpace, BuildingSystem), brukes to felter:
location_ref_type TEXT -- 'room' | 'outdoor_space' | 'building_system' | ...location_ref_id UUID -- ID til den aktuelle entitetenDette er en bevisst avveining mot strenge fremmednøkler for å holde modellen fleksibel.
Se docs/architecture/decision-log.md for begrunnelse.
AI-kontekst: relevante relasjonsveier
Section titled “AI-kontekst: relevante relasjonsveier”Disse relasjonene er spesielt viktige for å bygge riktig kontekst til AI-assistenten:
| Spørsmål | Relasjonssti |
|---|---|
| «Hva er status i stuen?» | Room → Issues, Observations, InteriorAssets, LayoutIntent |
| «Hvilke oppgaver haster?» | Issue(severity=critical) → Task(status=todo) |
| «Hva passer i dette rommet?» | Room → DesignDirection, LayoutIntent, InteriorAssets |
| «Hva sier manualen om varmepumpen?» | Equipment → Manual (file innhold via RAG) |
| «Hvilke forbedringsidéer har vi for hagen?» | OutdoorSpace → ImprovementIdea |