Architecture ============ Alba Core follows a small layered architecture inspired by Godot's emphasis on clear subsystems. Subsystem Overview ------------------ ``app.api`` Thin HTTP layer. It validates request shape and delegates to Alba Core. ``app.alba_core.pipeline`` Orchestrates one full search turn. ``app.alba_core.extraction`` Converts text into ``RentalRequirements``. ``app.alba_core.matching`` Filters and scores ``PropertyRecord`` objects. ``app.alba_core.leads`` Builds the staff-facing lead summary. ``app.propertyme`` Loads cached property data and prepares future PropertyMe OAuth/API access. Design Principles ----------------- * Keep channel wrappers outside Alba Core. * Keep PropertyMe data as the source of truth. * Keep hard filters separate from soft scores. * Keep comments at the top of files/classes to explain purpose before details. * Keep tests tied to real cached records.