Skip to content

Per-clause-kind typed schemas (rent_amount · escalation_rate · break_date · co_tenancy · options_to_renew · jurisdiction · outgoings) #6

Description

@linus10x

ADR-0007 names seven material clause kinds. src/schemas/lease_clause.py ships ClauseSchema = dict[str, Any] in v0.2 with a docstring acknowledging the v0.2.x patch.

Each clause kind needs its own typed slot structure so the lease provenance check can validate clause-internal completeness (e.g., a break_clause schema without conditions is itself a veto candidate).

Scope:

  1. Add RentScheduleSlots, BreakClauseSlots, OptionsToRenewSlots, etc. as frozen dataclasses
  2. Extend ExtractedClause.schema to be a union of these typed slot structures, dispatched by criticality + clause_kind
  3. Add structural validation hooks in LeaseProvenanceCheck for missing slot fields per kind
  4. New veto reason code: PROV-INCOMPLETE-SLOT for kind-specific missing slots

Priority: P1. Composite 16/27.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestv0.2.1Patches before Mon Jun 2 / shortly after

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions