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.