# City of Calgary Detailed Review alignment This revision aligns Calgary suite reviews with the structure and review discipline demonstrated by City of Calgary file DP2024-00595. ## City-style output `review_plan_set` returns `city_review_letter_markdown` with: 1. Detailed Review 1 - Development Permit title 2. Application metadata 3. General Comments 4. Bylaw Discrepancies table: `Regulation | Standard | Provided` 5. Prior to Decision Requirements 6. Applicant options to cancel, proceed to decision, or amend 7. Advisory Comments The City-style letter is a development-permit planning document. NBC-AE and engineer-of-record observations remain in `report_markdown` and are not rendered as City land-use conditions. ## Municipal context inputs The following optional `review_plan_set` arguments should be populated whenever they are available: - `application_number` - `site_address` - `applicant` - `community` - `land_use_district` - `use_type` - `planning_contact` - `date_dr_sent` - `response_due_date` - `municipal_records_context` Municipality-confirmed records override drawing silence. For example, an existing secondary suite confirmed by City records is treated as confirmed context even when it is absent from the submitted plan set. ## Mandatory Calgary backyard-suite checks The reconciliation layer accounts for: - parcel coverage; - parking for the principal dwelling; - parking for the backyard suite; - rear-property-line setback; - closest-façade separation; - private amenity space; and - secondary-suite/backyard-suite density. A passing check is retained in `mandatory_checks`. A missing check becomes a low-confidence clarification; it is not silently omitted and is not converted into an invented violation. ## Geometry controls - A labelled parking rectangle is accepted only when it is inside the legal parcel, dimensioned, accessible, and assigned to a dwelling unit. - Rear, side, and front property lines must be classified before selecting a setback dimension. - Backyard-suite separation uses the closest applicable façade-to-façade measurement. - Numeric discrepancies require Required, Provided, Delta, units, and source. Unreconciled calculations are flagged instead of copied. ## Validation Run: ```bash python smoke_test.py ``` The test suite validates the MCP surface, City header, City report sections, separation of DP and building-code streams, applicant options, mandatory-check reconciliation, and corrections-response honesty controls.