Requirement Extraction

Requirement extraction turns natural renter wording into RentalRequirements. The current extractor is deterministic by design. This keeps tests repeatable and makes every rule visible to the team.

Inputs

  • The latest customer message.

  • Optional current requirements from an earlier conversation turn.

  • Known locations derived from the real property cache.

Outputs

  • A merged RentalRequirements object.

  • Confidence score.

  • Notes describing what was detected.

  • Missing required fields.

Common Fields

city

Location detected from the real cache’s known city, suburb, and region names.

budget_max

Weekly budget, including phrases such as 5k, five grand, or under 5000.

bedrooms_min

Minimum bedrooms requested by the renter.

property_type

Normalised to values such as house, apartment, or townhouse.

Extension Rule

When adding a new phrase, add a real-data test first or in the same commit. This matches the Godot-style approach of making code behavior and documentation easy for contributors to trust.