Skip to main content
Glama

Server Details

Deterministic, source-cited rental property tools: turnover estimates and deposit rules by US state.

Ownership verified
Status
Healthy
Uptime
100.0% over 23 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
tektolo/skills
GitHub Stars
0

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation4/5

The deposit tools split cleanly into rules lookup versus settlement calculation, and the turnover tools separate catalog lookup, plain-English first estimate, and structured scoping. The only possible confusion is between property_turnover_quick_estimate and property_turnover_scope, since both produce priced turnover estimates, but their descriptions clearly distinguish plain-language first estimates from issue-code-based structured scopes.

Naming Consistency4/5

All names use snake_case and predictable domain prefixes (deposit_settlement_* and property_turnover_*). Minor deviations exist: deposit_settlement_settle is redundant, and property_turnover_scope uses a noun rather than a clear verb, but the pattern remains readable and consistent overall.

Tool Count5/5

Five tools is well-scoped for two related workflows: security deposit compliance and rental turnover estimation. Each tool has a distinct role, and there is no obvious bloat or missing operational layer that would require more tools.

Completeness4/5

The surface covers deposit rules lookup, deposit settlement, issue-code catalog lookup, quick turnover estimation, and structured scoping, which is strong lifecycle coverage for the apparent domain. Minor gaps remain, such as no explicit portfolio/history management or rate-card administration beyond optional inputs, but agents can work around these.

Available Tools

5 tools
deposit_settlement_rulesSecurity deposit rules for a state (and city)A
Read-onlyIdempotent
Inspect

Looks up the security deposit rules (deposits only) for one US state, with a covered city's deposit ordinance (Chicago, San Francisco, Berkeley, Los Angeles, Seattle, Portland, Minneapolis, Saint Paul). Inputs: state (two-letter code); optional city. Returns the deposit return deadline and what starts it, itemization and documentation duties, allowed deductions and depreciation, deposit interest, penalties, the deposit cap and recent changes, with citations. Not for: settling a specific move-out (deposit_settlement_settle does that), evictions, unpaid-rent collection, rent increases or rent control, lease renewal or notice periods, legal advice. Deterministic and source-cited: the same input gives the same result.

NameRequiredDescriptionDefault
cityNoOptional city for its overlay (e.g. 'Chicago').
as_ofNoOptional date (YYYY-MM-DD): show the law in force on that day, for a past move-out the day the tenancy ended. Omitted: the current law.
auditNoAlso return the run record and input/result hashes (an audit trail). Default false.
stateYesUS state, 2-letter code or name (e.g. 'TX').
serve_pinnedNoOptional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.
expect_rulesetNoOptional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.

Output Schema

NameRequiredDescription
runNo
linksNo
resultYes
reviewNo
readingNo
signatureNo
input_hashNo
client_refsNo
deprecationNo
result_hashNo
request_hashNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is free; the description adds genuinely new traits: deterministic and source-cited results, plus the fact that a failed pre-check computes and charges nothing. It does not surface the ruleset-pinning/upgrade failure mode, though the schema covers that thoroughly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, covered cities, inputs, then exclusions — a sensible order. Slightly dense and mildly redundant ("with citations" then "source-cited"), but nearly every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Return contents, scope, exclusions and determinism are covered, and an output schema exists so return values need not be spelled out. The historical "as_of" capability and ruleset-pinning behavior go unmentioned in prose, but the schema documents both in detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline applies. The description restates state and city but is silent on as_of, audit, expect_ruleset and serve_pinned, so it adds little semantic value beyond the schema's own descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Looks up the security deposit rules ... for one US state") and bounds scope immediately with "(deposits only)", plus enumerates the covered city ordinances. The agent can distinguish it from deposit_settlement_settle without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit "Not for:" list rules out move-out settlement, evictions, rent collection, rent control, lease renewal and legal advice, and names the alternative sibling (deposit_settlement_settle) with the condition that selects it. Both when-to-use and when-not-to-use are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deposit_settlement_settleSettle a security deposit after move-outA
Read-onlyIdempotent
Inspect

Settles a US residential security deposit after move-out under the state's statute (50 states and DC) and a covered city's ordinance. Inputs: state, deposit_usd, vacated_on; optional city, monthly_rent_usd, move_in_on, deductions (category, amount, item age, whether the tenant caused it), the dates that start a state's clock, and as_of. Returns the return deadline and its status, each deduction allowed or not (with depreciation), interest owed, refund due, penalty exposure, a draft itemized statement and a citation for every rule. Not for: legal advice, tenant demand letters, repair cost estimates, pet deposits, rentals outside the US. Deterministic and source-cited: the same input gives the same result.

NameRequiredDescriptionDefault
cityNoCity, for a city overlay where covered (e.g. 'Chicago'). Optional.
as_ofNoDate for deadline status; defaults to today (UTC). Send YYYY-MM-DD for repeatable results.
auditNoAlso return the run record and input/result hashes (an audit trail). Default false.
stateYesUS state, 2-letter code (e.g. 'CA'); a state name also works.
countyNoTN county: act applies over 75,000 population by 2010 census (66-28-102(a)). Inferred from city only if unambiguous.
returnedNoPrior refund/statement and date; timeliness assesses each duty and days late.
furnishedNoThe unit is rented furnished (California before AB 12: 3 months; Kansas: 1.5 months; Delaware: no cap).
deductionsNoCharges to deduct (or the landlord's list). Explicit [] means no deductions and selects shorter periods (MT10 days, AK14); omit when unknown.
move_in_onNoTenancy start (YYYY-MM-DD). Used for interest and, when an item's age is unknown, for depreciation.
vacated_onYesDay the tenant moved out and returned possession (YYYY-MM-DD).
client_refsNoYour own reference ids (e.g. unit_id, job_id). Echoed back, never used.
deposit_usdYesSecurity deposit held, dollars.
lease_end_onNoScheduled lease end (YYYY-MM-DD), if different from actual tenancy end. Lost rent/lease-break charges use it. Deadlines use tenancy_ended_on, else move-out; scheduled end remains a later alternative.
serve_pinnedNoOptional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.
tenancy_typeNowritten_lease or at_will. ME 6033(2): written period<=30 days, at-will 21. MA 15 B(4):30 days from move-out(at-will) or lease end(written). Omitted when vacated_on precedes tenancy_ended_on: earlier at-will date leads; other date listed.
documentationNoWhat documentation you have; leave a field out when unknown.
building_unitsNoUnits in the building. Some interest rules depend on it (NY 6+, IL 25+).
expect_rulesetNoOptional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.
owner_occupiedNoThe landlord lives in the building (ME, NH, NJ and Chicago exempt small owner-occupied buildings; with building_units).
small_landlordNoCA AB 12: natural person or LLC of natural persons, at most 2 properties containing at most 4 units total, tenant not a service member;2 month cap.
pet_deposit_usdNoPet portion of deposit_usd: outside caps in MO/AL/ND/Saint Paul; extra cap allowance of 1 month in HI/AK, half in KS, quarter in NE.
monthly_rent_usdNoMonthly rent, for the deposit cap check.
prepaid_rent_usdNoAdvance rent beyond first month, held besides deposit_usd. Counts in AK/AZ/CA/CT/MD/MI/NY caps; earns interest in CT/MA(last-month rent)/MD/Chicago; Minneapolis cap becomes half-month. UT: send only unused balance, added to refund (57-17-3(2)(b)); elsewhere refund is deposit-only with prepaid-return warning.
tenancy_ended_onNoActual tenancy end: lease end, early termination or accepted surrender (YYYY-MM-DD). End-of-tenancy deadlines use this; send a different scheduled end as lease_end_on. Legacy scheduled ends still work, with an earlier move-out alternative where applicable.
tenant_abandonedNoAbandoned or evicted: MD 8-203(h) clock starts at written demand; WA 59.18.280 at landlord awareness; LA 9:3251(C) one-month rule excluded. Omitted: inferred from tenant_gave_proper_notice=false. If vacated_on precedes tenancy_ended_on, earlier abandonment clock leads; other date listed.
contractor_neededNoDamage exceeds the deposit and needs a third-party contractor, and you said so in writing in time (Virginia, West Virginia: 15 more days).
lease_return_daysNoReturn period the lease sets, in days, where the statute lets a lease set one (Colorado up to 60, Idaho up to 30, Maine shorter).
lease_term_monthsNoTerm of the lease in months (0 for month-to-month). Delaware's cap applies to leases of a year or more, New Mexico's to shorter ones.
statement_sent_onNoItemized statement sent/delivered (YYYY-MM-DD), to assess timeliness; documentation.itemized_statement alone supplies no date.
demand_received_onNoDeposit demand received (YYYY-MM-DD): written in OK; first-class mail in MD (8-203(h)). Starts clocks in AZ/KS/OK/SC/MS.
tenant_age_60_plusNoAn occupant is 60+ (NH 540-A:5,I: owner-occupied exemption excluded). tenant_age_62_plus=true implies this.
tenant_age_62_plusNoThe tenant is 62 or older (Connecticut: a one-month cap).
deposit_required_onNoColorado cap: date submission was required. Collection, move-out and as_of cannot establish the 2027 exception.
new_tenant_rent_usdNoMonthly rent the new tenant pays (with new_tenant_moved_in_on): the rent received for overlapping days is credited against rent claimed for them.
third_party_managedNoA third party manages the unit or collects rent for a fee.
claim_notice_sent_onNoWritten claim notice sent (YYYY-MM-DD). FL: within 30 days of termination; DC:45. Balance due 30 days after timely notice; late notice does not count.
deposit_collected_onNoCollection date; defaults to move_in_on. CA AB12 uses it. CO: proxy only if deposit_required_on is absent; never proves the exception.
landlord_units_ownedNoRental units the landlord owns in all (Arkansas 5 or fewer, Georgia 10 or fewer, with third_party_managed, may be exempt).
interest_paid_throughNoInterest already paid/credited through this date; accrual starts here (annual-payment rules, e.g. SF/LA/Berkeley/CT/MA).
interest_rate_percentNoAnnual deposit-bank rate: NJ/ND/NH/NY/PA/Portland; MA uses lesser of bank rate or 5%. Omitted bank rate is unknown. IL 765 ILCS 715 uses published IDFPR rate instead.
new_tenant_moved_in_onNoRe-rented: new tenant's move-in date (YYYY-MM-DD). Can shorten WV/WI periods; rent overlapping the new tenancy is unrecoverable.
rent_ordinance_coveredNoCovered by LA RSO or Berkeley Rent Ordinance: required for their deposit interest. Unknown interest stays beside, not inside, refund.
owner_is_natural_personNoGA 44-7-36 only: true=natural-person owner; false=LLC/corporation/partnership/trust, which cannot claim small-landlord exemption. Omitted: exemption stays an alternative.
renter_notice_served_onNoUT 57-17-3(3) renter notice served after deadline (YYYY-MM-DD). Owner gets 5 business days to comply (5); no notice means no 57-17-5 relief.
landlord_filed_action_onNoMI 554.613: date landlord sued for claimed damage (YYYY-MM-DD); sue or return balance within 45 days. Omitted assumes no suit.
tenant_gave_proper_noticeNoA termination notice that meets the statute was given (Alaska: 14 days instead of 30 when nothing is deducted for damage).
lease_signed_or_renewed_onNoCurrent lease signing/last renewal (YYYY-MM-DD). GA cap from 2024-07-01; MD from 2024-10-01. Defaults move_in_on; warns later renewal may activate cap.
deposit_in_separate_accountNoTN 66-28-301(a): deposit-only separate account. No account and no damage listing means none can be kept (c).
nonstandard_provision_signedNoWisconsin: the tenant signed a separate NONSTANDARD RENTAL PROVISIONS document covering the charge (ATCP 134.06(3)(b)); false makes such charges 'no'.
forwarding_address_received_onNoWritten forwarding address received (YYYY-MM-DD). Can start/hold clocks in TX, CT, IA, MN.
tenant_gave_forwarding_addressNoFalse: no written forwarding address ever given. May relieve penalties in IL/PA/OH/SC/NH; DE also accepts a lease notice address. forwarding_address_received_on implies true.
colorado_post_closing_occupancyNoColorado: buyer-landlord bought this residence from seller-tenant; both executed purchase-contract post-closing occupancy before the deposit was required. True confirms all facts; false excludes; null unknown. Exception from 2027-01-01.

Output Schema

NameRequiredDescription
runNo
linksNo
resultYes
reviewNo
readingNo
signatureNo
input_hashNo
client_refsNo
deprecationNo
result_hashNo
request_hashNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-redundant traits: deterministic, source-cited, same input yields same result, and every rule comes with a citation — important for a compute-style tool whose output may be relied on. It does not mention the version-pinning failure mode (expect_ruleset) or that nothing is charged on failure, which would have pushed this higher.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what it does, then inputs, then returns, then exclusions, then the determinism guarantee. Every sentence carries distinct information and nothing is repeated from the schema verbatim beyond the three required field names, which serve as a quick orientation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 52-parameter, deeply nested tool, the description covers purpose, inputs, outputs, exclusions and determinism, and an output schema exists so return values need no further explanation. Gaps are minor: no mention of audit mode, client_refs echoing, or the ruleset-version contract, all of which live only in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across 52 parameters with rich per-field statute citations, so the schema does the heavy lifting. The description names the three required inputs (state, deposit_usd, vacated_on) and groups the optionals (city, monthly_rent_usd, move_in_on, deductions, clock-start dates, as_of), which helps prioritization but adds no syntax or semantics beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (settles a US residential security deposit after move-out) plus the governing scope: state statute across 50 states and DC, with covered city ordinances layered on. The 'Not for' list (legal advice, demand letters, repair cost estimates, pet deposits, non-US rentals) separates it from property_turnover_quick_estimate and from legal-advice framing without the agent needing to open a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The closing 'Not for' sentence gives explicit exclusions, which is strong when-not guidance. When-to-use is clear from the first sentence (post-move-out deposit settlement). What is missing is naming the sibling to use instead — e.g. deposit_settlement_rules for a pure statutory lookup — so the agent must infer the routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

property_turnover_issue_codesLook up turnover issue codesA
Read-onlyIdempotent
Inspect

The issue-code catalog for rental-unit turnover findings (group.issue codes such as carpet.pet_urine). Inputs, all optional: q (search words or a code), group (e.g. flooring), limit, include_aliases; query and area are older names for q and group. With no arguments it returns every code in short form (code, name, group, default extent, refer-out). With q it returns the best matches with description, aliases, not_when, rooms and examples. Returns the codes, the match count, every group, and general.manual_quote, the code for a condition no other code fits. Not for: cost estimates, legal or security-deposit questions, work other than rental turnover. Deterministic and source-cited: the same input gives the same result.

NameRequiredDescriptionDefault
qNoWords to search for in the codes, names, aliases, descriptions and examples, e.g. 'pet stain carpet'. Hits come back with full detail. Leave out to list every code in short form.
areaNoOlder name for group; use group.
auditNoAlso return the run record and input/result hashes (an audit trail). Default false.
groupNoOnly codes in this group, e.g. 'flooring' or 'walls' (a part of the unit, not a room). `groups` in the answer lists them all.
limitNoMost codes to return. Default: 8 with q, every code without.
queryNoOlder name for q; use q.
client_refsNoYour own reference ids (e.g. unit_id, job_id). Echoed back, never used.
serve_pinnedNoOptional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.
expect_rulesetNoOptional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.
include_aliasesNoAlso return aliases in the short list (search hits always carry them).

Output Schema

NameRequiredDescription
runNo
linksNo
resultYes
reviewNo
readingNo
signatureNo
input_hashNo
client_refsNo
deprecationNo
result_hashNo
request_hashNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so safety is covered; the description adds that results are 'deterministic and source-cited' and enumerates the return envelope (codes, match count, groups, general.manual_quote). It says nothing about the ruleset-pinning/failure behavior (expect_ruleset, serve_pinned), which is left entirely to the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the resource and the argument-driven behavior, then closes with exclusions and a determinism note; nearly every clause carries information. The 'Inputs, all optional' sentence is somewhat listy, but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present the description needn't detail return shape, yet it still summarizes it; combined with the exclusions and optional-input overview an agent can call this correctly. The one substantive gap is the ruleset-version contract, which lives only in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter is already documented, and the description's mention of q, group, limit, include_aliases and the query/area legacy aliases only restates the schema. It adds no syntax, interaction, or behavioral meaning for the more unusual parameters (audit, serve_pinned, expect_ruleset), so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource ('the issue-code catalog for rental-unit turnover findings') and scopes it with a concrete example ('carpet.pet_urine'). It also explicitly marks the boundary against siblings with 'Not for: cost estimates, legal or security-deposit questions, work other than rental turnover', which separates it from property_turnover_quick_estimate and the deposit_settlement tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage modes: 'With no arguments it returns every code in short form' vs. 'With q it returns the best matches with description, aliases...'. Exclusions are stated by domain but no sibling tool is named as the alternative to redirect to, which is the only missing piece.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

property_turnover_quick_estimateQuick turnover estimate (start here)A
Read-onlyIdempotent
Inspect

Estimates what it costs to turn over a US rental unit after move-out; the first tool for a turnover estimate. Inputs: a 5-digit ZIP, bedrooms, bathrooms and the issues in plain English (e.g. "stained carpet in both bedrooms"), which may come from the user's photos; optional unit type, size, year built. Returns a priced make-ready estimate: repair tasks by trade with low/expected/high costs for the ZIP, priorities, refer-outs to licensed professionals, assumptions and links. An AI model reads the issues; the answer is a draft listing what it read (reading), and words it cannot place bill nothing. Not for: diagnosing hazards, legal advice on deposits, remodel bids, properties outside the US. The same findings under the same ruleset give the same result; AI never sets a number.

NameRequiredDescriptionDefault
zipYesThe user's 5-digit US ZIP code. If it is missing or not exactly 5 digits, ask the user; never guess, pad or correct it.
petsNoDid pets live in the unit? true adds an optional flea treatment.
auditNoAlso return the run record and input/result hashes (an audit trail). Default false.
sq_ftNoInterior sq ft.
carpetNoIs there wall-to-wall carpet?
detailNosummary (default, small) or full (every line).summary
issuesNoWhat was found in plain English, e.g. ['stained carpet in both bedrooms', 'nail holes everywhere', 'oven is filthy']. Read like pasted notes: an entry may hold several conditions ('carpet stained, nail holes'; one finding each); a room before or after the condition sets the location ('Bedroom 2 carpet torn', 'mold in bathroom'); a written count sets the quantity ('3 blinds broken'); an entry saying there is no work ('no mold', 'leak fixed by tenant') is reported as not billed. All the issues together may hold up to 12,000 characters; send longer notes in more than one request.
retainNoOptional (contract 0.5.1). false: keep none of this request's text, so the AI reader's answer for the issues is not stored either. By default the text is kept with contact details and access codes removed, to improve matching; the estimate is the same either way.
profileNominimum (rent-ready basics) | standard | premium (higher finish).standard
bedroomsYes0 for a studio.
bathroomsYesHalf baths count as 0.5.
unit_typeNoSingle-family homes and townhomes get house-sized defaults (floor area, locks).apartment
walk_dateNoThe walk-through date; dated or aged items are judged against it. Omit if unknown.
price_tierNobulk_contract (portfolio contract prices) | pm_vendor (default: a property manager buying turns from local vendors) | retail_one_off (an owner hiring one contractor).pm_vendor
year_builtNoDrives lead-paint (pre-1978) handling.
client_refsNoYour own reference ids (e.g. unit_id, job_id). Echoed back, never used.
serve_pinnedNoOptional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.
expect_rulesetNoOptional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.

Output Schema

NameRequiredDescription
runNo
linksNo
resultYes
reviewNo
readingNo
signatureNo
input_hashNo
client_refsNo
deprecationNo
result_hashNo
request_hashNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent/non-destructive, and the description still adds real behavioral context: an AI model reads the free-text issues, the answer is a draft of what was read, unplaceable words bill nothing, and the same findings under the same ruleset yield the same result with the AI never setting a number. That determinism and trust caveat is exactly the kind of disclosure annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then inputs, then returns, then exclusions — a sensible order with no filler. It is dense with clause-heavy sentences and repeats some return detail the output schema already provides, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 18-parameter, nested-schema tool with an output schema and full annotation coverage, the description supplies what structured data cannot: domain limits (US only, post move-out), the AI-reading caveat, determinism guarantees, and explicit exclusions. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage across 18 parameters, the baseline is 3; the description goes slightly beyond by framing the inputs (ZIP, beds, baths, plain-English issues, optional unit type/size/year) and noting the issues may be derived from the user's photos, a provenance detail the schema does not state.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("estimates what it costs to turn over a US rental unit after move-out") plus the entry-point role ("the first tool for a turnover estimate"). The explicit "Not for" list (hazard diagnosis, deposit legal advice, remodel bids, non-US properties) carves it away from the deposit_settlement_* siblings and from scope/issue-code reference tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear when-to-use (post move-out turnover costing, call this first) and explicit when-not-to-use exclusions. It does not name property_turnover_scope or property_turnover_issue_codes as alternatives or explain the handoff to them, so routing across the turnover family is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

property_turnover_scopeScope a property turnoverA
Read-onlyIdempotent
Inspect

Turns move-out inspection findings for a US rental unit into a priced make-ready scope. For a first estimate use property_turnover_quick_estimate (plain words). Inputs: property (ZIP, bedrooms, bathrooms, optional details) and findings, each an issue code from property_turnover_issue_codes with rooms, status, quantity and the original words (source_text); optional rate_card, decisions, detail. Returns tasks by trade, low/expected/high costs, priorities, vendor scopes, refer-outs, assumptions, unknowns and download links. Not for: diagnosing hazards, legal advice on deposits, remodel bids, properties outside the US. Deterministic and source-cited: the same input gives the same result.

NameRequiredDescriptionDefault
readNoDeprecated and ignored: scope reads no free text.parser
auditNoAlso return the run record and input/result hashes (an audit trail). Default false.
detailNosummary (small): totals, trade scopes, lines tied to findings. full: all.summary
retainNofalse: keep none of this request's text.
findingsNoMove-out inspection findings, one per observed condition, coded.
propertyYesThe unit: ZIP, size, type and year built.
tax_rateNoApplied to all lines, e.g. 0.07.
decisionsNoApprove, decline or defer lines or findings from an earlier scope.
rate_cardNoYour own prices by trade or task; they replace the regional library prices.
standardsNoFinish profile, price tier and overrides.
client_refsNoYour own reference ids (e.g. unit_id, job_id). Echoed back, never used.
constraintsNoTarget ready date, whether the unit is occupied, access notes.
serve_pinnedNoOptional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.
trade_vendorsNoVendor (name, contact) to put on each trade's lines.
expect_rulesetNoOptional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.

Output Schema

NameRequiredDescription
runNo
linksNo
resultYes
reviewNo
readingNo
signatureNo
input_hashNo
client_refsNo
deprecationNo
result_hashNo
request_hashNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context beyond the annotations: it is deterministic and source-cited, and it briefly characterizes the return content (tasks by trade, cost ranges, priorities, vendor scopes, refer-outs, assumptions, unknowns). It does not discuss permissions, rate limits, or latency, but those are less central here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and packs exclusions, inputs, outputs, and determinism into a compact block. It is dense but efficient, with no obvious filler sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 15-parameter tool with nested schemas and an output schema, the description covers purpose, key inputs, return categories, alternatives, exclusions, and the deterministic contract. An agent has enough context to select and invoke it correctly, relying on the structured schema for field-level details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the 15 parameters in detail. The description only summarizes the main inputs (property ZIP/bedrooms/bathrooms, findings with issue codes, optional rate_card/decisions/detail), adding little beyond what the schema and nested definitions provide. A baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise verb and resource: turning move-out inspection findings into a priced make-ready scope for a US rental unit. It distinguishes itself from sibling tools by naming property_turnover_quick_estimate for a first estimate and referencing property_turnover_issue_codes for issue codes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly names an alternative for a different use case ('For a first estimate use property_turnover_quick_estimate') and provides a clear not-for list (hazard diagnosis, deposit legal advice, remodel bids, non-US properties). This gives the agent both when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • Changeddeposit_settlement_rules35 fields changed
      • removedOutput schema / $defs
        Removed value: -{
        -  "Alternative": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "combine": {
        -        "default": "replace",
        -        "enum": [
        -          "replace",
        -          "later_date",
        -          "earlier_date",
        -          "extend"
        -        ],
        -        "type": "string"
        -      },
        -      "condition": {
        -        "type": "string"
        -      },
        -      "counting": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "calendar",
        -              "business"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "days": {
        -        "anyOf": [
        -          {
        -            "minimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "demand_within_days": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "effective_before": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "effective_by": {
        -        "default": "termination",
        -        "enum": [
        -          "termination",
        -          "conduct"
        -        ],
        -        "type": "string"
        -      },
        -      "effective_on_or_after": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "extends": {
        -        "default": "deadline",
        -        "enum": [
        -          "deadline",
        -          "itemization"
        -        ],
        -        "type": "string"
        -      },
        -      "listed_if": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "listed_warning": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "months": {
        -        "anyOf": [
        -          {
        -            "minimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "notice_within_days": {
        -        "anyOf": [
        -          {
        -            "minimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "pending": {
        -        "default": "not_started",
        -        "enum": [
        -          "not_started",
        -          "notice_date"
        -        ],
        -        "type": "string"
        -      },
        -      "requires": {
        -        "default": [],
        -        "items": {
        -          "enum": [
        -            "no_deductions",
        -            "with_deductions",
        -            "damage_deductions",
        -            "no_damage_deductions",
        -            "lease_specifies_longer",
        -            "lease_specifies_shorter",
        -            "tenant_gave_notice",
        -            "contractor_needed",
        -            "damages_exceed_deposit",
        -            "written_lease",
        -            "at_will",
        -            "abandoned",
        -            "charges_only",
        -            "relet_before_end"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "start": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "vacate",
        -              "termination",
        -              "later_of_vacate_and_termination",
        -              "forwarding_address",
        -              "demand",
        -              "later_of_termination_and_address",
        -              "latest_of_termination_possession_and_address",
        -              "earlier_of_termination_and_surrender",
        -              "surrender_or_termination_first",
        -              "new_tenant_occupancy",
        -              "termination_possession_and_demand",
        -              "claim_notice"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "condition"
        -    ],
        -    "type": "object"
        -  },
        -  "BrokenLease": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "requires_notice": {
        -        "type": "boolean"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "requires_notice",
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "CapLimits": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "furnished_months": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "months_rent": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "Change": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "effective_on": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "source": {
        -        "type": "string"
        -      },
        -      "text": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "text",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "Citation": {
        -    "properties": {
        -      "accessed": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "type": "string"
        -      },
        -      "rule": {
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source_title": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "url": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "verbatim": {
        -        "default": true,
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "rule",
        -      "section",
        -      "quote"
        -    ],
        -    "type": "object"
        -  },
        -  "CityRules": {
        -    "properties": {
        -      "additional_penalty": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/PenaltyRule"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "applicability": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "deductions": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/DeductionRules"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "deposit_cap": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/DepositCap"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "depreciation_schedule": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "forfeiture": {
        -        "anyOf": [
        -          {
        -            "items": {
        -              "$ref": "#/$defs/Forfeiture"
        -            },
        -            "type": "array"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "interest": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/InterestRule"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "itemization": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Itemization"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "notes": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "penalty": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/PenaltyRule"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "return_rule": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/ReturnRule"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "state": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "name",
        -      "state"
        -    ],
        -    "type": "object"
        -  },
        -  "CleaningRule": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "basis": {
        -        "enum": [
        -          "named",
        -          "damage"
        -        ],
        -        "type": "string"
        -      },
        -      "condition": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "routine": {
        -        "default": "barred",
        -        "enum": [
        -          "barred",
        -          "lease",
        -          "reasonable"
        -        ],
        -        "type": "string"
        -      },
        -      "routine_signed_provision": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      },
        -      "unless_no_notice": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "verbatim": {
        -        "default": true,
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "basis",
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "ContractDamages": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "categories": {
        -        "items": {
        -          "enum": [
        -            "unpaid_rent",
        -            "unpaid_utilities",
        -            "cleaning",
        -            "carpet",
        -            "flooring",
        -            "paint",
        -            "blinds_window_coverings",
        -            "appliance",
        -            "fixture_or_hardware",
        -            "wall_or_door_repair",
        -            "key_or_lock",
        -            "late_fees",
        -            "lease_break_fee",
        -            "moving_and_storage",
        -            "reletting_costs",
        -            "trash_and_abandoned_items",
        -            "other_damage",
        -            "other"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "lead": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "maxLength": 400,
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "section",
        -      "quote",
        -      "source",
        -      "categories"
        -    ],
        -    "type": "object"
        -  },
        -  "DeductionRules": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "allowed": {
        -        "default": [],
        -        "items": {
        -          "enum": [
        -            "unpaid_rent",
        -            "unpaid_utilities",
        -            "late_fees",
        -            "lease_break_fee",
        -            "cleaning_to_move_in_condition",
        -            "damage_beyond_wear",
        -            "future_defaults_under_lease",
        -            "other_lease_obligations",
        -            "moving_and_storage",
        -            "real_estate_tax_increase",
        -            "removal_of_items_left"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "allowed_detail": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "cleaning": {
        -        "anyOf": [
        -          {
        -            "items": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "amendment": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "from": {
        -                  "anyOf": [
        -                    {
        -                      "format": "date",
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "governed_by": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "note": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "source": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "until": {
        -                  "anyOf": [
        -                    {
        -                      "format": "date",
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "value": {
        -                  "$ref": "#/$defs/CleaningRule"
        -                }
        -              },
        -              "required": [
        -                "value"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          {
        -            "$ref": "#/$defs/CleaningRule"
        -          },
        -          {
        -            "items": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "basis": {
        -                  "enum": [
        -                    "named",
        -                    "damage"
        -                  ],
        -                  "type": "string"
        -                },
        -                "condition": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "default": null
        -                },
        -                "effective_on": {
        -                  "anyOf": [
        -                    {
        -                      "format": "date",
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "default": null
        -                },
        -                "note": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "default": null
        -                },
        -                "quote": {
        -                  "maxLength": 600,
        -                  "type": "string"
        -                },
        -                "routine": {
        -                  "default": "barred",
        -                  "enum": [
        -                    "barred",
        -                    "lease",
        -                    "reasonable"
        -                  ],
        -                  "type": "string"
        -                },
        -                "routine_signed_provision": {
        -                  "default": false,
        -                  "type": "boolean"
        -                },
        -                "section": {
        -                  "type": "string"
        -                },
        -                "source": {
        -                  "type": "string"
        -                },
        -                "unless_no_notice": {
        -                  "default": false,
        -                  "type": "boolean"
        -                },
        -                "verbatim": {
        -                  "default": true,
        -                  "type": "boolean"
        -                }
        -              },
        -              "required": [
        -                "basis",
        -                "section",
        -                "quote",
        -                "source"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          }
        -        ],
        -        "default": []
        -      },
        -      "contract_damages": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/ContractDamages"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "depreciation": {
        -        "default": "silent",
        -        "enum": [
        -          "required",
        -          "guidance",
        -          "silent"
        -        ],
        -        "type": "string"
        -      },
        -      "depreciation_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "depreciation_only": {
        -        "default": [],
        -        "items": {
        -          "enum": [
        -            "unpaid_rent",
        -            "unpaid_utilities",
        -            "cleaning",
        -            "carpet",
        -            "flooring",
        -            "paint",
        -            "blinds_window_coverings",
        -            "appliance",
        -            "fixture_or_hardware",
        -            "wall_or_door_repair",
        -            "key_or_lock",
        -            "late_fees",
        -            "lease_break_fee",
        -            "moving_and_storage",
        -            "reletting_costs",
        -            "trash_and_abandoned_items",
        -            "other_damage",
        -            "other"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "discovery_cutoff": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/DiscoveryCutoff"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "excluded": {
        -        "default": [],
        -        "items": {
        -          "$ref": "#/$defs/Exclusion"
        -        },
        -        "type": "array"
        -      },
        -      "late_fee": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/LateFeeRule"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "lease_authorized": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/LeaseAuthorized"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "lease_break": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/LeaseBreakRule"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "mitigation_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "nonstandard_only": {
        -        "default": [],
        -        "items": {
        -          "enum": [
        -            "unpaid_rent",
        -            "unpaid_utilities",
        -            "cleaning",
        -            "carpet",
        -            "flooring",
        -            "paint",
        -            "blinds_window_coverings",
        -            "appliance",
        -            "fixture_or_hardware",
        -            "wall_or_door_repair",
        -            "key_or_lock",
        -            "late_fees",
        -            "lease_break_fee",
        -            "moving_and_storage",
        -            "reletting_costs",
        -            "trash_and_abandoned_items",
        -            "other_damage",
        -            "other"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "nonstandard_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "normal_wear_excluded": {
        -        "default": true,
        -        "type": "boolean"
        -      },
        -      "not_allowed_warning": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "termination_notice_quote": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "termination_notice_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "utilities": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/UtilityLimit"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "DepositCap": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "advance_rent_exempt_months": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "before_furnished_months": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "before_months_rent": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "cap_limits": {
        -        "anyOf": [
        -          {
        -            "items": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "amendment": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "from": {
        -                  "anyOf": [
        -                    {
        -                      "format": "date",
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "governed_by": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "note": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "source": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "until": {
        -                  "anyOf": [
        -                    {
        -                      "format": "date",
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "value": {
        -                  "$ref": "#/$defs/CapLimits"
        -                }
        -              },
        -              "required": [
        -                "value"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          {
        -            "$ref": "#/$defs/CapLimits"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "counts_prepaid_rent": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "effective_by": {
        -        "default": "collected",
        -        "enum": [
        -          "collected",
        -          "lease_signed",
        -          "required"
        -        ],
        -        "type": "string"
        -      },
        -      "effective_on": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "excess_remedy": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/ExcessRemedy"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "excludes_pet_deposit": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "furnished_exempt": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "furnished_months": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "later_after_months": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "later_months_rent": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "max_rent_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "max_term_months": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "min_term_months": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "minimum_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "months_rent": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "or_demanded_before": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "periodic_after_months": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "pet_allowance_months": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "pet_cap_months": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "post_closing_occupancy_from": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "prepaid_cap_months": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "prepaid_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "source": {
        -        "type": "string"
        -      },
        -      "variant_duty": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "variant_extra_months": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "variant_months": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "variant_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "variant_when": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "small_landlord",
        -              "tenant_age_62_plus",
        -              "month_to_month"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "variants": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "Deprecation": {
        -    "properties": {
        -      "field": {
        -        "type": "string"
        -      },
        -      "until": {
        -        "format": "date",
        -        "type": "string"
        -      },
        -      "use": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "field",
        -      "until",
        -      "use"
        -    ],
        -    "type": "object"
        -  },
        -  "DescribeEach": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "quote": {
        -        "maxLength": 400,
        -        "type": "string"
        -      },
        -      "rent_only_exempt": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "DiscoveryCutoff": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "days_after_new_tenant": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "days_after_vacate": {
        -        "exclusiveMinimum": 0,
        -        "type": "integer"
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "days_after_vacate",
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "ExcessRemedy": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "multiple": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "quote": {
        -        "maxLength": 400,
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "multiple",
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "Exclusion": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "category": {
        -        "enum": [
        -          "unpaid_rent",
        -          "unpaid_utilities",
        -          "cleaning",
        -          "carpet",
        -          "flooring",
        -          "paint",
        -          "blinds_window_coverings",
        -          "appliance",
        -          "fixture_or_hardware",
        -          "wall_or_door_repair",
        -          "key_or_lock",
        -          "late_fees",
        -          "lease_break_fee",
        -          "moving_and_storage",
        -          "reletting_costs",
        -          "trash_and_abandoned_items",
        -          "other_damage",
        -          "other"
        -        ],
        -        "type": "string"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "category",
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "Fallback": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "days": {
        -        "exclusiveMinimum": 0,
        -        "type": "integer"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "start": {
        -        "default": "vacate",
        -        "enum": [
        -          "vacate",
        -          "termination",
        -          "later_of_vacate_and_termination",
        -          "forwarding_address",
        -          "demand",
        -          "later_of_termination_and_address",
        -          "latest_of_termination_possession_and_address",
        -          "earlier_of_termination_and_surrender",
        -          "surrender_or_termination_first",
        -          "new_tenant_occupancy",
        -          "termination_possession_and_demand",
        -          "claim_notice"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "days",
        -      "section"
        -    ],
        -    "type": "object"
        -  },
        -  "Forfeiture": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "account_leg": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "address_relief_days": {
        -        "anyOf": [
        -          {
        -            "minimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "bars": {
        -        "default": "all",
        -        "enum": [
        -          "all",
        -          "damage"
        -        ],
        -        "type": "string"
        -      },
        -      "condition": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "contested": {
        -        "default": [],
        -        "items": {
        -          "enum": [
        -            "unpaid_rent",
        -            "unpaid_utilities",
        -            "cleaning",
        -            "carpet",
        -            "flooring",
        -            "paint",
        -            "blinds_window_coverings",
        -            "appliance",
        -            "fixture_or_hardware",
        -            "wall_or_door_repair",
        -            "key_or_lock",
        -            "late_fees",
        -            "lease_break_fee",
        -            "moving_and_storage",
        -            "reletting_costs",
        -            "trash_and_abandoned_items",
        -            "other_damage",
        -            "other"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "cure_business_days": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "cure_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "days": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "days_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "doc_legs": {
        -        "default": [],
        -        "items": {
        -          "enum": [
        -            "itemized_statement",
        -            "move_in_condition_statement",
        -            "move_out_list"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "effective_on": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "excuse_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "excuse_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "exempt": {
        -        "default": [],
        -        "items": {
        -          "enum": [
        -            "unpaid_rent",
        -            "unpaid_utilities",
        -            "cleaning",
        -            "carpet",
        -            "flooring",
        -            "paint",
        -            "blinds_window_coverings",
        -            "appliance",
        -            "fixture_or_hardware",
        -            "wall_or_door_repair",
        -            "key_or_lock",
        -            "late_fees",
        -            "lease_break_fee",
        -            "moving_and_storage",
        -            "reletting_costs",
        -            "trash_and_abandoned_items",
        -            "other_damage",
        -            "other"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "gate": {
        -        "default": "none",
        -        "enum": [
        -          "none",
        -          "bad_faith",
        -          "unreasonable",
        -          "willful",
        -          "presumption",
        -          "tenant_notice",
        -          "court"
        -        ],
        -        "type": "string"
        -      },
        -      "in_full_quote": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "keeps_claim": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "keeps_claim_for": {
        -        "default": "all",
        -        "enum": [
        -          "all",
        -          "damage"
        -        ],
        -        "type": "string"
        -      },
        -      "keeps_claim_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "late_condition_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "late_refund_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "no_address_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "no_address_relief": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "unsettled",
        -              "stands"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "not_if_abandoned": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "nothing_withheld_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "notice_relief": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/NoticeRelief"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "rent_only": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "exempt",
        -              "undisputed"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "rent_only_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "short_interest_contested": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "source": {
        -        "type": "string"
        -      },
        -      "tenant_notice_relief": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "trigger": {
        -        "enum": [
        -          "late_statement",
        -          "late_return",
        -          "late_statement_or_return",
        -          "late_claim_notice",
        -          "late_action_or_return",
        -          "not_in_input",
        -          "missing_documentation",
        -          "receipts_after_estimate"
        -        ],
        -        "type": "string"
        -      },
        -      "verbatim": {
        -        "default": true,
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "trigger",
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "Guide": {
        -    "properties": {
        -      "accessed": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "publisher": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "url": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "title"
        -    ],
        -    "type": "object"
        -  },
        -  "InterestRule": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "accrual_floor": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "accrual_floor_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "accrues_after_months": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "bank_rate_lesser": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "base": {
        -        "default": "deposit",
        -        "enum": [
        -          "deposit",
        -          "excess_over_max_50_or_month"
        -        ],
        -        "type": "string"
        -      },
        -      "compound": {
        -        "default": "none",
        -        "enum": [
        -          "none",
        -          "annual"
        -        ],
        -        "type": "string"
        -      },
        -      "condition": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "count_last_day": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "due_days": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "due_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "due_start": {
        -        "default": "vacate",
        -        "enum": [
        -          "vacate",
        -          "termination",
        -          "later_of_vacate_and_termination",
        -          "forwarding_address",
        -          "demand",
        -          "later_of_termination_and_address",
        -          "latest_of_termination_possession_and_address",
        -          "earlier_of_termination_and_surrender",
        -          "surrender_or_termination_first",
        -          "new_tenant_occupancy",
        -          "termination_possession_and_demand",
        -          "claim_notice"
        -        ],
        -        "type": "string"
        -      },
        -      "fee_percent": {
        -        "anyOf": [
        -          {
        -            "minimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "formula": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "held_until": {
        -        "default": "vacate",
        -        "enum": [
        -          "vacate",
        -          "return"
        -        ],
        -        "type": "string"
        -      },
        -      "includes_prepaid_rent": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "legacy_before": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "legacy_interval_months": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "legacy_rate": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "method": {
        -        "default": "simple",
        -        "enum": [
        -          "simple",
        -          "monthly_by_year",
        -          "months_to_compliance",
        -          "lease_years",
        -          "per_window",
        -          "anniversary_years",
        -          "monthly"
        -        ],
        -        "type": "string"
        -      },
        -      "min_deposit_months_rent": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "min_deposit_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "min_lease_term_months": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "min_tenancy_days": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "min_tenancy_months": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "min_tenancy_strict": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "min_units": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "minimum_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "ordinance_coverage": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "payable": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "annually",
        -              "at_end"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "rate": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "fixed_percent",
        -              "statutory_index",
        -              "bank_rate"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "rate_published_by": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "rate_schedule": {
        -        "anyOf": [
        -          {
        -            "items": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "amendment": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "from": {
        -                  "anyOf": [
        -                    {
        -                      "format": "date",
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "governed_by": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "note": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "source": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "until": {
        -                  "anyOf": [
        -                    {
        -                      "format": "date",
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "value": {
        -                  "anyOf": [
        -                    {
        -                      "minimum": 0,
        -                      "type": "number"
        -                    },
        -                    {
        -                      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -                      "type": "string"
        -                    }
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "value"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          {
        -            "minimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "items": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "from": {
        -                  "format": "date",
        -                  "type": "string"
        -                },
        -                "note": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "default": null
        -                },
        -                "rate_value": {
        -                  "anyOf": [
        -                    {
        -                      "minimum": 0,
        -                      "type": "number"
        -                    },
        -                    {
        -                      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -                      "type": "string"
        -                    }
        -                  ]
        -                },
        -                "source": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "default": null
        -                },
        -                "to": {
        -                  "format": "date",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "from",
        -                "to",
        -                "rate_value"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          }
        -        ],
        -        "default": []
        -      },
        -      "rate_value": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "rate_year": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "required": {
        -        "anyOf": [
        -          {
        -            "type": "boolean"
        -          },
        -          {
        -            "const": "conditional",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "year_starts": {
        -        "anyOf": [
        -          {
        -            "pattern": "^\\d{2}-\\d{2}$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "required"
        -    ],
        -    "type": "object"
        -  },
        -  "Itemization": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "after_refund": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "days": {
        -        "anyOf": [
        -          {
        -            "minimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "describe_each": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/DescribeEach"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "effective_on": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "months": {
        -        "anyOf": [
        -          {
        -            "minimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "move_in_photos": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/MoveInPhotos"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "move_in_statement": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/MoveInStatement"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "move_out_list": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/MoveOutList"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "on_full_refund": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "photos": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Photos"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "receipts": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Receipts"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "refund_with_list": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "required": {
        -        "default": true,
        -        "type": "boolean"
        -      },
        -      "section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "start": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "vacate",
        -              "termination",
        -              "later_of_vacate_and_termination",
        -              "forwarding_address",
        -              "demand",
        -              "later_of_termination_and_address",
        -              "latest_of_termination_possession_and_address",
        -              "earlier_of_termination_and_surrender",
        -              "surrender_or_termination_first",
        -              "new_tenant_occupancy",
        -              "termination_possession_and_demand",
        -              "claim_notice"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "with_refund": {
        -        "default": true,
        -        "type": "boolean"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "JurisdictionRef": {
        -    "properties": {
        -      "city": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "city_overlay": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "city_rules_checked": {
        -        "anyOf": [
        -          {
        -            "type": "boolean"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "covered": {
        -        "type": "boolean"
        -      },
        -      "state": {
        -        "type": "string"
        -      },
        -      "state_name": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "verified": {
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "state",
        -      "covered",
        -      "verified"
        -    ],
        -    "type": "object"
        -  },
        -  "LateFeeRule": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "agreements_from": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "combine": {
        -        "default": "greater",
        -        "enum": [
        -          "greater",
        -          "lesser",
        -          "plus"
        -        ],
        -        "type": "string"
        -      },
        -      "conditional": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "deposit_use": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "flat_usd": {
        -        "anyOf": [
        -          {
        -            "minimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "month_to_month_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "over_cap_penalties": {
        -        "default": [],
        -        "items": {
        -          "$ref": "#/$defs/OverCapPenalty"
        -        },
        -        "type": "array"
        -      },
        -      "over_cap_remedy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "over_cap_remedy_conditional": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "over_cap_remedy_damages": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "over_cap_remedy_fees": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "over_cap_remedy_if": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "over_cap_remedy_months": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "over_cap_remedy_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "over_cap_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "over_cap_void": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "over_usd": {
        -        "anyOf": [
        -          {
        -            "minimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "per": {
        -        "default": "late_payment",
        -        "enum": [
        -          "late_payment",
        -          "month"
        -        ],
        -        "type": "string"
        -      },
        -      "percent": {
        -        "anyOf": [
        -          {
        -            "minimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "percent_of": {
        -        "default": "rent",
        -        "enum": [
        -          "rent",
        -          "past_due_payment"
        -        ],
        -        "type": "string"
        -      },
        -      "preconditions": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "preconditions_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "preconditions_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "presumption": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "renewal_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "rent_tiers": {
        -        "default": [],
        -        "items": {
        -          "$ref": "#/$defs/RentTier"
        -        },
        -        "type": "array"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      },
        -      "unit_tiers": {
        -        "default": [],
        -        "items": {
        -          "$ref": "#/$defs/UnitTier"
        -        },
        -        "type": "array"
        -      },
        -      "verbatim": {
        -        "default": true,
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "LeaseAuthorized": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "categories": {
        -        "default": [],
        -        "items": {
        -          "enum": [
        -            "unpaid_rent",
        -            "unpaid_utilities",
        -            "cleaning",
        -            "carpet",
        -            "flooring",
        -            "paint",
        -            "blinds_window_coverings",
        -            "appliance",
        -            "fixture_or_hardware",
        -            "wall_or_door_repair",
        -            "key_or_lock",
        -            "late_fees",
        -            "lease_break_fee",
        -            "moving_and_storage",
        -            "reletting_costs",
        -            "trash_and_abandoned_items",
        -            "other_damage",
        -            "other"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "replace": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      },
        -      "verbatim": {
        -        "default": true,
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "LeaseBreakRule": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "excludes_later_rent": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "exclusion_quote": {
        -        "anyOf": [
        -          {
        -            "maxLength": 400,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "exclusion_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "keeps_retake_month_rent": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "months_rent": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "rule": {
        -        "enum": [
        -          "actual_rent",
        -          "cap_months_rent",
        -          "nonstandard_provision"
        -        ],
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      },
        -      "verbatim": {
        -        "default": true,
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "rule",
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "Links": {
        -    "properties": {
        -      "downloads": {
        -        "additionalProperties": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "how_to_get_files": {
        -        "type": "string"
        -      },
        -      "web_tool": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "web_tool_prefilled": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "how_to_get_files"
        -    ],
        -    "type": "object"
        -  },
        -  "MoveInPhotos": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "missing": {
        -        "default": "depends",
        -        "enum": [
        -          "warn",
        -          "depends",
        -          "bars"
        -        ],
        -        "type": "string"
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      },
        -      "tenancy_from": {
        -        "format": "date",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "tenancy_from",
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "MoveInStatement": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "missing": {
        -        "default": "depends",
        -        "enum": [
        -          "depends",
        -          "bars",
        -          "warn"
        -        ],
        -        "type": "string"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "maxLength": 400,
        -        "type": "string"
        -      },
        -      "rent_exempt": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "scope": {
        -        "default": "lines",
        -        "enum": [
        -          "lines",
        -          "all"
        -        ],
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "MoveOutList": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "business_days": {
        -        "exclusiveMinimum": 0,
        -        "type": "integer"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "maxLength": 400,
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      },
        -      "unnotified_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "business_days",
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "NotIfAbandoned": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "quote": {
        -        "maxLength": 400,
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "Note": {
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "text": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "code",
        -      "text"
        -    ],
        -    "type": "object"
        -  },
        -  "NoticeRelief": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "agreement": {
        -        "type": "string"
        -      },
        -      "lease": {
        -        "type": "string"
        -      },
        -      "reach": {
        -        "type": "string"
        -      },
        -      "relief": {
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "section",
        -      "source",
        -      "agreement",
        -      "lease",
        -      "reach",
        -      "relief"
        -    ],
        -    "type": "object"
        -  },
        -  "OverCapPenalty": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "applies_if": {
        -        "type": "string"
        -      },
        -      "conditional": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "damages": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "fees": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "fixed_usd": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "minimum_usd": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "section",
        -      "quote",
        -      "fixed_usd",
        -      "applies_if"
        -    ],
        -    "type": "object"
        -  },
        -  "PaymentMethod": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "days": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "effective_on": {
        -        "format": "date",
        -        "type": "string"
        -      },
        -      "kind": {
        -        "enum": [
        -          "electronic_after_notice",
        -          "electronic_if_paid_electronically"
        -        ],
        -        "type": "string"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "section": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "effective_on",
        -      "section"
        -    ],
        -    "type": "object"
        -  },
        -  "PenaltyRule": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "base": {
        -        "default": "withheld",
        -        "enum": [
        -          "withheld",
        -          "wrongfully_withheld",
        -          "entitled_balance",
        -          "exceeds_damages"
        -        ],
        -        "type": "string"
        -      },
        -      "base_high": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "deposit",
        -              "withheld"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "base_if_no_statement": {
        -        "anyOf": [
        -          {
        -            "const": "deposit_less_claims",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "basis": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "deposit",
        -              "amount_withheld",
        -              "monthly_rent"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "condition": {
        -        "enum": [
        -          "bad_faith",
        -          "willful",
        -          "any_late",
        -          "late",
        -          "any_violation",
        -          "without_reasonable_basis",
        -          "court_discretion",
        -          "unpaid_annual_interest",
        -          "after_tenant_notice",
        -          "absence_of_good_faith",
        -          "no_account_and_no_listing",
        -          "late_claim_notice",
        -          "late_action_or_return"
        -        ],
        -        "type": "string"
        -      },
        -      "credited_against_rent": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "rent_due",
        -              "rent_beyond_deposit"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "discretionary": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "earlier_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "earlier_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "fees_only_without_multiple": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "fixed_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "forfeits_right_to_withhold_if_late": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "interest_in_base": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "interest_only_fixed_usd": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "interest_only_multiple": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "kind": {
        -        "enum": [
        -          "multiple",
        -          "fixed",
        -          "actual_only",
        -          "forfeiture_only"
        -        ],
        -        "type": "string"
        -      },
        -      "late_refund_in_base": {
        -        "default": true,
        -        "type": "boolean"
        -      },
        -      "low_on_merits": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "max_months_rent": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "minimum_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "multiple": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "multiple_if_statement_late": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "multiple_is_additional": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "no_statement_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "not_if_abandoned": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note_from": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "per_violation": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "plus_attorney_fees": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "safe_harbor": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/SafeHarbor"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "source": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "condition"
        -    ],
        -    "type": "object"
        -  },
        -  "Photos": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "effective_by": {
        -        "default": "move_out",
        -        "enum": [
        -          "move_out",
        -          "notice"
        -        ],
        -        "type": "string"
        -      },
        -      "effective_on": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "gate_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "kinds": {
        -        "default": [
        -          "move_out",
        -          "after_repair"
        -        ],
        -        "items": {
        -          "enum": [
        -            "move_in",
        -            "move_out",
        -            "after_repair"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "missing": {
        -        "default": "warn",
        -        "enum": [
        -          "warn",
        -          "depends",
        -          "bars"
        -        ],
        -        "type": "string"
        -      },
        -      "missing_from": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "required": {
        -        "type": "boolean"
        -      },
        -      "scope": {
        -        "default": "lines",
        -        "enum": [
        -          "lines",
        -          "all"
        -        ],
        -        "type": "string"
        -      },
        -      "section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "threshold_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "required"
        -    ],
        -    "type": "object"
        -  },
        -  "Provenance": {
        -    "properties": {
        -      "rule_ids": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "rules_as_of": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "ruleset_hash": {
        -        "type": "string"
        -      },
        -      "ruleset_id": {
        -        "type": "string"
        -      },
        -      "ruleset_version": {
        -        "type": "string"
        -      },
        -      "sources": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "ruleset_id",
        -      "ruleset_version",
        -      "ruleset_hash"
        -    ],
        -    "type": "object"
        -  },
        -  "Reading": {
        -    "properties": {
        -      "counts": {
        -        "$ref": "#/$defs/ReadingCounts"
        -      },
        -      "findings": {
        -        "items": {
        -          "additionalProperties": true,
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "kind": {
        -        "enum": [
        -          "notes",
        -          "document"
        -        ],
        -        "type": "string"
        -      },
        -      "model": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "notes": {
        -        "items": {
        -          "$ref": "#/$defs/ReadingNote"
        -        },
        -        "type": "array"
        -      },
        -      "prompt_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "kind",
        -      "counts",
        -      "findings"
        -    ],
        -    "type": "object"
        -  },
        -  "ReadingCounts": {
        -    "properties": {
        -      "ai": {
        -        "type": "integer"
        -      },
        -      "parser": {
        -        "type": "integer"
        -      },
        -      "total": {
        -        "type": "integer"
        -      },
        -      "unmatched": {
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "total",
        -      "ai",
        -      "parser",
        -      "unmatched"
        -    ],
        -    "type": "object"
        -  },
        -  "ReadingNote": {
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "finding_ids": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "kind": {
        -        "enum": [
        -          "warning",
        -          "assumption"
        -        ],
        -        "type": "string"
        -      },
        -      "message": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "code",
        -      "message"
        -    ],
        -    "type": "object"
        -  },
        -  "Receipts": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "enclosed_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "estimate_days": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "estimate_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "estimate_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "gate_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "missing": {
        -        "default": "warn",
        -        "enum": [
        -          "warn",
        -          "depends",
        -          "bars"
        -        ],
        -        "type": "string"
        -      },
        -      "missing_from": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "own_work_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "required": {
        -        "type": "boolean"
        -      },
        -      "scope": {
        -        "default": "lines",
        -        "enum": [
        -          "lines",
        -          "all"
        -        ],
        -        "type": "string"
        -      },
        -      "section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "threshold_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "required"
        -    ],
        -    "type": "object"
        -  },
        -  "RentTier": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "flat_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "max_rent_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "flat_usd"
        -    ],
        -    "type": "object"
        -  },
        -  "ResultSignature": {
        -    "properties": {
        -      "jws": {
        -        "type": "string"
        -      },
        -      "payload": {
        -        "$ref": "#/$defs/ResultSignaturePayload"
        -      },
        -      "verify_code": {
        -        "type": "string"
        -      },
        -      "verify_url": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "jws",
        -      "payload",
        -      "verify_code",
        -      "verify_url"
        -    ],
        -    "type": "object"
        -  },
        -  "ResultSignaturePayload": {
        -    "properties": {
        -      "capability": {
        -        "type": "string"
        -      },
        -      "engine_version": {
        -        "type": "string"
        -      },
        -      "issued_at": {
        -        "type": "string"
        -      },
        -      "kid": {
        -        "type": "string"
        -      },
        -      "operation": {
        -        "type": "string"
        -      },
        -      "result_hash": {
        -        "type": "string"
        -      },
        -      "ruleset_hash": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "ruleset_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "v": {
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "v",
        -      "kid",
        -      "capability",
        -      "operation",
        -      "ruleset_version",
        -      "ruleset_hash",
        -      "engine_version",
        -      "result_hash",
        -      "issued_at"
        -    ],
        -    "type": "object"
        -  },
        -  "ReturnRule": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "alternatives": {
        -        "default": [],
        -        "items": {
        -          "$ref": "#/$defs/Alternative"
        -        },
        -        "type": "array"
        -      },
        -      "broken_lease": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/BrokenLease"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "counting": {
        -        "default": "calendar",
        -        "enum": [
        -          "calendar",
        -          "business"
        -        ],
        -        "type": "string"
        -      },
        -      "days": {
        -        "anyOf": [
        -          {
        -            "minimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "demand_in_writing": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "determination_days": {
        -        "anyOf": [
        -          {
        -            "exclusiveMinimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "determination_section": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "fallback": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Fallback"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "gate": {
        -        "anyOf": [
        -          {
        -            "const": "forwarding_address",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "gate_restarts": {
        -        "default": true,
        -        "type": "boolean"
        -      },
        -      "holidays": {
        -        "default": "federal",
        -        "enum": [
        -          "federal",
        -          "AZ",
        -          "CA",
        -          "NY",
        -          "TX"
        -        ],
        -        "type": "string"
        -      },
        -      "months": {
        -        "anyOf": [
        -          {
        -            "minimum": 0,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "not_if_abandoned": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/NotIfAbandoned"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "payment_method": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/PaymentMethod"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "prepaid_rent_returned": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "rollover": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "rollover_days": {
        -        "default": [
        -          "saturday",
        -          "sunday",
        -          "holiday"
        -        ],
        -        "items": {
        -          "enum": [
        -            "saturday",
        -            "sunday",
        -            "holiday"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "rollover_source": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "rollover_unsettled": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "start": {
        -        "default": "vacate",
        -        "enum": [
        -          "vacate",
        -          "termination",
        -          "later_of_vacate_and_termination",
        -          "forwarding_address",
        -          "demand",
        -          "later_of_termination_and_address",
        -          "latest_of_termination_possession_and_address",
        -          "earlier_of_termination_and_surrender",
        -          "surrender_or_termination_first",
        -          "new_tenant_occupancy",
        -          "termination_possession_and_demand",
        -          "claim_notice"
        -        ],
        -        "type": "string"
        -      },
        -      "start_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "unsettled_rollover": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/UnsettledRollover"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "unsettled_start": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/UnsettledStart"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "Review": {
        -    "properties": {
        -      "ai_read": {
        -        "default": 0,
        -        "type": "integer"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "reading_id": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "status": {
        -        "default": "verified",
        -        "enum": [
        -          "draft",
        -          "verified"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "RulesResult": {
        -    "properties": {
        -      "citations": {
        -        "items": {
        -          "$ref": "#/$defs/Citation"
        -        },
        -        "type": "array"
        -      },
        -      "city_overlay": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/CityRules"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "covered_cities": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "covered_states": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "disclaimer": {
        -        "type": "string"
        -      },
        -      "guides": {
        -        "items": {
        -          "$ref": "#/$defs/Guide"
        -        },
        -        "type": "array"
        -      },
        -      "jurisdiction": {
        -        "$ref": "#/$defs/JurisdictionRef"
        -      },
        -      "provenance": {
        -        "$ref": "#/$defs/Provenance"
        -      },
        -      "research_notes": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "rules": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/StateRules"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "small_claims": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Guide"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "summary": {
        -        "type": "string"
        -      },
        -      "warnings": {
        -        "items": {
        -          "$ref": "#/$defs/Note"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "summary",
        -      "disclaimer",
        -      "jurisdiction",
        -      "provenance"
        -    ],
        -    "type": "object"
        -  },
        -  "RunInfo": {
        -    "properties": {
        -      "capability": {
        -        "type": "string"
        -      },
        -      "contract_version": {
        -        "type": "string"
        -      },
        -      "duration_ms": {
        -        "type": "integer"
        -      },
        -      "engine_version": {
        -        "type": "string"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "operation": {
        -        "type": "string"
        -      },
        -      "received_at": {
        -        "format": "date-time",
        -        "type": "string"
        -      },
        -      "ruleset_hash": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "ruleset_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "capability",
        -      "operation",
        -      "contract_version",
        -      "engine_version",
        -      "ruleset_version",
        -      "ruleset_hash",
        -      "received_at",
        -      "duration_ms"
        -    ],
        -    "type": "object"
        -  },
        -  "SafeHarbor": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "address_due": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "by_termination",
        -              "upon_termination"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "address_due_quote": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "conditions": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "late_address": {
        -        "anyOf": [
        -          {
        -            "const": "unsettled",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "lease_notice_address_counts": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "requires_mailing": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      },
        -      "when": {
        -        "const": "no_forwarding_address",
        -        "default": "no_forwarding_address",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "StateRules": {
        -    "properties": {
        -      "applicability": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "deductions": {
        -        "$ref": "#/$defs/DeductionRules"
        -      },
        -      "deposit_cap": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/DepositCap"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "deposit_cap_months_rent": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "forfeiture": {
        -        "items": {
        -          "$ref": "#/$defs/Forfeiture"
        -        },
        -        "type": "array"
        -      },
        -      "interest": {
        -        "$ref": "#/$defs/InterestRule"
        -      },
        -      "itemization": {
        -        "$ref": "#/$defs/Itemization"
        -      },
        -      "notes": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "penalty": {
        -        "$ref": "#/$defs/PenaltyRule"
        -      },
        -      "recent_changes": {
        -        "items": {
        -          "$ref": "#/$defs/Change"
        -        },
        -        "type": "array"
        -      },
        -      "return_rule": {
        -        "$ref": "#/$defs/ReturnRule"
        -      },
        -      "statute": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "statute",
        -      "return_rule",
        -      "itemization",
        -      "deductions",
        -      "interest",
        -      "penalty"
        -    ],
        -    "type": "object"
        -  },
        -  "UnitTier": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "max_units": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "percent": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "percent"
        -    ],
        -    "type": "object"
        -  },
        -  "UnsettledRollover": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "holidays": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "quote": {
        -        "maxLength": 1200,
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      },
        -      "start_rolls": {
        -        "default": false,
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "UnsettledStart": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "event": {
        -        "enum": [
        -          "vacate",
        -          "termination",
        -          "later_of_vacate_and_termination",
        -          "forwarding_address",
        -          "demand",
        -          "later_of_termination_and_address",
        -          "latest_of_termination_possession_and_address",
        -          "earlier_of_termination_and_surrender",
        -          "surrender_or_termination_first",
        -          "new_tenant_occupancy",
        -          "termination_possession_and_demand",
        -          "claim_notice"
        -        ],
        -        "type": "string"
        -      },
        -      "later_text_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "later_text_on": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "event",
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  "UtilityLimit": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "kinds": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "quote": {
        -        "maxLength": 600,
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "kinds",
        -      "section",
        -      "quote",
        -      "source"
        -    ],
        -    "type": "object"
        -  }
        -}
      • removedOutput schema / properties / client_refs / anyOf
        Removed value: -[
        -  {
        -    "additionalProperties": true,
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / client_refs / default
        Removed value: -null
      • addedOutput schema / properties / client_refs / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / deprecation / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "$ref": "#/$defs/Deprecation"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / deprecation / default
        Removed value: -null
      • addedOutput schema / properties / deprecation / type
        Added value: +[
        +  "array",
        +  "null"
        +]
      • removedOutput schema / properties / input_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / input_hash / default
        Removed value: -null
      • addedOutput schema / properties / input_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / links / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Links"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / links / default
        Removed value: -null
      • addedOutput schema / properties / links / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / reading / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Reading"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / reading / default
        Removed value: -null
      • addedOutput schema / properties / reading / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / request_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / request_hash / default
        Removed value: -null
      • addedOutput schema / properties / request_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / result / $ref
        Removed value: -"#/$defs/RulesResult"
      • addedOutput schema / properties / result / properties
        Added value: +{
        +  "citations": {
        +    "type": "array"
        +  },
        +  "city_overlay": {
        +    "type": [
        +      "object",
        +      "null"
        +    ]
        +  },
        +  "covered_cities": {
        +    "type": "array"
        +  },
        +  "covered_states": {
        +    "type": "array"
        +  },
        +  "disclaimer": {
        +    "type": "string"
        +  },
        +  "guides": {
        +    "type": "array"
        +  },
        +  "jurisdiction": {
        +    "type": "object"
        +  },
        +  "provenance": {
        +    "type": "object"
        +  },
        +  "research_notes": {
        +    "type": "array"
        +  },
        +  "rules": {
        +    "type": [
        +      "object",
        +      "null"
        +    ]
        +  },
        +  "small_claims": {
        +    "type": [
        +      "object",
        +      "null"
        +    ]
        +  },
        +  "summary": {
        +    "type": "string"
        +  },
        +  "warnings": {
        +    "type": "array"
        +  }
        +}
      • addedOutput schema / properties / result / required
        Added value: +[
        +  "summary",
        +  "disclaimer",
        +  "jurisdiction",
        +  "provenance"
        +]
      • addedOutput schema / properties / result / type
        Added value: +"object"
      • removedOutput schema / properties / result_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / result_hash / default
        Removed value: -null
      • addedOutput schema / properties / result_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / review / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Review"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / review / default
        Removed value: -null
      • addedOutput schema / properties / review / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / run / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/RunInfo"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / run / default
        Removed value: -null
      • addedOutput schema / properties / run / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / signature / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/ResultSignature"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / signature / default
        Removed value: -null
      • addedOutput schema / properties / signature / type
        Added value: +[
        +  "object",
        +  "null"
        +]
    • Changeddeposit_settlement_settle35 fields changed
      • removedOutput schema / $defs
        Removed value: -{
        -  "Citation": {
        -    "properties": {
        -      "accessed": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "quote": {
        -        "type": "string"
        -      },
        -      "rule": {
        -        "type": "string"
        -      },
        -      "section": {
        -        "type": "string"
        -      },
        -      "source_title": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "url": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "verbatim": {
        -        "default": true,
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "rule",
        -      "section",
        -      "quote"
        -    ],
        -    "type": "object"
        -  },
        -  "Deadline": {
        -    "properties": {
        -      "alternatives": {
        -        "items": {
        -          "$ref": "#/$defs/DeadlineAlternative"
        -        },
        -        "type": "array"
        -      },
        -      "counting": {
        -        "enum": [
        -          "calendar",
        -          "business"
        -        ],
        -        "type": "string"
        -      },
        -      "days": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "days_remaining": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "extended_to": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "interest_due_by": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "itemization_by": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "months": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "return_by": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "reverted_after": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "start_date": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "start_event": {
        -        "type": "string"
        -      },
        -      "status": {
        -        "enum": [
        -          "upcoming",
        -          "due_today",
        -          "overdue",
        -          "not_started",
        -          "none_in_statute",
        -          "reverted",
        -          "no_deposit",
        -          "met",
        -          "late"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "start_event",
        -      "counting",
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  "DeadlineAlternative": {
        -    "properties": {
        -      "applies_if": {
        -        "type": "string"
        -      },
        -      "on": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "send": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "applies_if",
        -      "send"
        -    ],
        -    "type": "object"
        -  },
        -  "DeductionResult": {
        -    "properties": {
        -      "allowed": {
        -        "enum": [
        -          "yes",
        -          "no",
        -          "depends"
        -        ],
        -        "type": "string"
        -      },
        -      "amount_allowed_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "amount_claimed_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "basis": {
        -        "enum": [
        -          "allowed_category",
        -          "normal_wear",
        -          "not_allowed",
        -          "unclassified",
        -          "forfeited",
        -          "statutory_bar",
        -          "mitigation",
        -          "excluded_by_fee",
        -          "documentation_missing"
        -        ],
        -        "type": "string"
        -      },
        -      "category": {
        -        "enum": [
        -          "unpaid_rent",
        -          "unpaid_utilities",
        -          "cleaning",
        -          "carpet",
        -          "flooring",
        -          "paint",
        -          "blinds_window_coverings",
        -          "appliance",
        -          "fixture_or_hardware",
        -          "wall_or_door_repair",
        -          "key_or_lock",
        -          "late_fees",
        -          "lease_break_fee",
        -          "moving_and_storage",
        -          "reletting_costs",
        -          "trash_and_abandoned_items",
        -          "other_damage",
        -          "other"
        -        ],
        -        "type": "string"
        -      },
        -      "depreciation": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Depreciation"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "documentation_needed": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "exclusive_option": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "fee",
        -              "actual"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "notes": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "range_high_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "range_low_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "category",
        -      "amount_claimed_usd",
        -      "allowed",
        -      "basis",
        -      "amount_allowed_usd"
        -    ],
        -    "type": "object"
        -  },
        -  "DepositCapCheck": {
        -    "properties": {
        -      "alternative_cap_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "cap_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "citation": {
        -        "type": "string"
        -      },
        -      "counted_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "exceeded": {
        -        "anyOf": [
        -          {
        -            "type": "boolean"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "months_rent": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "status": {
        -        "default": "unknown",
        -        "enum": [
        -          "within",
        -          "exceeded",
        -          "depends",
        -          "unknown",
        -          "no_cap",
        -          "not_applicable"
        -        ],
        -        "type": "string"
        -      },
        -      "variants": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "citation"
        -    ],
        -    "type": "object"
        -  },
        -  "Deprecation": {
        -    "properties": {
        -      "field": {
        -        "type": "string"
        -      },
        -      "until": {
        -        "format": "date",
        -        "type": "string"
        -      },
        -      "use": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "field",
        -      "until",
        -      "use"
        -    ],
        -    "type": "object"
        -  },
        -  "Depreciation": {
        -    "properties": {
        -      "age_years": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "applied": {
        -        "type": "boolean"
        -      },
        -      "method": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "straight_line",
        -              "step_table"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "range_high_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "range_low_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "remaining_fraction": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "schedule_source": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "source": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "useful_life_years": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "applied"
        -    ],
        -    "type": "object"
        -  },
        -  "DocumentationDuty": {
        -    "properties": {
        -      "citation": {
        -        "type": "string"
        -      },
        -      "due_by": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "duty": {
        -        "enum": [
        -          "itemized_statement",
        -          "receipts",
        -          "photos",
        -          "photos_move_in",
        -          "move_in_statement",
        -          "move_out_list"
        -        ],
        -        "type": "string"
        -      },
        -      "met": {
        -        "enum": [
        -          "yes",
        -          "no",
        -          "unknown",
        -          "not_yet_due"
        -        ],
        -        "type": "string"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "required": {
        -        "type": "boolean"
        -      },
        -      "threshold": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "duty",
        -      "required",
        -      "met",
        -      "citation"
        -    ],
        -    "type": "object"
        -  },
        -  "ForfeitureCheck": {
        -    "properties": {
        -      "amount_released_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ],
        -        "default": "0.00"
        -      },
        -      "citation": {
        -        "type": "string"
        -      },
        -      "court_rule_due_by": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "due_by": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "gate": {
        -        "type": "string"
        -      },
        -      "keeps_claim": {
        -        "type": "boolean"
        -      },
        -      "lines": {
        -        "items": {
        -          "type": "integer"
        -        },
        -        "type": "array"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "scope": {
        -        "enum": [
        -          "all",
        -          "damage"
        -        ],
        -        "type": "string"
        -      },
        -      "status": {
        -        "enum": [
        -          "met",
        -          "not_yet",
        -          "complied",
        -          "not_started",
        -          "relieved",
        -          "unknown"
        -        ],
        -        "type": "string"
        -      },
        -      "trigger": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "trigger",
        -      "status",
        -      "scope",
        -      "gate",
        -      "keeps_claim",
        -      "citation"
        -    ],
        -    "type": "object"
        -  },
        -  "Guide": {
        -    "properties": {
        -      "accessed": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "publisher": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "url": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "title"
        -    ],
        -    "type": "object"
        -  },
        -  "Interest": {
        -    "properties": {
        -      "amount_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "base_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "basis": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "citation": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "condition": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "formula": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "if_required_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "method": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "parts": {
        -        "items": {
        -          "$ref": "#/$defs/InterestPart"
        -        },
        -        "type": "array"
        -      },
        -      "period_days": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "rate_percent": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "required": {
        -        "anyOf": [
        -          {
        -            "type": "boolean"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "required"
        -    ],
        -    "type": "object"
        -  },
        -  "InterestPart": {
        -    "properties": {
        -      "amount_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "period_from": {
        -        "format": "date",
        -        "type": "string"
        -      },
        -      "period_to": {
        -        "format": "date",
        -        "type": "string"
        -      },
        -      "rate_percent": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "period_from",
        -      "period_to",
        -      "rate_percent",
        -      "amount_usd"
        -    ],
        -    "type": "object"
        -  },
        -  "JurisdictionRef": {
        -    "properties": {
        -      "city": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "city_overlay": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "city_rules_checked": {
        -        "anyOf": [
        -          {
        -            "type": "boolean"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "covered": {
        -        "type": "boolean"
        -      },
        -      "state": {
        -        "type": "string"
        -      },
        -      "state_name": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "verified": {
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "state",
        -      "covered",
        -      "verified"
        -    ],
        -    "type": "object"
        -  },
        -  "Links": {
        -    "properties": {
        -      "downloads": {
        -        "additionalProperties": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "how_to_get_files": {
        -        "type": "string"
        -      },
        -      "web_tool": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "web_tool_prefilled": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "how_to_get_files"
        -    ],
        -    "type": "object"
        -  },
        -  "Note": {
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "text": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "code",
        -      "text"
        -    ],
        -    "type": "object"
        -  },
        -  "NoteFormat": {
        -    "properties": {
        -      "bold": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "larger_than_body_pt": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "min_pt": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "Outcome": {
        -    "properties": {
        -      "interest_unknown": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "interest_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "next_due": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "obligation_mode": {
        -        "default": "all",
        -        "enum": [
        -          "all",
        -          "alternative"
        -        ],
        -        "type": "string"
        -      },
        -      "owed_now_min_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "owed_now_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "refund_due_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "refund_min_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "returned_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "stages": {
        -        "items": {
        -          "$ref": "#/$defs/Stage"
        -        },
        -        "type": "array"
        -      },
        -      "status": {
        -        "enum": [
        -          "upcoming",
        -          "due_today",
        -          "overdue",
        -          "not_started",
        -          "none_in_statute",
        -          "reverted",
        -          "no_deposit",
        -          "met",
        -          "late"
        -        ],
        -        "type": "string"
        -      },
        -      "tenant_owes_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "uncertain": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "refund_due_usd",
        -      "refund_min_usd",
        -      "tenant_owes_usd"
        -    ],
        -    "type": "object"
        -  },
        -  "PenaltyExposure": {
        -    "properties": {
        -      "additional": {
        -        "items": {
        -          "$ref": "#/$defs/PenaltyExposure"
        -        },
        -        "type": "array"
        -      },
        -      "applies_if": {
        -        "type": "string"
        -      },
        -      "base": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "basis": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "citation": {
        -        "type": "string"
        -      },
        -      "discretionary": {
        -        "type": "boolean"
        -      },
        -      "estimated_max_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "estimated_min_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "fees_only_without_multiple": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "fixed_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "forfeits_right_to_withhold": {
        -        "anyOf": [
        -          {
        -            "type": "boolean"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "in_addition_to_refund": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "kind": {
        -        "type": "string"
        -      },
        -      "minimum_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "multiple": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "not_applicable_reason": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "per_violation": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "plus_attorney_fees": {
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "applies_if",
        -      "kind",
        -      "discretionary",
        -      "plus_attorney_fees",
        -      "forfeits_right_to_withhold",
        -      "citation"
        -    ],
        -    "type": "object"
        -  },
        -  "Provenance": {
        -    "properties": {
        -      "rule_ids": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "rules_as_of": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "ruleset_hash": {
        -        "type": "string"
        -      },
        -      "ruleset_id": {
        -        "type": "string"
        -      },
        -      "ruleset_version": {
        -        "type": "string"
        -      },
        -      "sources": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "ruleset_id",
        -      "ruleset_version",
        -      "ruleset_hash"
        -    ],
        -    "type": "object"
        -  },
        -  "Reading": {
        -    "properties": {
        -      "counts": {
        -        "$ref": "#/$defs/ReadingCounts"
        -      },
        -      "findings": {
        -        "items": {
        -          "additionalProperties": true,
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "kind": {
        -        "enum": [
        -          "notes",
        -          "document"
        -        ],
        -        "type": "string"
        -      },
        -      "model": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "notes": {
        -        "items": {
        -          "$ref": "#/$defs/ReadingNote"
        -        },
        -        "type": "array"
        -      },
        -      "prompt_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "kind",
        -      "counts",
        -      "findings"
        -    ],
        -    "type": "object"
        -  },
        -  "ReadingCounts": {
        -    "properties": {
        -      "ai": {
        -        "type": "integer"
        -      },
        -      "parser": {
        -        "type": "integer"
        -      },
        -      "total": {
        -        "type": "integer"
        -      },
        -      "unmatched": {
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "total",
        -      "ai",
        -      "parser",
        -      "unmatched"
        -    ],
        -    "type": "object"
        -  },
        -  "ReadingNote": {
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "finding_ids": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "kind": {
        -        "enum": [
        -          "warning",
        -          "assumption"
        -        ],
        -        "type": "string"
        -      },
        -      "message": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "code",
        -      "message"
        -    ],
        -    "type": "object"
        -  },
        -  "ResultSignature": {
        -    "properties": {
        -      "jws": {
        -        "type": "string"
        -      },
        -      "payload": {
        -        "$ref": "#/$defs/ResultSignaturePayload"
        -      },
        -      "verify_code": {
        -        "type": "string"
        -      },
        -      "verify_url": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "jws",
        -      "payload",
        -      "verify_code",
        -      "verify_url"
        -    ],
        -    "type": "object"
        -  },
        -  "ResultSignaturePayload": {
        -    "properties": {
        -      "capability": {
        -        "type": "string"
        -      },
        -      "engine_version": {
        -        "type": "string"
        -      },
        -      "issued_at": {
        -        "type": "string"
        -      },
        -      "kid": {
        -        "type": "string"
        -      },
        -      "operation": {
        -        "type": "string"
        -      },
        -      "result_hash": {
        -        "type": "string"
        -      },
        -      "ruleset_hash": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "ruleset_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "v": {
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "v",
        -      "kid",
        -      "capability",
        -      "operation",
        -      "ruleset_version",
        -      "ruleset_hash",
        -      "engine_version",
        -      "result_hash",
        -      "issued_at"
        -    ],
        -    "type": "object"
        -  },
        -  "Review": {
        -    "properties": {
        -      "ai_read": {
        -        "default": 0,
        -        "type": "integer"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "reading_id": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "status": {
        -        "default": "verified",
        -        "enum": [
        -          "draft",
        -          "verified"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "RunInfo": {
        -    "properties": {
        -      "capability": {
        -        "type": "string"
        -      },
        -      "contract_version": {
        -        "type": "string"
        -      },
        -      "duration_ms": {
        -        "type": "integer"
        -      },
        -      "engine_version": {
        -        "type": "string"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "operation": {
        -        "type": "string"
        -      },
        -      "received_at": {
        -        "format": "date-time",
        -        "type": "string"
        -      },
        -      "ruleset_hash": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "ruleset_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "capability",
        -      "operation",
        -      "contract_version",
        -      "engine_version",
        -      "ruleset_version",
        -      "ruleset_hash",
        -      "received_at",
        -      "duration_ms"
        -    ],
        -    "type": "object"
        -  },
        -  "SettleResult": {
        -    "properties": {
        -      "as_of": {
        -        "format": "date",
        -        "type": "string"
        -      },
        -      "assumptions": {
        -        "items": {
        -          "$ref": "#/$defs/Note"
        -        },
        -        "type": "array"
        -      },
        -      "citations": {
        -        "items": {
        -          "$ref": "#/$defs/Citation"
        -        },
        -        "type": "array"
        -      },
        -      "deadline": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Deadline"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "deductions": {
        -        "items": {
        -          "$ref": "#/$defs/DeductionResult"
        -        },
        -        "type": "array"
        -      },
        -      "deposit_cap": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/DepositCapCheck"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "disclaimer": {
        -        "type": "string"
        -      },
        -      "documentation": {
        -        "items": {
        -          "$ref": "#/$defs/DocumentationDuty"
        -        },
        -        "type": "array"
        -      },
        -      "forfeiture": {
        -        "items": {
        -          "$ref": "#/$defs/ForfeitureCheck"
        -        },
        -        "type": "array"
        -      },
        -      "guides": {
        -        "items": {
        -          "$ref": "#/$defs/Guide"
        -        },
        -        "type": "array"
        -      },
        -      "interest": {
        -        "$ref": "#/$defs/Interest"
        -      },
        -      "jurisdiction": {
        -        "$ref": "#/$defs/JurisdictionRef"
        -      },
        -      "outcome": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Outcome"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "penalty_exposure": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/PenaltyExposure"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "provenance": {
        -        "$ref": "#/$defs/Provenance"
        -      },
        -      "small_claims": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Guide"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "statement": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Statement"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "summary": {
        -        "type": "string"
        -      },
        -      "timeliness": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Timeliness"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "totals": {
        -        "$ref": "#/$defs/Totals"
        -      },
        -      "unknowns": {
        -        "items": {
        -          "$ref": "#/$defs/Note"
        -        },
        -        "type": "array"
        -      },
        -      "warnings": {
        -        "items": {
        -          "$ref": "#/$defs/Note"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "summary",
        -      "disclaimer",
        -      "jurisdiction",
        -      "as_of",
        -      "totals",
        -      "interest",
        -      "provenance"
        -    ],
        -    "type": "object"
        -  },
        -  "Stage": {
        -    "properties": {
        -      "days": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "done_on": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "due_by": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "duty": {
        -        "enum": [
        -          "itemized_statement",
        -          "refund",
        -          "interest"
        -        ],
        -        "type": "string"
        -      },
        -      "label": {
        -        "type": "string"
        -      },
        -      "status": {
        -        "enum": [
        -          "met",
        -          "late",
        -          "short",
        -          "overdue",
        -          "due_today",
        -          "upcoming",
        -          "not_started",
        -          "none_in_statute"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "duty",
        -      "label",
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  "Statement": {
        -    "properties": {
        -      "due_by": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "lines": {
        -        "items": {
        -          "$ref": "#/$defs/StatementLine"
        -        },
        -        "type": "array"
        -      },
        -      "notes": {
        -        "items": {
        -          "$ref": "#/$defs/StatementNote"
        -        },
        -        "type": "array"
        -      },
        -      "refund_due_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "text": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "lines",
        -      "refund_due_usd",
        -      "text"
        -    ],
        -    "type": "object"
        -  },
        -  "StatementLine": {
        -    "properties": {
        -      "amount_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "label": {
        -        "type": "string"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "label"
        -    ],
        -    "type": "object"
        -  },
        -  "StatementNote": {
        -    "properties": {
        -      "audience": {
        -        "enum": [
        -          "tenant",
        -          "manager"
        -        ],
        -        "type": "string"
        -      },
        -      "blanks": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "citation": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "format": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/NoteFormat"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "kind": {
        -        "default": "note",
        -        "enum": [
        -          "note",
        -          "required_notice",
        -          "attestation"
        -        ],
        -        "type": "string"
        -      },
        -      "text": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "text",
        -      "audience"
        -    ],
        -    "type": "object"
        -  },
        -  "Timeliness": {
        -    "properties": {
        -      "amount_kept_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "amount_returned_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "checks": {
        -        "items": {
        -          "$ref": "#/$defs/TimelyCheck"
        -        },
        -        "type": "array"
        -      },
        -      "days_late": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "difference_min_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "difference_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "late": {
        -        "anyOf": [
        -          {
        -            "type": "boolean"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "late_since": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "note": {
        -        "default": "",
        -        "type": "string"
        -      },
        -      "on": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "what": {
        -        "enum": [
        -          "nothing",
        -          "full_refund",
        -          "partial_refund",
        -          "itemized_statement"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "what",
        -      "late"
        -    ],
        -    "type": "object"
        -  },
        -  "TimelyCheck": {
        -    "properties": {
        -      "days_late": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "days_left": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "done_on": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "due_by": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "duty": {
        -        "enum": [
        -          "refund",
        -          "itemized_statement",
        -          "interest"
        -        ],
        -        "type": "string"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "status": {
        -        "enum": [
        -          "on_time",
        -          "late",
        -          "not_yet_due",
        -          "overdue",
        -          "not_started",
        -          "none_in_statute",
        -          "reverted"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "duty",
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  "Totals": {
        -    "properties": {
        -      "allowed_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "claimed_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "counted_floor_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ],
        -        "default": "0.00"
        -      },
        -      "depends_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ],
        -        "default": "0.00"
        -      },
        -      "deposit_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "interest_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "refund_due_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "refund_min_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ],
        -        "default": "0.00"
        -      },
        -      "tenant_owes_usd": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "deposit_usd",
        -      "claimed_usd",
        -      "allowed_usd",
        -      "refund_due_usd",
        -      "tenant_owes_usd"
        -    ],
        -    "type": "object"
        -  }
        -}
      • removedOutput schema / properties / client_refs / anyOf
        Removed value: -[
        -  {
        -    "additionalProperties": true,
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / client_refs / default
        Removed value: -null
      • addedOutput schema / properties / client_refs / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / deprecation / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "$ref": "#/$defs/Deprecation"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / deprecation / default
        Removed value: -null
      • addedOutput schema / properties / deprecation / type
        Added value: +[
        +  "array",
        +  "null"
        +]
      • removedOutput schema / properties / input_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / input_hash / default
        Removed value: -null
      • addedOutput schema / properties / input_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / links / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Links"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / links / default
        Removed value: -null
      • addedOutput schema / properties / links / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / reading / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Reading"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / reading / default
        Removed value: -null
      • addedOutput schema / properties / reading / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / request_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / request_hash / default
        Removed value: -null
      • addedOutput schema / properties / request_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / result / $ref
        Removed value: -"#/$defs/SettleResult"
      • addedOutput schema / properties / result / properties
        Added value: +{
        +  "as_of": {
        +    "type": "string"
        +  },
        +  "assumptions": {
        +    "type": "array"
        +  },
        +  "citations": {
        +    "type": "array"
        +  },
        +  "deadline": {
        +    "type": [
        +      "object",
        +      "null"
        +    ]
        +  },
        +  "deductions": {
        +    "type": "array"
        +  },
        +  "deposit_cap": {
        +    "type": [
        +      "object",
        +      "null"
        +    ]
        +  },
        +  "disclaimer": {
        +    "type": "string"
        +  },
        +  "documentation": {
        +    "type": "array"
        +  },
        +  "forfeiture": {
        +    "type": "array"
        +  },
        +  "guides": {
        +    "type": "array"
        +  },
        +  "interest": {
        +    "type": "object"
        +  },
        +  "jurisdiction": {
        +    "type": "object"
        +  },
        +  "outcome": {
        +    "type": [
        +      "object",
        +      "null"
        +    ]
        +  },
        +  "penalty_exposure": {
        +    "type": [
        +      "object",
        +      "null"
        +    ]
        +  },
        +  "provenance": {
        +    "type": "object"
        +  },
        +  "small_claims": {
        +    "type": [
        +      "object",
        +      "null"
        +    ]
        +  },
        +  "statement": {
        +    "type": [
        +      "object",
        +      "null"
        +    ]
        +  },
        +  "summary": {
        +    "type": "string"
        +  },
        +  "timeliness": {
        +    "type": [
        +      "object",
        +      "null"
        +    ]
        +  },
        +  "totals": {
        +    "type": "object"
        +  },
        +  "unknowns": {
        +    "type": "array"
        +  },
        +  "warnings": {
        +    "type": "array"
        +  }
        +}
      • addedOutput schema / properties / result / required
        Added value: +[
        +  "summary",
        +  "disclaimer",
        +  "jurisdiction",
        +  "as_of",
        +  "totals",
        +  "interest",
        +  "provenance"
        +]
      • addedOutput schema / properties / result / type
        Added value: +"object"
      • removedOutput schema / properties / result_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / result_hash / default
        Removed value: -null
      • addedOutput schema / properties / result_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / review / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Review"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / review / default
        Removed value: -null
      • addedOutput schema / properties / review / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / run / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/RunInfo"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / run / default
        Removed value: -null
      • addedOutput schema / properties / run / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / signature / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/ResultSignature"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / signature / default
        Removed value: -null
      • addedOutput schema / properties / signature / type
        Added value: +[
        +  "object",
        +  "null"
        +]
    • Changedproperty_turnover_issue_codes35 fields changed
      • removedOutput schema / $defs
        Removed value: -{
        -  "Deprecation": {
        -    "properties": {
        -      "field": {
        -        "type": "string"
        -      },
        -      "until": {
        -        "format": "date",
        -        "type": "string"
        -      },
        -      "use": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "field",
        -      "until",
        -      "use"
        -    ],
        -    "type": "object"
        -  },
        -  "IssueCode": {
        -    "properties": {
        -      "aliases": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "code": {
        -        "type": "string"
        -      },
        -      "default_extent": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "description": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "examples": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "group": {
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "not_when": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "refer_out": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "rooms": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "code",
        -      "name",
        -      "group"
        -    ],
        -    "type": "object"
        -  },
        -  "IssueCodesResult": {
        -    "properties": {
        -      "areas": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "codes": {
        -        "items": {
        -          "$ref": "#/$defs/IssueCode"
        -        },
        -        "type": "array"
        -      },
        -      "groups": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "manual_quote_code": {
        -        "default": "general.manual_quote",
        -        "type": "string"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "ruleset_version": {
        -        "type": "string"
        -      },
        -      "total_matches": {
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "ruleset_version",
        -      "total_matches",
        -      "codes"
        -    ],
        -    "type": "object"
        -  },
        -  "Links": {
        -    "properties": {
        -      "downloads": {
        -        "additionalProperties": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "how_to_get_files": {
        -        "type": "string"
        -      },
        -      "web_tool": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "web_tool_prefilled": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "how_to_get_files"
        -    ],
        -    "type": "object"
        -  },
        -  "Reading": {
        -    "properties": {
        -      "counts": {
        -        "$ref": "#/$defs/ReadingCounts"
        -      },
        -      "findings": {
        -        "items": {
        -          "additionalProperties": true,
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "kind": {
        -        "enum": [
        -          "notes",
        -          "document"
        -        ],
        -        "type": "string"
        -      },
        -      "model": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "notes": {
        -        "items": {
        -          "$ref": "#/$defs/ReadingNote"
        -        },
        -        "type": "array"
        -      },
        -      "prompt_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "kind",
        -      "counts",
        -      "findings"
        -    ],
        -    "type": "object"
        -  },
        -  "ReadingCounts": {
        -    "properties": {
        -      "ai": {
        -        "type": "integer"
        -      },
        -      "parser": {
        -        "type": "integer"
        -      },
        -      "total": {
        -        "type": "integer"
        -      },
        -      "unmatched": {
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "total",
        -      "ai",
        -      "parser",
        -      "unmatched"
        -    ],
        -    "type": "object"
        -  },
        -  "ReadingNote": {
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "finding_ids": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "kind": {
        -        "enum": [
        -          "warning",
        -          "assumption"
        -        ],
        -        "type": "string"
        -      },
        -      "message": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "code",
        -      "message"
        -    ],
        -    "type": "object"
        -  },
        -  "ResultSignature": {
        -    "properties": {
        -      "jws": {
        -        "type": "string"
        -      },
        -      "payload": {
        -        "$ref": "#/$defs/ResultSignaturePayload"
        -      },
        -      "verify_code": {
        -        "type": "string"
        -      },
        -      "verify_url": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "jws",
        -      "payload",
        -      "verify_code",
        -      "verify_url"
        -    ],
        -    "type": "object"
        -  },
        -  "ResultSignaturePayload": {
        -    "properties": {
        -      "capability": {
        -        "type": "string"
        -      },
        -      "engine_version": {
        -        "type": "string"
        -      },
        -      "issued_at": {
        -        "type": "string"
        -      },
        -      "kid": {
        -        "type": "string"
        -      },
        -      "operation": {
        -        "type": "string"
        -      },
        -      "result_hash": {
        -        "type": "string"
        -      },
        -      "ruleset_hash": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "ruleset_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "v": {
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "v",
        -      "kid",
        -      "capability",
        -      "operation",
        -      "ruleset_version",
        -      "ruleset_hash",
        -      "engine_version",
        -      "result_hash",
        -      "issued_at"
        -    ],
        -    "type": "object"
        -  },
        -  "Review": {
        -    "properties": {
        -      "ai_read": {
        -        "default": 0,
        -        "type": "integer"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "reading_id": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "status": {
        -        "default": "verified",
        -        "enum": [
        -          "draft",
        -          "verified"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "RunInfo": {
        -    "properties": {
        -      "capability": {
        -        "type": "string"
        -      },
        -      "contract_version": {
        -        "type": "string"
        -      },
        -      "duration_ms": {
        -        "type": "integer"
        -      },
        -      "engine_version": {
        -        "type": "string"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "operation": {
        -        "type": "string"
        -      },
        -      "received_at": {
        -        "format": "date-time",
        -        "type": "string"
        -      },
        -      "ruleset_hash": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "ruleset_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "capability",
        -      "operation",
        -      "contract_version",
        -      "engine_version",
        -      "ruleset_version",
        -      "ruleset_hash",
        -      "received_at",
        -      "duration_ms"
        -    ],
        -    "type": "object"
        -  }
        -}
      • removedOutput schema / properties / client_refs / anyOf
        Removed value: -[
        -  {
        -    "additionalProperties": true,
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / client_refs / default
        Removed value: -null
      • addedOutput schema / properties / client_refs / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / deprecation / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "$ref": "#/$defs/Deprecation"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / deprecation / default
        Removed value: -null
      • addedOutput schema / properties / deprecation / type
        Added value: +[
        +  "array",
        +  "null"
        +]
      • removedOutput schema / properties / input_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / input_hash / default
        Removed value: -null
      • addedOutput schema / properties / input_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / links / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Links"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / links / default
        Removed value: -null
      • addedOutput schema / properties / links / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / reading / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Reading"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / reading / default
        Removed value: -null
      • addedOutput schema / properties / reading / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / request_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / request_hash / default
        Removed value: -null
      • addedOutput schema / properties / request_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / result / $ref
        Removed value: -"#/$defs/IssueCodesResult"
      • addedOutput schema / properties / result / properties
        Added value: +{
        +  "areas": {
        +    "type": "array"
        +  },
        +  "codes": {
        +    "type": "array"
        +  },
        +  "groups": {
        +    "type": "array"
        +  },
        +  "manual_quote_code": {
        +    "type": "string"
        +  },
        +  "note": {
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "ruleset_version": {
        +    "type": "string"
        +  },
        +  "total_matches": {
        +    "type": "integer"
        +  }
        +}
      • addedOutput schema / properties / result / required
        Added value: +[
        +  "ruleset_version",
        +  "total_matches",
        +  "codes"
        +]
      • addedOutput schema / properties / result / type
        Added value: +"object"
      • removedOutput schema / properties / result_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / result_hash / default
        Removed value: -null
      • addedOutput schema / properties / result_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / review / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Review"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / review / default
        Removed value: -null
      • addedOutput schema / properties / review / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / run / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/RunInfo"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / run / default
        Removed value: -null
      • addedOutput schema / properties / run / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / signature / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/ResultSignature"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / signature / default
        Removed value: -null
      • addedOutput schema / properties / signature / type
        Added value: +[
        +  "object",
        +  "null"
        +]
    • Changedproperty_turnover_quick_estimate35 fields changed
      • removedOutput schema / $defs
        Removed value: -{
        -  "CostRange": {
        -    "properties": {
        -      "expected": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "high": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "low": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "low",
        -      "expected",
        -      "high"
        -    ],
        -    "type": "object"
        -  },
        -  "Deprecation": {
        -    "properties": {
        -      "field": {
        -        "type": "string"
        -      },
        -      "until": {
        -        "format": "date",
        -        "type": "string"
        -      },
        -      "use": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "field",
        -      "until",
        -      "use"
        -    ],
        -    "type": "object"
        -  },
        -  "Extent": {
        -    "enum": [
        -      "spot",
        -      "partial",
        -      "full"
        -    ],
        -    "type": "string"
        -  },
        -  "FindingResolution": {
        -    "properties": {
        -      "code": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "confidence": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "confirmed": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "extent": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Extent"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "finding_id": {
        -        "type": "string"
        -      },
        -      "issue_name": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "line_ids": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "location": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "match_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "model": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "needs_review": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "not_billed_reason": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "none",
        -              "ok",
        -              "done",
        -              "no_condition"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "resolution": {
        -        "enum": [
        -          "exact",
        -          "alias",
        -          "ai",
        -          "unmapped",
        -          "not_billed"
        -        ],
        -        "type": "string"
        -      },
        -      "suggested_codes": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "suggestions": {
        -        "items": {
        -          "$ref": "#/$defs/Suggestion"
        -        },
        -        "type": "array"
        -      },
        -      "text": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "uncertain": {
        -        "default": false,
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "finding_id",
        -      "resolution",
        -      "code",
        -      "extent"
        -    ],
        -    "type": "object"
        -  },
        -  "Links": {
        -    "properties": {
        -      "downloads": {
        -        "additionalProperties": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "how_to_get_files": {
        -        "type": "string"
        -      },
        -      "web_tool": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "web_tool_prefilled": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "how_to_get_files"
        -    ],
        -    "type": "object"
        -  },
        -  "Note": {
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "finding_ids": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "line_ids": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "message": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "code",
        -      "message"
        -    ],
        -    "type": "object"
        -  },
        -  "Phase": {
        -    "enum": [
        -      "assess",
        -      "trash_out",
        -      "repairs",
        -      "paint",
        -      "flooring",
        -      "appliances",
        -      "cleaning",
        -      "punch",
        -      "rekey"
        -    ],
        -    "type": "string"
        -  },
        -  "PriceBasis": {
        -    "enum": [
        -      "rate_card",
        -      "unit_price",
        -      "labor_derived",
        -      "placeholder"
        -    ],
        -    "type": "string"
        -  },
        -  "PriceTier": {
        -    "enum": [
        -      "bulk_contract",
        -      "pm_vendor",
        -      "retail_one_off"
        -    ],
        -    "type": "string"
        -  },
        -  "Priority": {
        -    "enum": [
        -      "must",
        -      "should",
        -      "could"
        -    ],
        -    "type": "string"
        -  },
        -  "Profile": {
        -    "enum": [
        -      "minimum",
        -      "standard",
        -      "premium"
        -    ],
        -    "type": "string"
        -  },
        -  "Provenance": {
        -    "properties": {
        -      "rules_as_of": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "ruleset_hash": {
        -        "type": "string"
        -      },
        -      "ruleset_id": {
        -        "type": "string"
        -      },
        -      "ruleset_version": {
        -        "type": "string"
        -      },
        -      "sources": {
        -        "items": {
        -          "$ref": "#/$defs/SourceRef"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "ruleset_id",
        -      "ruleset_version",
        -      "ruleset_hash",
        -      "sources"
        -    ],
        -    "type": "object"
        -  },
        -  "RateCardUse": {
        -    "properties": {
        -      "entry": {
        -        "type": "integer"
        -      },
        -      "lines": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "note": {
        -        "type": "string"
        -      },
        -      "target": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "entry",
        -      "target",
        -      "note"
        -    ],
        -    "type": "object"
        -  },
        -  "Reading": {
        -    "properties": {
        -      "counts": {
        -        "$ref": "#/$defs/ReadingCounts"
        -      },
        -      "findings": {
        -        "items": {
        -          "additionalProperties": true,
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "kind": {
        -        "enum": [
        -          "notes",
        -          "document"
        -        ],
        -        "type": "string"
        -      },
        -      "model": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "notes": {
        -        "items": {
        -          "$ref": "#/$defs/ReadingNote"
        -        },
        -        "type": "array"
        -      },
        -      "prompt_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "kind",
        -      "counts",
        -      "findings"
        -    ],
        -    "type": "object"
        -  },
        -  "ReadingCounts": {
        -    "properties": {
        -      "ai": {
        -        "type": "integer"
        -      },
        -      "parser": {
        -        "type": "integer"
        -      },
        -      "total": {
        -        "type": "integer"
        -      },
        -      "unmatched": {
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "total",
        -      "ai",
        -      "parser",
        -      "unmatched"
        -    ],
        -    "type": "object"
        -  },
        -  "ReadingNote": {
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "finding_ids": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "kind": {
        -        "enum": [
        -          "warning",
        -          "assumption"
        -        ],
        -        "type": "string"
        -      },
        -      "message": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "code",
        -      "message"
        -    ],
        -    "type": "object"
        -  },
        -  "ReferOutNote": {
        -    "properties": {
        -      "blocks_phases": {
        -        "items": {
        -          "$ref": "#/$defs/Phase"
        -        },
        -        "type": "array"
        -      },
        -      "finding_ids": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "kind": {
        -        "enum": [
        -          "assessment",
        -          "compliance"
        -        ],
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "professional": {
        -        "type": "string"
        -      },
        -      "reason": {
        -        "type": "string"
        -      },
        -      "sources": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "unconfirmed": {
        -        "default": false,
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "name",
        -      "professional",
        -      "reason",
        -      "kind",
        -      "finding_ids",
        -      "blocks_phases",
        -      "sources"
        -    ],
        -    "type": "object"
        -  },
        -  "Region": {
        -    "properties": {
        -      "basis": {
        -        "enum": [
        -          "metro",
        -          "nonmetro",
        -          "national"
        -        ],
        -        "type": "string"
        -      },
        -      "cbsa": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "cbsa_name": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "vintage": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "zip3": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "zip3",
        -      "basis"
        -    ],
        -    "type": "object"
        -  },
        -  "Responsibility": {
        -    "enum": [
        -      "normal_wear",
        -      "likely_damage",
        -      "elective",
        -      "undetermined",
        -      "mixed"
        -    ],
        -    "type": "string"
        -  },
        -  "ResultSignature": {
        -    "properties": {
        -      "jws": {
        -        "type": "string"
        -      },
        -      "payload": {
        -        "$ref": "#/$defs/ResultSignaturePayload"
        -      },
        -      "verify_code": {
        -        "type": "string"
        -      },
        -      "verify_url": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "jws",
        -      "payload",
        -      "verify_code",
        -      "verify_url"
        -    ],
        -    "type": "object"
        -  },
        -  "ResultSignaturePayload": {
        -    "properties": {
        -      "capability": {
        -        "type": "string"
        -      },
        -      "engine_version": {
        -        "type": "string"
        -      },
        -      "issued_at": {
        -        "type": "string"
        -      },
        -      "kid": {
        -        "type": "string"
        -      },
        -      "operation": {
        -        "type": "string"
        -      },
        -      "result_hash": {
        -        "type": "string"
        -      },
        -      "ruleset_hash": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "ruleset_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "v": {
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "v",
        -      "kid",
        -      "capability",
        -      "operation",
        -      "ruleset_version",
        -      "ruleset_hash",
        -      "engine_version",
        -      "result_hash",
        -      "issued_at"
        -    ],
        -    "type": "object"
        -  },
        -  "Review": {
        -    "properties": {
        -      "ai_read": {
        -        "default": 0,
        -        "type": "integer"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "reading_id": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "status": {
        -        "default": "verified",
        -        "enum": [
        -          "draft",
        -          "verified"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "RunInfo": {
        -    "properties": {
        -      "capability": {
        -        "type": "string"
        -      },
        -      "contract_version": {
        -        "type": "string"
        -      },
        -      "duration_ms": {
        -        "type": "integer"
        -      },
        -      "engine_version": {
        -        "type": "string"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "operation": {
        -        "type": "string"
        -      },
        -      "received_at": {
        -        "format": "date-time",
        -        "type": "string"
        -      },
        -      "ruleset_hash": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "ruleset_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "capability",
        -      "operation",
        -      "contract_version",
        -      "engine_version",
        -      "ruleset_version",
        -      "ruleset_hash",
        -      "received_at",
        -      "duration_ms"
        -    ],
        -    "type": "object"
        -  },
        -  "ScopeLine": {
        -    "properties": {
        -      "allowance": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/CostRange"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "confidence": {
        -        "enum": [
        -          "sourced",
        -          "industry_typical",
        -          "assumed"
        -        ],
        -        "type": "string"
        -      },
        -      "cost": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "decision": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "approve",
        -              "decline",
        -              "defer"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "finding_ids": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "line_id": {
        -        "type": "string"
        -      },
        -      "location": {
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "needs_review": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "phase": {
        -        "$ref": "#/$defs/Phase"
        -      },
        -      "price_basis": {
        -        "$ref": "#/$defs/PriceBasis"
        -      },
        -      "priority": {
        -        "$ref": "#/$defs/Priority"
        -      },
        -      "quantity": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "quantity_source": {
        -        "enum": [
        -          "given",
        -          "converted",
        -          "derived",
        -          "fixed"
        -        ],
        -        "type": "string"
        -      },
        -      "refer_out": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "responsibility_by_finding": {
        -        "additionalProperties": {
        -          "$ref": "#/$defs/Responsibility"
        -        },
        -        "type": "object"
        -      },
        -      "responsibility_hint": {
        -        "$ref": "#/$defs/Responsibility"
        -      },
        -      "rule_ids": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "task_id": {
        -        "type": "string"
        -      },
        -      "to_confirm": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "trade": {
        -        "$ref": "#/$defs/Trade"
        -      },
        -      "unit_price": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "uom": {
        -        "$ref": "#/$defs/Uom"
        -      },
        -      "vendor_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "line_id",
        -      "task_id",
        -      "name",
        -      "trade",
        -      "phase",
        -      "priority",
        -      "location",
        -      "finding_ids",
        -      "quantity",
        -      "uom",
        -      "quantity_source",
        -      "price_basis",
        -      "unit_price",
        -      "cost",
        -      "confidence",
        -      "responsibility_hint",
        -      "rule_ids"
        -    ],
        -    "type": "object"
        -  },
        -  "ScopeResult": {
        -    "properties": {
        -      "assumptions": {
        -        "items": {
        -          "$ref": "#/$defs/Note"
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "enum": [
        -          "summary",
        -          "full"
        -        ],
        -        "type": "string"
        -      },
        -      "disclaimer": {
        -        "type": "string"
        -      },
        -      "findings": {
        -        "items": {
        -          "$ref": "#/$defs/FindingResolution"
        -        },
        -        "type": "array"
        -      },
        -      "lines": {
        -        "items": {
        -          "$ref": "#/$defs/ScopeLine"
        -        },
        -        "type": "array"
        -      },
        -      "lines_omitted": {
        -        "type": "integer"
        -      },
        -      "omitted_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "price_tier": {
        -        "$ref": "#/$defs/PriceTier",
        -        "default": "pm_vendor"
        -      },
        -      "profile": {
        -        "$ref": "#/$defs/Profile"
        -      },
        -      "provenance": {
        -        "$ref": "#/$defs/Provenance"
        -      },
        -      "rate_card_applied": {
        -        "items": {
        -          "$ref": "#/$defs/RateCardUse"
        -        },
        -        "type": "array"
        -      },
        -      "rate_card_ignored": {
        -        "items": {
        -          "$ref": "#/$defs/RateCardUse"
        -        },
        -        "type": "array"
        -      },
        -      "refer_outs": {
        -        "items": {
        -          "$ref": "#/$defs/ReferOutNote"
        -        },
        -        "type": "array"
        -      },
        -      "region": {
        -        "$ref": "#/$defs/Region"
        -      },
        -      "summary": {
        -        "type": "string"
        -      },
        -      "totals": {
        -        "$ref": "#/$defs/Totals"
        -      },
        -      "trade_scopes": {
        -        "items": {
        -          "$ref": "#/$defs/TradeScope"
        -        },
        -        "type": "array"
        -      },
        -      "unknowns": {
        -        "items": {
        -          "$ref": "#/$defs/Note"
        -        },
        -        "type": "array"
        -      },
        -      "warnings": {
        -        "items": {
        -          "$ref": "#/$defs/Note"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "summary",
        -      "disclaimer",
        -      "warnings",
        -      "totals",
        -      "refer_outs",
        -      "trade_scopes",
        -      "lines",
        -      "lines_omitted",
        -      "findings",
        -      "assumptions",
        -      "unknowns",
        -      "detail",
        -      "region",
        -      "profile",
        -      "provenance"
        -    ],
        -    "type": "object"
        -  },
        -  "SourceRef": {
        -    "properties": {
        -      "accessed": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "url": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "title"
        -    ],
        -    "type": "object"
        -  },
        -  "Suggestion": {
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "code",
        -      "name"
        -    ],
        -    "type": "object"
        -  },
        -  "Totals": {
        -    "properties": {
        -      "allowances": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "approved": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/CostRange"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "could": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "must": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "note": {
        -        "default": "must, should and could are work lines only. visit_charges (minimum call-out and trip fees, once per trade) are added on top: subtotal = must + should + could + visit_charges; total = subtotal + tax. allowances and to_confirm (uncertain items) are outside the total.",
        -        "type": "string"
        -      },
        -      "should": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "subtotal": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "tax": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "to_confirm": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "total": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "visit_charges": {
        -        "$ref": "#/$defs/CostRange"
        -      }
        -    },
        -    "required": [
        -      "must",
        -      "should",
        -      "could",
        -      "visit_charges",
        -      "subtotal",
        -      "tax",
        -      "total"
        -    ],
        -    "type": "object"
        -  },
        -  "Trade": {
        -    "enum": [
        -      "hauling",
        -      "handyman",
        -      "drywall",
        -      "painter",
        -      "flooring",
        -      "carpet_cleaning",
        -      "cleaning",
        -      "appliance",
        -      "plumber",
        -      "electrician",
        -      "hvac",
        -      "locksmith",
        -      "pest_control",
        -      "landscaping",
        -      "window_glass",
        -      "environmental",
        -      "structural"
        -    ],
        -    "type": "string"
        -  },
        -  "TradeScope": {
        -    "properties": {
        -      "line_ids": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "lines_cost": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "phase": {
        -        "$ref": "#/$defs/Phase"
        -      },
        -      "total": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "trade": {
        -        "$ref": "#/$defs/Trade"
        -      },
        -      "vendor": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Vendor"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "visit_charges": {
        -        "$ref": "#/$defs/CostRange"
        -      }
        -    },
        -    "required": [
        -      "trade",
        -      "vendor",
        -      "phase",
        -      "line_ids",
        -      "lines_cost",
        -      "visit_charges",
        -      "total"
        -    ],
        -    "type": "object"
        -  },
        -  "Uom": {
        -    "enum": [
        -      "each",
        -      "sq_ft",
        -      "sq_ft_floor",
        -      "sq_yd",
        -      "linear_ft",
        -      "room",
        -      "unit",
        -      "bedroom",
        -      "bathroom",
        -      "hour",
        -      "cu_yd",
        -      "visit"
        -    ],
        -    "type": "string"
        -  },
        -  "Vendor": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "contact": {
        -        "anyOf": [
        -          {
        -            "maxLength": 200,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "name": {
        -        "maxLength": 120,
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "name"
        -    ],
        -    "type": "object"
        -  }
        -}
      • removedOutput schema / properties / client_refs / anyOf
        Removed value: -[
        -  {
        -    "additionalProperties": true,
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / client_refs / default
        Removed value: -null
      • addedOutput schema / properties / client_refs / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / deprecation / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "$ref": "#/$defs/Deprecation"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / deprecation / default
        Removed value: -null
      • addedOutput schema / properties / deprecation / type
        Added value: +[
        +  "array",
        +  "null"
        +]
      • removedOutput schema / properties / input_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / input_hash / default
        Removed value: -null
      • addedOutput schema / properties / input_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / links / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Links"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / links / default
        Removed value: -null
      • addedOutput schema / properties / links / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / reading / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Reading"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / reading / default
        Removed value: -null
      • addedOutput schema / properties / reading / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / request_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / request_hash / default
        Removed value: -null
      • addedOutput schema / properties / request_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / result / $ref
        Removed value: -"#/$defs/ScopeResult"
      • addedOutput schema / properties / result / properties
        Added value: +{
        +  "assumptions": {
        +    "type": "array"
        +  },
        +  "detail": {
        +    "type": "string"
        +  },
        +  "disclaimer": {
        +    "type": "string"
        +  },
        +  "findings": {
        +    "type": "array"
        +  },
        +  "lines": {
        +    "type": "array"
        +  },
        +  "lines_omitted": {
        +    "type": "integer"
        +  },
        +  "omitted_note": {
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "price_tier": {
        +    "type": "string"
        +  },
        +  "profile": {
        +    "type": "string"
        +  },
        +  "provenance": {
        +    "type": "object"
        +  },
        +  "rate_card_applied": {
        +    "type": "array"
        +  },
        +  "rate_card_ignored": {
        +    "type": "array"
        +  },
        +  "refer_outs": {
        +    "type": "array"
        +  },
        +  "region": {
        +    "type": "object"
        +  },
        +  "summary": {
        +    "type": "string"
        +  },
        +  "totals": {
        +    "type": "object"
        +  },
        +  "trade_scopes": {
        +    "type": "array"
        +  },
        +  "unknowns": {
        +    "type": "array"
        +  },
        +  "warnings": {
        +    "type": "array"
        +  }
        +}
      • addedOutput schema / properties / result / required
        Added value: +[
        +  "summary",
        +  "disclaimer",
        +  "warnings",
        +  "totals",
        +  "refer_outs",
        +  "trade_scopes",
        +  "lines",
        +  "lines_omitted",
        +  "findings",
        +  "assumptions",
        +  "unknowns",
        +  "detail",
        +  "region",
        +  "profile",
        +  "provenance"
        +]
      • addedOutput schema / properties / result / type
        Added value: +"object"
      • removedOutput schema / properties / result_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / result_hash / default
        Removed value: -null
      • addedOutput schema / properties / result_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / review / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Review"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / review / default
        Removed value: -null
      • addedOutput schema / properties / review / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / run / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/RunInfo"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / run / default
        Removed value: -null
      • addedOutput schema / properties / run / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / signature / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/ResultSignature"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / signature / default
        Removed value: -null
      • addedOutput schema / properties / signature / type
        Added value: +[
        +  "object",
        +  "null"
        +]
    • Changedproperty_turnover_scope35 fields changed
      • removedOutput schema / $defs
        Removed value: -{
        -  "CostRange": {
        -    "properties": {
        -      "expected": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "high": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "low": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "low",
        -      "expected",
        -      "high"
        -    ],
        -    "type": "object"
        -  },
        -  "Deprecation": {
        -    "properties": {
        -      "field": {
        -        "type": "string"
        -      },
        -      "until": {
        -        "format": "date",
        -        "type": "string"
        -      },
        -      "use": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "field",
        -      "until",
        -      "use"
        -    ],
        -    "type": "object"
        -  },
        -  "Extent": {
        -    "enum": [
        -      "spot",
        -      "partial",
        -      "full"
        -    ],
        -    "type": "string"
        -  },
        -  "FindingResolution": {
        -    "properties": {
        -      "code": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "confidence": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "confirmed": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "extent": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Extent"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "finding_id": {
        -        "type": "string"
        -      },
        -      "issue_name": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "line_ids": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "location": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "match_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "model": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "needs_review": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "not_billed_reason": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "none",
        -              "ok",
        -              "done",
        -              "no_condition"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "resolution": {
        -        "enum": [
        -          "exact",
        -          "alias",
        -          "ai",
        -          "unmapped",
        -          "not_billed"
        -        ],
        -        "type": "string"
        -      },
        -      "suggested_codes": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "suggestions": {
        -        "items": {
        -          "$ref": "#/$defs/Suggestion"
        -        },
        -        "type": "array"
        -      },
        -      "text": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "uncertain": {
        -        "default": false,
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "finding_id",
        -      "resolution",
        -      "code",
        -      "extent"
        -    ],
        -    "type": "object"
        -  },
        -  "Links": {
        -    "properties": {
        -      "downloads": {
        -        "additionalProperties": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "how_to_get_files": {
        -        "type": "string"
        -      },
        -      "web_tool": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "web_tool_prefilled": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "how_to_get_files"
        -    ],
        -    "type": "object"
        -  },
        -  "Note": {
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "finding_ids": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "line_ids": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "message": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "code",
        -      "message"
        -    ],
        -    "type": "object"
        -  },
        -  "Phase": {
        -    "enum": [
        -      "assess",
        -      "trash_out",
        -      "repairs",
        -      "paint",
        -      "flooring",
        -      "appliances",
        -      "cleaning",
        -      "punch",
        -      "rekey"
        -    ],
        -    "type": "string"
        -  },
        -  "PriceBasis": {
        -    "enum": [
        -      "rate_card",
        -      "unit_price",
        -      "labor_derived",
        -      "placeholder"
        -    ],
        -    "type": "string"
        -  },
        -  "PriceTier": {
        -    "enum": [
        -      "bulk_contract",
        -      "pm_vendor",
        -      "retail_one_off"
        -    ],
        -    "type": "string"
        -  },
        -  "Priority": {
        -    "enum": [
        -      "must",
        -      "should",
        -      "could"
        -    ],
        -    "type": "string"
        -  },
        -  "Profile": {
        -    "enum": [
        -      "minimum",
        -      "standard",
        -      "premium"
        -    ],
        -    "type": "string"
        -  },
        -  "Provenance": {
        -    "properties": {
        -      "rules_as_of": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "ruleset_hash": {
        -        "type": "string"
        -      },
        -      "ruleset_id": {
        -        "type": "string"
        -      },
        -      "ruleset_version": {
        -        "type": "string"
        -      },
        -      "sources": {
        -        "items": {
        -          "$ref": "#/$defs/SourceRef"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "ruleset_id",
        -      "ruleset_version",
        -      "ruleset_hash",
        -      "sources"
        -    ],
        -    "type": "object"
        -  },
        -  "RateCardUse": {
        -    "properties": {
        -      "entry": {
        -        "type": "integer"
        -      },
        -      "lines": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "note": {
        -        "type": "string"
        -      },
        -      "target": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "entry",
        -      "target",
        -      "note"
        -    ],
        -    "type": "object"
        -  },
        -  "Reading": {
        -    "properties": {
        -      "counts": {
        -        "$ref": "#/$defs/ReadingCounts"
        -      },
        -      "findings": {
        -        "items": {
        -          "additionalProperties": true,
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "kind": {
        -        "enum": [
        -          "notes",
        -          "document"
        -        ],
        -        "type": "string"
        -      },
        -      "model": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "notes": {
        -        "items": {
        -          "$ref": "#/$defs/ReadingNote"
        -        },
        -        "type": "array"
        -      },
        -      "prompt_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "kind",
        -      "counts",
        -      "findings"
        -    ],
        -    "type": "object"
        -  },
        -  "ReadingCounts": {
        -    "properties": {
        -      "ai": {
        -        "type": "integer"
        -      },
        -      "parser": {
        -        "type": "integer"
        -      },
        -      "total": {
        -        "type": "integer"
        -      },
        -      "unmatched": {
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "total",
        -      "ai",
        -      "parser",
        -      "unmatched"
        -    ],
        -    "type": "object"
        -  },
        -  "ReadingNote": {
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "finding_ids": {
        -        "default": [],
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "kind": {
        -        "enum": [
        -          "warning",
        -          "assumption"
        -        ],
        -        "type": "string"
        -      },
        -      "message": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "code",
        -      "message"
        -    ],
        -    "type": "object"
        -  },
        -  "ReferOutNote": {
        -    "properties": {
        -      "blocks_phases": {
        -        "items": {
        -          "$ref": "#/$defs/Phase"
        -        },
        -        "type": "array"
        -      },
        -      "finding_ids": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "kind": {
        -        "enum": [
        -          "assessment",
        -          "compliance"
        -        ],
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "professional": {
        -        "type": "string"
        -      },
        -      "reason": {
        -        "type": "string"
        -      },
        -      "sources": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "unconfirmed": {
        -        "default": false,
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "name",
        -      "professional",
        -      "reason",
        -      "kind",
        -      "finding_ids",
        -      "blocks_phases",
        -      "sources"
        -    ],
        -    "type": "object"
        -  },
        -  "Region": {
        -    "properties": {
        -      "basis": {
        -        "enum": [
        -          "metro",
        -          "nonmetro",
        -          "national"
        -        ],
        -        "type": "string"
        -      },
        -      "cbsa": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "cbsa_name": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "vintage": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "zip3": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "zip3",
        -      "basis"
        -    ],
        -    "type": "object"
        -  },
        -  "Responsibility": {
        -    "enum": [
        -      "normal_wear",
        -      "likely_damage",
        -      "elective",
        -      "undetermined",
        -      "mixed"
        -    ],
        -    "type": "string"
        -  },
        -  "ResultSignature": {
        -    "properties": {
        -      "jws": {
        -        "type": "string"
        -      },
        -      "payload": {
        -        "$ref": "#/$defs/ResultSignaturePayload"
        -      },
        -      "verify_code": {
        -        "type": "string"
        -      },
        -      "verify_url": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "jws",
        -      "payload",
        -      "verify_code",
        -      "verify_url"
        -    ],
        -    "type": "object"
        -  },
        -  "ResultSignaturePayload": {
        -    "properties": {
        -      "capability": {
        -        "type": "string"
        -      },
        -      "engine_version": {
        -        "type": "string"
        -      },
        -      "issued_at": {
        -        "type": "string"
        -      },
        -      "kid": {
        -        "type": "string"
        -      },
        -      "operation": {
        -        "type": "string"
        -      },
        -      "result_hash": {
        -        "type": "string"
        -      },
        -      "ruleset_hash": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "ruleset_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "v": {
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "v",
        -      "kid",
        -      "capability",
        -      "operation",
        -      "ruleset_version",
        -      "ruleset_hash",
        -      "engine_version",
        -      "result_hash",
        -      "issued_at"
        -    ],
        -    "type": "object"
        -  },
        -  "Review": {
        -    "properties": {
        -      "ai_read": {
        -        "default": 0,
        -        "type": "integer"
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "reading_id": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "status": {
        -        "default": "verified",
        -        "enum": [
        -          "draft",
        -          "verified"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "RunInfo": {
        -    "properties": {
        -      "capability": {
        -        "type": "string"
        -      },
        -      "contract_version": {
        -        "type": "string"
        -      },
        -      "duration_ms": {
        -        "type": "integer"
        -      },
        -      "engine_version": {
        -        "type": "string"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "operation": {
        -        "type": "string"
        -      },
        -      "received_at": {
        -        "format": "date-time",
        -        "type": "string"
        -      },
        -      "ruleset_hash": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "ruleset_version": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "capability",
        -      "operation",
        -      "contract_version",
        -      "engine_version",
        -      "ruleset_version",
        -      "ruleset_hash",
        -      "received_at",
        -      "duration_ms"
        -    ],
        -    "type": "object"
        -  },
        -  "ScopeLine": {
        -    "properties": {
        -      "allowance": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/CostRange"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "confidence": {
        -        "enum": [
        -          "sourced",
        -          "industry_typical",
        -          "assumed"
        -        ],
        -        "type": "string"
        -      },
        -      "cost": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "decision": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "approve",
        -              "decline",
        -              "defer"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "finding_ids": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "line_id": {
        -        "type": "string"
        -      },
        -      "location": {
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "needs_review": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "phase": {
        -        "$ref": "#/$defs/Phase"
        -      },
        -      "price_basis": {
        -        "$ref": "#/$defs/PriceBasis"
        -      },
        -      "priority": {
        -        "$ref": "#/$defs/Priority"
        -      },
        -      "quantity": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -            "type": "string"
        -          }
        -        ]
        -      },
        -      "quantity_source": {
        -        "enum": [
        -          "given",
        -          "converted",
        -          "derived",
        -          "fixed"
        -        ],
        -        "type": "string"
        -      },
        -      "refer_out": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "responsibility_by_finding": {
        -        "additionalProperties": {
        -          "$ref": "#/$defs/Responsibility"
        -        },
        -        "type": "object"
        -      },
        -      "responsibility_hint": {
        -        "$ref": "#/$defs/Responsibility"
        -      },
        -      "rule_ids": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "task_id": {
        -        "type": "string"
        -      },
        -      "to_confirm": {
        -        "default": false,
        -        "type": "boolean"
        -      },
        -      "trade": {
        -        "$ref": "#/$defs/Trade"
        -      },
        -      "unit_price": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "uom": {
        -        "$ref": "#/$defs/Uom"
        -      },
        -      "vendor_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "line_id",
        -      "task_id",
        -      "name",
        -      "trade",
        -      "phase",
        -      "priority",
        -      "location",
        -      "finding_ids",
        -      "quantity",
        -      "uom",
        -      "quantity_source",
        -      "price_basis",
        -      "unit_price",
        -      "cost",
        -      "confidence",
        -      "responsibility_hint",
        -      "rule_ids"
        -    ],
        -    "type": "object"
        -  },
        -  "ScopeResult": {
        -    "properties": {
        -      "assumptions": {
        -        "items": {
        -          "$ref": "#/$defs/Note"
        -        },
        -        "type": "array"
        -      },
        -      "detail": {
        -        "enum": [
        -          "summary",
        -          "full"
        -        ],
        -        "type": "string"
        -      },
        -      "disclaimer": {
        -        "type": "string"
        -      },
        -      "findings": {
        -        "items": {
        -          "$ref": "#/$defs/FindingResolution"
        -        },
        -        "type": "array"
        -      },
        -      "lines": {
        -        "items": {
        -          "$ref": "#/$defs/ScopeLine"
        -        },
        -        "type": "array"
        -      },
        -      "lines_omitted": {
        -        "type": "integer"
        -      },
        -      "omitted_note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "price_tier": {
        -        "$ref": "#/$defs/PriceTier",
        -        "default": "pm_vendor"
        -      },
        -      "profile": {
        -        "$ref": "#/$defs/Profile"
        -      },
        -      "provenance": {
        -        "$ref": "#/$defs/Provenance"
        -      },
        -      "rate_card_applied": {
        -        "items": {
        -          "$ref": "#/$defs/RateCardUse"
        -        },
        -        "type": "array"
        -      },
        -      "rate_card_ignored": {
        -        "items": {
        -          "$ref": "#/$defs/RateCardUse"
        -        },
        -        "type": "array"
        -      },
        -      "refer_outs": {
        -        "items": {
        -          "$ref": "#/$defs/ReferOutNote"
        -        },
        -        "type": "array"
        -      },
        -      "region": {
        -        "$ref": "#/$defs/Region"
        -      },
        -      "summary": {
        -        "type": "string"
        -      },
        -      "totals": {
        -        "$ref": "#/$defs/Totals"
        -      },
        -      "trade_scopes": {
        -        "items": {
        -          "$ref": "#/$defs/TradeScope"
        -        },
        -        "type": "array"
        -      },
        -      "unknowns": {
        -        "items": {
        -          "$ref": "#/$defs/Note"
        -        },
        -        "type": "array"
        -      },
        -      "warnings": {
        -        "items": {
        -          "$ref": "#/$defs/Note"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "summary",
        -      "disclaimer",
        -      "warnings",
        -      "totals",
        -      "refer_outs",
        -      "trade_scopes",
        -      "lines",
        -      "lines_omitted",
        -      "findings",
        -      "assumptions",
        -      "unknowns",
        -      "detail",
        -      "region",
        -      "profile",
        -      "provenance"
        -    ],
        -    "type": "object"
        -  },
        -  "SourceRef": {
        -    "properties": {
        -      "accessed": {
        -        "anyOf": [
        -          {
        -            "format": "date",
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "url": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "title"
        -    ],
        -    "type": "object"
        -  },
        -  "Suggestion": {
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "code",
        -      "name"
        -    ],
        -    "type": "object"
        -  },
        -  "Totals": {
        -    "properties": {
        -      "allowances": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "approved": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/CostRange"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "could": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "must": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "note": {
        -        "default": "must, should and could are work lines only. visit_charges (minimum call-out and trip fees, once per trade) are added on top: subtotal = must + should + could + visit_charges; total = subtotal + tax. allowances and to_confirm (uncertain items) are outside the total.",
        -        "type": "string"
        -      },
        -      "should": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "subtotal": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "tax": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "to_confirm": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "total": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "visit_charges": {
        -        "$ref": "#/$defs/CostRange"
        -      }
        -    },
        -    "required": [
        -      "must",
        -      "should",
        -      "could",
        -      "visit_charges",
        -      "subtotal",
        -      "tax",
        -      "total"
        -    ],
        -    "type": "object"
        -  },
        -  "Trade": {
        -    "enum": [
        -      "hauling",
        -      "handyman",
        -      "drywall",
        -      "painter",
        -      "flooring",
        -      "carpet_cleaning",
        -      "cleaning",
        -      "appliance",
        -      "plumber",
        -      "electrician",
        -      "hvac",
        -      "locksmith",
        -      "pest_control",
        -      "landscaping",
        -      "window_glass",
        -      "environmental",
        -      "structural"
        -    ],
        -    "type": "string"
        -  },
        -  "TradeScope": {
        -    "properties": {
        -      "line_ids": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "lines_cost": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "phase": {
        -        "$ref": "#/$defs/Phase"
        -      },
        -      "total": {
        -        "$ref": "#/$defs/CostRange"
        -      },
        -      "trade": {
        -        "$ref": "#/$defs/Trade"
        -      },
        -      "vendor": {
        -        "anyOf": [
        -          {
        -            "$ref": "#/$defs/Vendor"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "visit_charges": {
        -        "$ref": "#/$defs/CostRange"
        -      }
        -    },
        -    "required": [
        -      "trade",
        -      "vendor",
        -      "phase",
        -      "line_ids",
        -      "lines_cost",
        -      "visit_charges",
        -      "total"
        -    ],
        -    "type": "object"
        -  },
        -  "Uom": {
        -    "enum": [
        -      "each",
        -      "sq_ft",
        -      "sq_ft_floor",
        -      "sq_yd",
        -      "linear_ft",
        -      "room",
        -      "unit",
        -      "bedroom",
        -      "bathroom",
        -      "hour",
        -      "cu_yd",
        -      "visit"
        -    ],
        -    "type": "string"
        -  },
        -  "Vendor": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "contact": {
        -        "anyOf": [
        -          {
        -            "maxLength": 200,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "default": null
        -      },
        -      "name": {
        -        "maxLength": 120,
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "name"
        -    ],
        -    "type": "object"
        -  }
        -}
      • removedOutput schema / properties / client_refs / anyOf
        Removed value: -[
        -  {
        -    "additionalProperties": true,
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / client_refs / default
        Removed value: -null
      • addedOutput schema / properties / client_refs / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / deprecation / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "$ref": "#/$defs/Deprecation"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / deprecation / default
        Removed value: -null
      • addedOutput schema / properties / deprecation / type
        Added value: +[
        +  "array",
        +  "null"
        +]
      • removedOutput schema / properties / input_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / input_hash / default
        Removed value: -null
      • addedOutput schema / properties / input_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / links / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Links"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / links / default
        Removed value: -null
      • addedOutput schema / properties / links / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / reading / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Reading"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / reading / default
        Removed value: -null
      • addedOutput schema / properties / reading / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / request_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / request_hash / default
        Removed value: -null
      • addedOutput schema / properties / request_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / result / $ref
        Removed value: -"#/$defs/ScopeResult"
      • addedOutput schema / properties / result / properties
        Added value: +{
        +  "assumptions": {
        +    "type": "array"
        +  },
        +  "detail": {
        +    "type": "string"
        +  },
        +  "disclaimer": {
        +    "type": "string"
        +  },
        +  "findings": {
        +    "type": "array"
        +  },
        +  "lines": {
        +    "type": "array"
        +  },
        +  "lines_omitted": {
        +    "type": "integer"
        +  },
        +  "omitted_note": {
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "price_tier": {
        +    "type": "string"
        +  },
        +  "profile": {
        +    "type": "string"
        +  },
        +  "provenance": {
        +    "type": "object"
        +  },
        +  "rate_card_applied": {
        +    "type": "array"
        +  },
        +  "rate_card_ignored": {
        +    "type": "array"
        +  },
        +  "refer_outs": {
        +    "type": "array"
        +  },
        +  "region": {
        +    "type": "object"
        +  },
        +  "summary": {
        +    "type": "string"
        +  },
        +  "totals": {
        +    "type": "object"
        +  },
        +  "trade_scopes": {
        +    "type": "array"
        +  },
        +  "unknowns": {
        +    "type": "array"
        +  },
        +  "warnings": {
        +    "type": "array"
        +  }
        +}
      • addedOutput schema / properties / result / required
        Added value: +[
        +  "summary",
        +  "disclaimer",
        +  "warnings",
        +  "totals",
        +  "refer_outs",
        +  "trade_scopes",
        +  "lines",
        +  "lines_omitted",
        +  "findings",
        +  "assumptions",
        +  "unknowns",
        +  "detail",
        +  "region",
        +  "profile",
        +  "provenance"
        +]
      • addedOutput schema / properties / result / type
        Added value: +"object"
      • removedOutput schema / properties / result_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / result_hash / default
        Removed value: -null
      • addedOutput schema / properties / result_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / review / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Review"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / review / default
        Removed value: -null
      • addedOutput schema / properties / review / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / run / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/RunInfo"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / run / default
        Removed value: -null
      • addedOutput schema / properties / run / type
        Added value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / signature / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/ResultSignature"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / signature / default
        Removed value: -null
      • addedOutput schema / properties / signature / type
        Added value: +[
        +  "object",
        +  "null"
        +]
  2. 2 tool updates
    • Changeddeposit_settlement_rules11 fields changed
      • addedOutput schema / $defs / Alternative / properties / demand_within_days
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • changedOutput schema / $defs / DepositCap / properties / effective_by / enum
        Previous value: -[
        -  "collected",
        -  "lease_signed"
        -]New value: +[
        +  "collected",
        +  "lease_signed",
        +  "required"
        +]
      • addedOutput schema / $defs / DepositCap / properties / periodic_after_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / pet_cap_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / post_closing_occupancy_from
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / PenaltyRule / properties / interest_only_fixed_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / PenaltyRule / properties / interest_only_multiple
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / SafeHarbor / properties / conditions
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / SafeHarbor / properties / late_address
        Added value: +{
        +  "anyOf": [
        +    {
        +      "const": "unsettled",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / SafeHarbor / properties / lease_notice_address_counts
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / SafeHarbor / properties / requires_mailing
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
    • Changeddeposit_settlement_settle32 fields changed
      • changedInput schema / $defs / Deduction / properties / category / description
        Previous value: -"One of: unpaid_rent, unpaid_utilities, cleaning, carpet, flooring, paint, blinds_window_coverings, appliance, fixture_or_hardware, wall_or_door_repair, key_or_lock, late_fees, lease_break_fee, moving_and_storage, reletting_costs (advertising or a broker to re-rent after an early move-out), trash_and_abandoned_items (removing trash or belongings left behind), other_damage, other. Carpet cleaning is cleaning (with cleaning_kind), not carpet."New value: +"Charge category; carpet cleaning uses cleaning with cleaning_kind, not carpet."
      • changedInput schema / properties / as_of / description
        Previous value: -"Today's date (YYYY-MM-DD) for the deadline status. Defaults to today (UTC); send it for repeatable results."New value: +"Date for deadline status; defaults to today (UTC). Send YYYY-MM-DD for repeatable results."
      • changedInput schema / properties / claim_notice_sent_on / description
        Previous value: -"Day you sent the written notice of intent to impose a claim on the deposit (YYYY-MM-DD). Florida (due within 30 days of termination) and the District of Columbia (within 45 days): the balance is due 30 days after it; a late notice does not count."New value: +"Written claim notice sent (YYYY-MM-DD). FL: within 30 days of termination; DC:45. Balance due 30 days after timely notice; late notice does not count."
      • addedInput schema / properties / colorado_post_closing_occupancy
        Added value: +{
        +  "description": "Colorado: buyer-landlord bought this residence from seller-tenant; both executed purchase-contract post-closing occupancy before the deposit was required. True confirms all facts; false excludes; null unknown. Exception from 2027-01-01.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / county / description
        Previous value: -"Tennessee only: the county the unit is in (the landlord-tenant act applies only in counties over 75,000 by the 2010 census, 66-28-102(a)). Taken from the city when it lies in one county."New value: +"TN county: act applies over 75,000 population by 2010 census (66-28-102(a)). Inferred from city only if unambiguous."
      • changedInput schema / properties / deductions / description
        Previous value: -"What you intend to deduct (or, for a tenant, what the landlord listed). An explicit empty list means nothing is deducted (it decides the shorter no-deduction periods, e.g. Montana 10 days, Alaska 14); leave it out when that is not known yet."New value: +"Charges to deduct (or the landlord's list). Explicit [] means no deductions and selects shorter periods (MT10 days, AK14); omit when unknown."
      • changedInput schema / properties / demand_received_on / description
        Previous value: -"Day you received the tenant's demand for the deposit (YYYY-MM-DD; written in Oklahoma, by first-class mail in Maryland 8-203(h)). Arizona, Kansas, Oklahoma, South Carolina and Mississippi start the clock on it."New value: +"Deposit demand received (YYYY-MM-DD): written in OK; first-class mail in MD (8-203(h)). Starts clocks in AZ/KS/OK/SC/MS."
      • changedInput schema / properties / deposit_collected_on / description
        Previous value: -"Day the deposit was collected (YYYY-MM-DD); defaults to move_in_on. California (AB 12, from 2024-07-01) and Colorado caps depend on it."New value: +"Collection date; defaults to move_in_on. CA AB12 uses it. CO: proxy only if deposit_required_on is absent; never proves the exception."
      • changedInput schema / properties / deposit_in_separate_account / description
        Previous value: -"Tennessee only (66-28-301(a)): the deposit was kept in a separate account used only for deposits. No account and no damage listing means none of it can be kept (66-28-301(c))."New value: +"TN 66-28-301(a): deposit-only separate account. No account and no damage listing means none can be kept (c)."
      • addedInput schema / properties / deposit_required_on
        Added value: +{
        +  "description": "Colorado cap: date submission was required. Collection, move-out and as_of cannot establish the 2027 exception.",
        +  "format": "date",
        +  "type": "string"
        +}
      • changedInput schema / properties / forwarding_address_received_on / description
        Previous value: -"Day you received the tenant's written forwarding address (YYYY-MM-DD). Several states start or hold the clock on it (Texas, Connecticut, Iowa, Minnesota)."New value: +"Written forwarding address received (YYYY-MM-DD). Can start/hold clocks in TX, CT, IA, MN."
      • changedInput schema / properties / interest_paid_through / description
        Previous value: -"Interest already paid or credited to the tenant up to this day (annual-payment rules: San Francisco, Los Angeles, Berkeley, Connecticut, Massachusetts, ...): interest is counted from it."New value: +"Interest already paid/credited through this date; accrual starts here (annual-payment rules, e.g. SF/LA/Berkeley/CT/MA)."
      • changedInput schema / properties / interest_rate_percent / description
        Previous value: -"Annual rate the deposit account paid, where the law sets interest at the bank's rate (New Jersey, North Dakota, New Hampshire, New York, Pennsylvania, Portland), or caps it (Massachusetts: 5% or the bank's lesser rate). Without it bank-rate interest is unknown. Illinois 765 ILCS 715 uses IDFPR's published rate instead."New value: +"Annual deposit-bank rate: NJ/ND/NH/NY/PA/Portland; MA uses lesser of bank rate or 5%. Omitted bank rate is unknown. IL 765 ILCS 715 uses published IDFPR rate instead."
      • changedInput schema / properties / landlord_filed_action_on / description
        Previous value: -"Michigan only (YYYY-MM-DD): day the landlord sued for the damages claimed (554.613: sue or return the balance within 45 days). Not given: no suit assumed."New value: +"MI 554.613: date landlord sued for claimed damage (YYYY-MM-DD); sue or return balance within 45 days. Omitted assumes no suit."
      • changedInput schema / properties / lease_end_on / description
        Previous value: -"Day the lease was scheduled to end (YYYY-MM-DD), when it differs from when the tenancy actually ended (a broken lease). Lost rent and lease-break charges run to it; deadlines do not (they follow tenancy_ended_on, else the move-out, with the scheduled end as a later alternative)."New value: +"Scheduled lease end (YYYY-MM-DD), if different from actual tenancy end. Lost rent/lease-break charges use it. Deadlines use tenancy_ended_on, else move-out; scheduled end remains a later alternative."
      • changedInput schema / properties / lease_signed_or_renewed_on / description
        Previous value: -"Day the current lease was signed or last renewed (YYYY-MM-DD). Georgia (2024-07-01) and Maryland (2024-10-01) caps apply to leases from then; defaults to move_in_on, with a warning that a later renewal may bring the new cap."New value: +"Current lease signing/last renewal (YYYY-MM-DD). GA cap from 2024-07-01; MD from 2024-10-01. Defaults move_in_on; warns later renewal may activate cap."
      • changedInput schema / properties / new_tenant_moved_in_on / description
        Previous value: -"Day a new tenant moved in, if the unit was re-rented (YYYY-MM-DD). West Virginia and Wisconsin can end the period earlier; rent claimed for days from it on is not recoverable (re-rent mitigation)."New value: +"Re-rented: new tenant's move-in date (YYYY-MM-DD). Can shorten WV/WI periods; rent overlapping the new tenancy is unrecoverable."
      • changedInput schema / properties / owner_is_natural_person / description
        Previous value: -"Georgia only (44-7-36): the units are owned by a natural person (false: an LLC, corporation, partnership or trust owns them). The small-landlord exemption reaches only a natural person; not given, the statute is shown with the exemption as the alternative."New value: +"GA 44-7-36 only: true=natural-person owner; false=LLC/corporation/partnership/trust, which cannot claim small-landlord exemption. Omitted: exemption stays an alternative."
      • changedInput schema / properties / pet_deposit_usd / description
        Previous value: -"The part of deposit_usd that is a pet deposit (outside the cap in Missouri, Alabama, North Dakota and Saint Paul; allowed on top of it up to one month in Hawaii and Alaska, half a month in Kansas, a quarter in Nebraska)."New value: +"Pet portion of deposit_usd: outside caps in MO/AL/ND/Saint Paul; extra cap allowance of 1 month in HI/AK, half in KS, quarter in NE."
      • changedInput schema / properties / prepaid_rent_usd / description
        Previous value: -"Rent paid in advance beyond the first month, held besides deposit_usd. Counts toward the cap in AK, AZ, CA, CT, MD, MI and NY; earns interest in CT, MA (last month's rent), MD and Chicago; in Minneapolis it lowers the deposit cap to half a month. In UT its balance is returned with the deposit and counted in the refund (57-17-3(2)(b)): send only the unused part (rent already applied to a rental period is not a balance). Elsewhere the refund covers the deposit only and a warning says unused prepaid rent is owed back too."New value: +"Advance rent beyond first month, held besides deposit_usd. Counts in AK/AZ/CA/CT/MD/MI/NY caps; earns interest in CT/MA(last-month rent)/MD/Chicago; Minneapolis cap becomes half-month. UT: send only unused balance, added to refund (57-17-3(2)(b)); elsewhere refund is deposit-only with prepaid-return warning."
      • changedInput schema / properties / rent_ordinance_covered / description
        Previous value: -"The unit is covered by the city's rent ordinance (Los Angeles RSO, Berkeley Rent Ordinance). Their deposit interest is owed only then; unknown: the amount is shown beside the refund, not in it."New value: +"Covered by LA RSO or Berkeley Rent Ordinance: required for their deposit interest. Unknown interest stays beside, not inside, refund."
      • changedInput schema / properties / renter_notice_served_on / description
        Previous value: -"Utah only (YYYY-MM-DD): day the renter served the 57-17-3(3) notice after the deadline passed. The owner then has five business days to comply (57-17-3(5)); without the notice there is no relief under 57-17-5."New value: +"UT 57-17-3(3) renter notice served after deadline (YYYY-MM-DD). Owner gets 5 business days to comply (5); no notice means no 57-17-5 relief."
      • changedInput schema / properties / returned / description
        Previous value: -"What the landlord has returned so far and when. With it, timeliness says whether the refund and the itemized statement were on time and how many days late."New value: +"Prior refund/statement and date; timeliness assesses each duty and days late."
      • changedInput schema / properties / small_landlord / description
        Previous value: -"California AB 12 small landlord (a natural person or an LLC of natural persons owning at most two properties with at most four units; not for a service member): a two-month cap."New value: +"CA AB 12: natural person or LLC of natural persons, at most 2 properties containing at most 4 units total, tenant not a service member;2 month cap."
      • changedInput schema / properties / statement_sent_on / description
        Previous value: -"Day you sent (or delivered) the itemized statement (YYYY-MM-DD). With it the statement is judged on time or late; documentation.itemized_statement alone cannot tell."New value: +"Itemized statement sent/delivered (YYYY-MM-DD), to assess timeliness; documentation.itemized_statement alone supplies no date."
      • changedInput schema / properties / tenancy_ended_on / description
        Previous value: -"When the tenancy actually ended (YYYY-MM-DD): the lease's end, or an earlier termination or accepted surrender. Deadlines that run from the end of the tenancy use it. For a tenant who left before the lease was due to end, send the scheduled end as lease_end_on (older callers sent it here, which still works: the deadline is then counted from it, with the move-out date as an earlier alternative where the facts point to one)."New value: +"Actual tenancy end: lease end, early termination or accepted surrender (YYYY-MM-DD). End-of-tenancy deadlines use this; send a different scheduled end as lease_end_on. Legacy scheduled ends still work, with an earlier move-out alternative where applicable."
      • changedInput schema / properties / tenancy_type / description
        Previous value: -"written_lease or at_will (Maine 6033(2): a written agreement's period, at most 30 days, or 21 days for a tenancy at will; Massachusetts 15B(4): at will, 30 days after the move-out, a written lease, 30 days after its end). Left out with a move-out before tenancy_ended_on: the earlier (at-will) date leads and the other is listed."New value: +"written_lease or at_will. ME 6033(2): written period<=30 days, at-will 21. MA 15 B(4):30 days from move-out(at-will) or lease end(written). Omitted when vacated_on precedes tenancy_ended_on: earlier at-will date leads; other date listed."
      • changedInput schema / properties / tenant_abandoned / description
        Previous value: -"The tenant abandoned the unit or was evicted (Maryland 8-203(h): the clock runs from the tenant's written demand; Washington 59.18.280: from when the landlord learns of it; Louisiana 9:3251(C): the one-month rule does not apply). Left out: inferred from tenant_gave_proper_notice: false; with a move-out before tenancy_ended_on the earlier abandonment clock leads and the other date is listed."New value: +"Abandoned or evicted: MD 8-203(h) clock starts at written demand; WA 59.18.280 at landlord awareness; LA 9:3251(C) one-month rule excluded. Omitted: inferred from tenant_gave_proper_notice=false. If vacated_on precedes tenancy_ended_on, earlier abandonment clock leads; other date listed."
      • changedInput schema / properties / tenant_age_60_plus / description
        Previous value: -"A person 60 or older occupies the unit (New Hampshire 540-A:5, I: the owner-occupied exemption does not reach the unit). tenant_age_62_plus true implies it."New value: +"An occupant is 60+ (NH 540-A:5,I: owner-occupied exemption excluded). tenant_age_62_plus=true implies this."
      • changedInput schema / properties / tenant_gave_forwarding_address / description
        Previous value: -"False when the tenant never gave a forwarding address in writing (not just 'not yet known'). Illinois, Pennsylvania, Ohio, Delaware, South Carolina and New Hampshire then relieve the landlord of the penalty. Implied true by forwarding_address_received_on."New value: +"False: no written forwarding address ever given. May relieve penalties in IL/PA/OH/SC/NH; DE also accepts a lease notice address. forwarding_address_received_on implies true."
      • addedOutput schema / $defs / Outcome / properties / obligation_mode
        Added value: +{
        +  "default": "all",
        +  "enum": [
        +    "all",
        +    "alternative"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / $defs / PenaltyExposure / properties / not_applicable_reason
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
  3. 4 tool updates
    • Changeddeposit_settlement_rules18 fields changed
      • addedOutput schema / $defs / BrokenLease
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "quote": {
        +      "maxLength": 600,
        +      "type": "string"
        +    },
        +    "requires_notice": {
        +      "type": "boolean"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "requires_notice",
        +    "section",
        +    "quote",
        +    "source"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / CapLimits
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "furnished_months": {
        +      "anyOf": [
        +        {
        +          "exclusiveMinimum": 0,
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "months_rent": {
        +      "anyOf": [
        +        {
        +          "exclusiveMinimum": 0,
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / DepositCap / properties / cap_limits
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "amendment": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "from": {
        +            "anyOf": [
        +              {
        +                "format": "date",
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "governed_by": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "note": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "source": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "until": {
        +            "anyOf": [
        +              {
        +                "format": "date",
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "value": {
        +            "$ref": "#/$defs/CapLimits"
        +          }
        +        },
        +        "required": [
        +          "value"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "$ref": "#/$defs/CapLimits"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / keeps_claim_for
        Added value: +{
        +  "default": "all",
        +  "enum": [
        +    "all",
        +    "damage"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / $defs / Forfeiture / properties / keeps_claim_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / no_address_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / no_address_relief
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "unsettled",
        +        "stands"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / notice_relief
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/NoticeRelief"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / NoticeRelief
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "agreement": {
        +      "type": "string"
        +    },
        +    "lease": {
        +      "type": "string"
        +    },
        +    "reach": {
        +      "type": "string"
        +    },
        +    "relief": {
        +      "type": "string"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "section",
        +    "source",
        +    "agreement",
        +    "lease",
        +    "reach",
        +    "relief"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / PenaltyRule / properties / earlier_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / PenaltyRule / properties / source
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Receipts / properties / enclosed_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Receipts / properties / own_work_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / ReturnRule / properties / broken_lease
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/BrokenLease"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / ReturnRule / properties / unsettled_start
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/UnsettledStart"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / SafeHarbor / properties / address_due
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "by_termination",
        +        "upon_termination"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / SafeHarbor / properties / address_due_quote
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / UnsettledStart
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "event": {
        +      "enum": [
        +        "vacate",
        +        "termination",
        +        "later_of_vacate_and_termination",
        +        "forwarding_address",
        +        "demand",
        +        "later_of_termination_and_address",
        +        "latest_of_termination_possession_and_address",
        +        "earlier_of_termination_and_surrender",
        +        "surrender_or_termination_first",
        +        "new_tenant_occupancy",
        +        "termination_possession_and_demand",
        +        "claim_notice"
        +      ],
        +      "type": "string"
        +    },
        +    "later_text_note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "later_text_on": {
        +      "anyOf": [
        +        {
        +          "format": "date",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "quote": {
        +      "maxLength": 600,
        +      "type": "string"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "event",
        +    "section",
        +    "quote",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changeddeposit_settlement_settle1 field changed
      • addedOutput schema / $defs / ForfeitureCheck / properties / court_rule_due_by
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changedproperty_turnover_quick_estimate1 field changed
      • addedInput schema / properties / pets
        Added value: +{
        +  "description": "Did pets live in the unit? true adds an optional flea treatment.",
        +  "type": "boolean"
        +}
    • Changedproperty_turnover_scope1 field changed
      • addedInput schema / $defs / PropertyProfile / properties / pets
        Added value: +{
        +  "description": "Did pets live in the unit? true adds an optional flea treatment. Omit if unknown.",
        +  "type": "boolean"
        +}
  4. 1 tool update
    • Changeddeposit_settlement_rules8 fields changed
      • addedOutput schema / $defs / LateFeeRule / properties / over_cap_penalties
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "$ref": "#/$defs/OverCapPenalty"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / percent_of
        Added value: +{
        +  "default": "rent",
        +  "enum": [
        +    "rent",
        +    "past_due_payment"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / preconditions
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / preconditions_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / preconditions_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / OverCapPenalty
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "applies_if": {
        +      "type": "string"
        +    },
        +    "conditional": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "damages": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "fees": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "fixed_usd": {
        +      "anyOf": [
        +        {
        +          "exclusiveMinimum": 0,
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        }
        +      ]
        +    },
        +    "minimum_usd": {
        +      "anyOf": [
        +        {
        +          "exclusiveMinimum": 0,
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "quote": {
        +      "maxLength": 600,
        +      "type": "string"
        +    },
        +    "section": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "section",
        +    "quote",
        +    "fixed_usd",
        +    "applies_if"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ReturnRule / properties / unsettled_rollover
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/UnsettledRollover"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / UnsettledRollover
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "holidays": {
        +      "default": [],
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "quote": {
        +      "maxLength": 1200,
        +      "type": "string"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "start_rolls": {
        +      "default": false,
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "section",
        +    "quote",
        +    "source"
        +  ],
        +  "type": "object"
        +}
  5. 5 tool updates
    • Changeddeposit_settlement_rules58 fields changed
      • addedOutput schema / $defs / Alternative / properties / listed_warning
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / ContractDamages / properties / lead
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DeductionRules / properties / discovery_cutoff
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/DiscoveryCutoff"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DeductionRules / properties / lease_authorized
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/LeaseAuthorized"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DeductionRules / properties / termination_notice_quote
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DeductionRules / properties / termination_notice_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / advance_rent_exempt_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / or_demanded_before
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / DepositCap / properties / prepaid_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / variant_duty
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / variant_extra_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Deprecation
        Added value: +{
        +  "properties": {
        +    "field": {
        +      "type": "string"
        +    },
        +    "until": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "use": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "field",
        +    "until",
        +    "use"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / DiscoveryCutoff
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "days_after_new_tenant": {
        +      "anyOf": [
        +        {
        +          "exclusiveMinimum": 0,
        +          "type": "integer"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "days_after_vacate": {
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    "quote": {
        +      "maxLength": 600,
        +      "type": "string"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "days_after_vacate",
        +    "section",
        +    "quote",
        +    "source"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Forfeiture / properties / account_leg
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / cure_business_days
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / cure_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / days
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / days_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / doc_legs
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "enum": [
        +      "itemized_statement",
        +      "move_in_condition_statement",
        +      "move_out_list"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / $defs / Forfeiture / properties / excuse_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / excuse_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / in_full_quote
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / late_condition_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / late_refund_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / nothing_withheld_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / rent_only
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "exempt",
        +        "undisputed"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Forfeiture / properties / rent_only_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • changedOutput schema / $defs / Forfeiture / properties / trigger / enum
        Previous value: -[
        -  "late_statement",
        -  "late_return",
        -  "late_statement_or_return",
        -  "late_claim_notice",
        -  "not_in_input"
        -]New value: +[
        +  "late_statement",
        +  "late_return",
        +  "late_statement_or_return",
        +  "late_claim_notice",
        +  "late_action_or_return",
        +  "not_in_input",
        +  "missing_documentation",
        +  "receipts_after_estimate"
        +]
      • addedOutput schema / $defs / InterestRule / properties / section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Itemization / properties / section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / agreements_from
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / month_to_month_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / over_cap_remedy
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / over_cap_remedy_conditional
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / over_cap_remedy_damages
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / over_cap_remedy_fees
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / over_cap_remedy_if
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / over_cap_remedy_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / over_cap_remedy_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / over_cap_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / over_cap_void
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LateFeeRule / properties / renewal_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LeaseAuthorized
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "categories": {
        +      "default": [],
        +      "items": {
        +        "enum": [
        +          "unpaid_rent",
        +          "unpaid_utilities",
        +          "cleaning",
        +          "carpet",
        +          "flooring",
        +          "paint",
        +          "blinds_window_coverings",
        +          "appliance",
        +          "fixture_or_hardware",
        +          "wall_or_door_repair",
        +          "key_or_lock",
        +          "late_fees",
        +          "lease_break_fee",
        +          "moving_and_storage",
        +          "reletting_costs",
        +          "trash_and_abandoned_items",
        +          "other_damage",
        +          "other"
        +        ],
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "quote": {
        +      "maxLength": 600,
        +      "type": "string"
        +    },
        +    "replace": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "verbatim": {
        +      "default": true,
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "section",
        +    "quote",
        +    "source"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / $defs / PenaltyRule / properties / condition / enum
        Previous value: -[
        -  "bad_faith",
        -  "willful",
        -  "any_late",
        -  "late",
        -  "any_violation",
        -  "without_reasonable_basis",
        -  "court_discretion",
        -  "unpaid_annual_interest"
        -]New value: +[
        +  "bad_faith",
        +  "willful",
        +  "any_late",
        +  "late",
        +  "any_violation",
        +  "without_reasonable_basis",
        +  "court_discretion",
        +  "unpaid_annual_interest",
        +  "after_tenant_notice",
        +  "absence_of_good_faith",
        +  "no_account_and_no_listing",
        +  "late_claim_notice",
        +  "late_action_or_return"
        +]
      • addedOutput schema / $defs / PenaltyRule / properties / earlier_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / PenaltyRule / properties / fees_only_without_multiple
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / PenaltyRule / properties / low_on_merits
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / PenaltyRule / properties / note_from
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / PenaltyRule / properties / section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Photos / properties / effective_by
        Added value: +{
        +  "default": "move_out",
        +  "enum": [
        +    "move_out",
        +    "notice"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / $defs / Photos / properties / missing_from
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Photos / properties / section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Receipts / properties / estimate_days
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Receipts / properties / missing_from
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Receipts / properties / section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / ReturnRule / properties / prepaid_rent_returned
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / deprecation
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "$ref": "#/$defs/Deprecation"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changeddeposit_settlement_settle10 fields changed
      • addedInput schema / properties / county
        Added value: +{
        +  "description": "Tennessee only: the county the unit is in (the landlord-tenant act applies only in counties over 75,000 by the 2010 census, 66-28-102(a)). Taken from the city when it lies in one county.",
        +  "maxLength": 60,
        +  "type": "string"
        +}
      • addedInput schema / properties / deposit_in_separate_account
        Added value: +{
        +  "description": "Tennessee only (66-28-301(a)): the deposit was kept in a separate account used only for deposits. No account and no damage listing means none of it can be kept (66-28-301(c)).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / landlord_filed_action_on
        Added value: +{
        +  "description": "Michigan only (YYYY-MM-DD): day the landlord sued for the damages claimed (554.613: sue or return the balance within 45 days). Not given: no suit assumed.",
        +  "format": "date",
        +  "type": "string"
        +}
      • addedInput schema / properties / owner_is_natural_person
        Added value: +{
        +  "description": "Georgia only (44-7-36): the units are owned by a natural person (false: an LLC, corporation, partnership or trust owns them). The small-landlord exemption reaches only a natural person; not given, the statute is shown with the exemption as the alternative.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / prepaid_rent_usd / description
        Previous value: -"Rent paid in advance beyond the first month, held besides deposit_usd. Counts toward the cap in AK, AZ, CA, CT, MD, MI and NY; earns interest in CT, MA (last month's rent), MD and Chicago; in Minneapolis it lowers the deposit cap to half a month."New value: +"Rent paid in advance beyond the first month, held besides deposit_usd. Counts toward the cap in AK, AZ, CA, CT, MD, MI and NY; earns interest in CT, MA (last month's rent), MD and Chicago; in Minneapolis it lowers the deposit cap to half a month. In UT its balance is returned with the deposit and counted in the refund (57-17-3(2)(b)): send only the unused part (rent already applied to a rental period is not a balance). Elsewhere the refund covers the deposit only and a warning says unused prepaid rent is owed back too."
      • addedInput schema / properties / renter_notice_served_on
        Added value: +{
        +  "description": "Utah only (YYYY-MM-DD): day the renter served the 57-17-3(3) notice after the deadline passed. The owner then has five business days to comply (57-17-3(5)); without the notice there is no relief under 57-17-5.",
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / $defs / Deprecation
        Added value: +{
        +  "properties": {
        +    "field": {
        +      "type": "string"
        +    },
        +    "until": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "use": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "field",
        +    "until",
        +    "use"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / $defs / DocumentationDuty / properties / met / enum
        Previous value: -[
        -  "yes",
        -  "no",
        -  "unknown"
        -]New value: +[
        +  "yes",
        +  "no",
        +  "unknown",
        +  "not_yet_due"
        +]
      • addedOutput schema / $defs / PenaltyExposure / properties / fees_only_without_multiple
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / deprecation
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "$ref": "#/$defs/Deprecation"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changedproperty_turnover_issue_codes24 fields changed
      • changedInput schema / properties / area / description
        Previous value: -"Optional taxonomy area filter, e.g. 'flooring' or 'walls' (not a room). Call with no arguments to list every area in `areas`."New value: +"Older name for group; use group."
      • addedInput schema / properties / area / maxLength
        Added value: +40
      • addedInput schema / properties / group
        Added value: +{
        +  "description": "Only codes in this group, e.g. 'flooring' or 'walls' (a part of the unit, not a room). `groups` in the answer lists them all.",
        +  "maxLength": 40,
        +  "type": "string"
        +}
      • changedInput schema / properties / include_aliases / description
        Previous value: -"Also return each code's aliases (larger result)."New value: +"Also return aliases in the short list (search hits always carry them)."
      • removedInput schema / properties / limit / default
        Removed value: -8
      • changedInput schema / properties / limit / description
        Previous value: -"Most codes to return."New value: +"Most codes to return. Default: 8 with q, every code without."
      • changedInput schema / properties / limit / maximum
        Previous value: -200New value: +500
      • addedInput schema / properties / q
        Added value: +{
        +  "description": "Words to search for in the codes, names, aliases, descriptions and examples, e.g. 'pet stain carpet'. Hits come back with full detail. Leave out to list every code in short form.",
        +  "maxLength": 200,
        +  "type": "string"
        +}
      • changedInput schema / properties / query / description
        Previous value: -"Keywords to match against codes, names and aliases, e.g. 'pet stain carpet'."New value: +"Older name for q; use q."
      • addedOutput schema / $defs / Deprecation
        Added value: +{
        +  "properties": {
        +    "field": {
        +      "type": "string"
        +    },
        +    "until": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "use": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "field",
        +    "until",
        +    "use"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / $defs / IssueCode / properties / aliases / default
        Removed value: -[]
      • removedOutput schema / $defs / IssueCode / properties / area
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / $defs / IssueCode / properties / default_extent
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / IssueCode / properties / description
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / IssueCode / properties / examples
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / $defs / IssueCode / properties / group
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / $defs / IssueCode / properties / not_when
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / IssueCode / properties / refer_out
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / IssueCode / properties / rooms
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / $defs / IssueCode / required
        Previous value: -[
        -  "code",
        -  "name",
        -  "area"
        -]New value: +[
        +  "code",
        +  "name",
        +  "group"
        +]
      • addedOutput schema / $defs / IssueCodesResult / properties / groups
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / $defs / IssueCodesResult / properties / manual_quote_code
        Added value: +{
        +  "default": "general.manual_quote",
        +  "type": "string"
        +}
      • addedOutput schema / $defs / IssueCodesResult / properties / note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / deprecation
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "$ref": "#/$defs/Deprecation"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changedproperty_turnover_quick_estimate6 fields changed
      • changedInput schema / properties / issues / description
        Previous value: -"What was found in plain English, e.g. ['stained carpet in both bedrooms', 'nail holes everywhere', 'oven is filthy']. Read like pasted notes: an entry may hold several conditions ('carpet stained, nail holes'; one finding each); a room before or after the condition sets the location ('Bedroom 2 carpet torn', 'mold in bathroom'); a written count sets the quantity ('3 blinds broken'); an entry saying there is no work ('no mold', 'leak fixed by tenant') is reported as not billed."New value: +"What was found in plain English, e.g. ['stained carpet in both bedrooms', 'nail holes everywhere', 'oven is filthy']. Read like pasted notes: an entry may hold several conditions ('carpet stained, nail holes'; one finding each); a room before or after the condition sets the location ('Bedroom 2 carpet torn', 'mold in bathroom'); a written count sets the quantity ('3 blinds broken'); an entry saying there is no work ('no mold', 'leak fixed by tenant') is reported as not billed. All the issues together may hold up to 12,000 characters; send longer notes in more than one request."
      • addedInput schema / properties / walk_date
        Added value: +{
        +  "description": "The walk-through date; dated or aged items are judged against it. Omit if unknown.",
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / $defs / Deprecation
        Added value: +{
        +  "properties": {
        +    "field": {
        +      "type": "string"
        +    },
        +    "until": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "use": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "field",
        +    "until",
        +    "use"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Provenance / properties / rules_as_of
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / SourceRef / properties / accessed
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / deprecation
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "$ref": "#/$defs/Deprecation"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changedproperty_turnover_scope58 fields changed
      • addedInput schema / $defs / Evidence
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "A negative or working result clears: inspector any hazard; lab mold, lead, asbestos, drugs, sewage; meter moisture; self_test or checklist a device.",
        +  "properties": {
        +    "kind": {
        +      "$ref": "#/$defs/EvidenceKind",
        +      "type": "string"
        +    },
        +    "material": {
        +      "description": "What was tested, e.g. 'kitchen floor tile'.",
        +      "maxLength": 80,
        +      "type": "string"
        +    },
        +    "result": {
        +      "$ref": "#/$defs/EvidenceResult",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "result"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / $defs / EvidenceKind
        Added value: +{
        +  "enum": [
        +    "self_test",
        +    "lab",
        +    "meter",
        +    "checklist",
        +    "inspector"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / $defs / EvidenceResult
        Added value: +{
        +  "enum": [
        +    "negative",
        +    "positive",
        +    "working",
        +    "failed"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / $defs / Extraction / description
        Previous value: -"How a finding was produced, when software read it from free text (contract 0.4.0) or\nfrom an uploaded document (``ai_document`` and ``page``, additive).\n\nSet by the web tool when its AI reader (Azure OpenAI) turned a person's own words, or a page\nof their inspection report, into this finding. The engine reports such a finding as\n``resolution: \"ai\"`` with ``needs_review`` and flags its lines; it never changes how the\nfinding is priced."New value: +"How our AI reader read a finding; never changes the price."
      • addedInput schema / $defs / Extraction / properties / cell
        Added value: +{
        +  "description": "ai_document: the cell read; move_in bills nothing, a hazard there is Possible.",
        +  "enum": [
        +    "move_out",
        +    "move_in",
        +    "comment"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / $defs / Extraction / properties / confidence / description
        Previous value: -"The reader's confidence, 0 to 1."New value: +"0 to 1."
      • changedInput schema / $defs / Extraction / properties / method / description
        Previous value: -"'ai': read by a language model from free text. 'ai_document': read by a language model from a page of an uploaded document."New value: +"ai: free text; ai_document: an upload's page."
      • changedInput schema / $defs / Extraction / properties / model / description
        Previous value: -"The model that read it, e.g. 'gpt-5-nano 2025-08-07'."New value: +"The model that read it."
      • changedInput schema / $defs / Extraction / properties / page / description
        Previous value: -"'ai_document' only: the page of the upload it was read from (1-based)."New value: +"ai_document: the page read."
      • addedInput schema / $defs / Extraction / properties / prompt_version
        Added value: +{
        +  "description": "The reader's prompt version.",
        +  "maxLength": 40,
        +  "pattern": "^[A-Za-z0-9._:-]+$",
        +  "type": "string"
        +}
      • changedInput schema / $defs / Extraction / properties / quote / description
        Previous value: -"'ai_document' only: the row's words as printed on that page, contact details masked. Evidence for checking the finding; it never changes the price."New value: +"ai_document: the row's words, contacts masked."
      • changedInput schema / $defs / Extraction / properties / review / description
        Previous value: -"'ai_document' only: the person's review before estimating (confirmed, accepted or edited). Leave out when the finding was not checked; it then needs review."New value: +"ai_document: the person's review."
      • changedInput schema / $defs / ExtractionReview / description
        Previous value: -"What the person did with a finding the web tool read from an uploaded document, before\nestimating (contract 0.11.0, additive). ``confirmed``: they pressed \"Looks right\";\n``accepted``: left as read, on a row the page did not flag; ``edited``: they changed it\n(``changed`` names what). A reviewed finding keeps its ``extraction`` (where it came from)\nbut is no longer reported as needing review: the person has checked it."New value: +"A person's review of a finding read from a document."
      • changedInput schema / $defs / ExtractionReview / properties / changed / description
        Previous value: -"'edited': the fields the person changed."New value: +"edited: the fields changed."
      • changedInput schema / $defs / ExtractionReview / properties / flags / description
        Previous value: -"Why the page flagged it, if it did."New value: +"Why the page flagged it."
      • changedInput schema / $defs / ExtractionReview / properties / flags / items / enum
        Previous value: -[
        -  "low_confidence",
        -  "medium_confidence",
        -  "quote_not_on_page",
        -  "count_unread",
        -  "column_unclear",
        -  "ok_unclear",
        -  "unmatched",
        -  "loose_match",
        -  "ai_match"
        -]New value: +[
        +  "low_confidence",
        +  "medium_confidence",
        +  "quote_not_on_page",
        +  "count_unread",
        +  "column_unclear",
        +  "ok_unclear",
        +  "unmatched",
        +  "ai_match"
        +]
      • changedInput schema / $defs / ExtractionReview / properties / flags / maxItems
        Previous value: -9New value: +8
      • changedInput schema / $defs / Finding / description
        Previous value: -"One observed condition. Give a taxonomy `code` if you know it, else a `description`."New value: +"One observed condition, coded from the issue-code catalog."
      • addedInput schema / $defs / Finding / properties / area_sq_ft
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "maximum": 100000,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Measured area in sq ft; wins over a derived size."
        +}
      • changedInput schema / $defs / Finding / properties / code / description
        Previous value: -"Optional. Only a code returned by property_turnover_issue_codes (e.g. 'walls.nail_holes'); otherwise leave it out and use description."New value: +"From property_turnover_issue_codes; general.manual_quote if none fits. Send it on every finding."
      • addedInput schema / $defs / Finding / properties / code / enum
        Added value: +[
        +  "adhesive.residue",
        +  "asbestos.suspect",
        +  "bath.accessory_missing",
        +  "bath.grab_bar_loose",
        +  "bath.mildew_surface",
        +  "blinds.bent_missing",
        +  "blinds.dirty",
        +  "cabinet.base_water_damage",
        +  "cabinet.damage_widespread",
        +  "cabinet.door_damaged",
        +  "cabinet.hinge_loose",
        +  "cabinet.surface_worn",
        +  "carpet.burn",
        +  "carpet.odor",
        +  "carpet.pet_urine",
        +  "carpet.replace_room",
        +  "carpet.soiled",
        +  "carpet.stained",
        +  "carpet.torn_frayed",
        +  "carpet.water_damaged",
        +  "carpet.worn_matted",
        +  "carpet.wrinkled",
        +  "caulk.sink_counter",
        +  "ceiling.hole",
        +  "ceiling.nail_pops",
        +  "ceiling.popcorn_damaged",
        +  "ceiling.repaint",
        +  "ceiling.sagging",
        +  "ceiling.stain",
        +  "ceiling_fan.broken",
        +  "clean.general",
        +  "clean.heavy_soil",
        +  "clean.windows",
        +  "closet.shelf_rod_missing",
        +  "countertop.chip_burn",
        +  "countertop.replace",
        +  "countertop.substrate_exposed",
        +  "dishwasher.inoperable",
        +  "dishwasher.missing",
        +  "disposal.inoperable",
        +  "door.closet_off_track",
        +  "door.entry_damaged",
        +  "door.entry_sticks",
        +  "door.fire_rated_defect",
        +  "door.interior_hole",
        +  "door.interior_replace",
        +  "door.interior_sticks",
        +  "door.slider_damaged",
        +  "door.stop_missing",
        +  "door.weatherstrip_missing",
        +  "drain.blocked_slow",
        +  "electrical.exposed_wiring",
        +  "electrical.panel_issue",
        +  "exhaust_fan.inoperable",
        +  "exterior.paint_peeling",
        +  "exterior.walkway_hazard",
        +  "faucet.leak",
        +  "fence.pool_gate_latch",
        +  "fireplace.firebox_damaged",
        +  "floor.soft_spot",
        +  "floor.substrate_exposed",
        +  "floor.trip_hazard",
        +  "garage.cleanout",
        +  "garage.door_inoperable",
        +  "garage.safety_reverse",
        +  "general.manual_quote",
        +  "gfci.missing",
        +  "gfci.test_fail",
        +  "hardwood.water_stain",
        +  "hardwood.worn",
        +  "hvac.dryer_duct_unsafe",
        +  "hvac.dryer_vent_lint",
        +  "hvac.filter_dirty",
        +  "hvac.minisplit_dirty",
        +  "hvac.not_heating_cooling",
        +  "hvac.vent_cover_missing",
        +  "key.missing",
        +  "laundry.hookup_leak",
        +  "lead.paint_concern",
        +  "leak.active_water",
        +  "leak.moisture_elevated",
        +  "leak.sewage",
        +  "light.bulb_out",
        +  "light.fixture_damaged",
        +  "lock.deadbolt_broken",
        +  "lock.knob_broken",
        +  "lock.rekey",
        +  "lock.smart_reset",
        +  "lvp.plank_damaged",
        +  "lvp.water_swollen",
        +  "mailbox.lock_change",
        +  "microwave.inoperable",
        +  "microwave.otr_inoperable",
        +  "mirror.damaged",
        +  "mold.visible_large",
        +  "mold.visible_medium",
        +  "mold.visible_small",
        +  "odor.general",
        +  "outlet.burn_marks",
        +  "outlet.dead",
        +  "patio.dirty",
        +  "pest.bedbugs",
        +  "pest.inspection_turn",
        +  "pest.other",
        +  "pest.roaches",
        +  "pest.rodents",
        +  "range.anti_tip_missing",
        +  "range.burner_inoperable",
        +  "range.cooktop_glass_cracked",
        +  "range.dirty",
        +  "range.missing",
        +  "range.oven_not_heating",
        +  "range.parts_missing",
        +  "range.replace",
        +  "range_hood.filter",
        +  "refrigerator.dirty",
        +  "refrigerator.gasket",
        +  "refrigerator.ice_maker",
        +  "refrigerator.missing",
        +  "refrigerator.not_cooling",
        +  "refrigerator.parts_missing",
        +  "remote.garage_missing",
        +  "safety.biohazard",
        +  "safety.co_alarm_inoperable",
        +  "safety.co_alarm_missing",
        +  "safety.combustible_clearance",
        +  "safety.drug_contamination",
        +  "safety.egress_blocked",
        +  "safety.extinguisher_expired",
        +  "safety.fire_damage",
        +  "safety.gas_leak",
        +  "safety.guardrail_stairs",
        +  "safety.hazardous_material",
        +  "safety.hvac_combustion",
        +  "safety.pest_extensive",
        +  "safety.roof_envelope",
        +  "safety.sharp_edge",
        +  "safety.smoke_alarm_expired",
        +  "safety.smoke_alarm_missing",
        +  "safety.structural_concern",
        +  "shower.door_damaged",
        +  "shower.head_leaks",
        +  "shower.rod_missing",
        +  "sink.chipped",
        +  "sink.not_draining",
        +  "switch.broken",
        +  "switch_plate.missing",
        +  "tenant_alteration.restore",
        +  "thermostat.broken",
        +  "tile.cracked",
        +  "tile.grout_dirty",
        +  "tile.grout_missing",
        +  "toilet.clog",
        +  "toilet.cracked",
        +  "toilet.loose_base",
        +  "toilet.running",
        +  "toilet.seat_broken",
        +  "trash.heavy",
        +  "trash.light",
        +  "trim.baseboard_damaged",
        +  "trim.casing_damaged",
        +  "trim.paint_worn",
        +  "tub.caulk_failed",
        +  "tub.chip_stain",
        +  "tub.surround_damaged",
        +  "unit.final_inspection",
        +  "vanity.damaged",
        +  "vct.dull_dirty",
        +  "vinyl.lifting",
        +  "vinyl.torn_gouged",
        +  "walls.crack_hairline",
        +  "walls.crack_structural",
        +  "walls.hole_medium",
        +  "walls.holes_many",
        +  "walls.holes_multiple",
        +  "walls.large_hole",
        +  "walls.nail_holes",
        +  "walls.paint_aged",
        +  "walls.paint_peeling",
        +  "walls.paint_unauthorized_color",
        +  "walls.scuffs",
        +  "walls.smoke_nicotine",
        +  "walls.stain_other",
        +  "walls.stain_water",
        +  "walls.surface_detached",
        +  "walls.texture_damage",
        +  "walls.touchup",
        +  "walls.wallpaper",
        +  "washer_dryer.inoperable",
        +  "water_heater.no_hot_water",
        +  "window.glass_cracked",
        +  "window.lock_broken",
        +  "window.screen_missing",
        +  "window.screen_torn",
        +  "window.seal_failed",
        +  "window.sill_damaged",
        +  "window.stuck",
        +  "yard.debris",
        +  "yard.overgrown"
        +]
      • changedInput schema / $defs / Finding / properties / confirmed / description
        Previous value: -"true: the person checked this AI-read finding (one with extraction) and it says what they meant. It keeps resolution 'ai' but no longer needs review, and the answer is verified once every AI-read finding is confirmed."New value: +"true: the person checked this AI-read finding."
      • changedInput schema / $defs / Finding / properties / description / description
        Previous value: -"Plain description if no code, e.g. 'dog urine stains in bedroom carpet'."New value: +"Deprecated; send code, with the words in source_text."
      • addedInput schema / $defs / Finding / properties / evidence
        Added value: +{
        +  "$ref": "#/$defs/Evidence",
        +  "description": "The test behind the finding; the only thing that clears a hazard.",
        +  "type": "object"
        +}
      • changedInput schema / $defs / Finding / properties / extent / description
        Previous value: -"spot | partial | full; defaults per issue."New value: +"Only when the words say how far; else the code's default."
      • changedInput schema / $defs / Finding / properties / extraction / description
        Previous value: -"Set by Tektolo's AI reader on findings it read from free text or a document (reading.findings of an earlier answer); keep it when you send such a finding back. They come back as resolution 'ai' with needs_review unless confirmed."New value: +"Set by our AI reader; send it back unchanged."
      • changedInput schema / $defs / Finding / properties / id / description
        Previous value: -"Your id for this finding; defaults to f1, f2, ... in order."New value: +"Your id; defaults to f1, f2, ... in order."
      • changedInput schema / $defs / Finding / properties / location / description
        Previous value: -"Object {\"area\": \"bedroom\", \"label\": \"Bedroom 2\"}, or a plain string such as \"Bedroom 2\" or \"kitchen\" (mapped to an area; other text becomes the label)."New value: +"{\"area\": \"bedroom\", \"label\": \"Bedroom 2\"} or \"Bedroom 2\"; older form of rooms."
      • addedInput schema / $defs / Finding / properties / material
        Added value: +{
        +  "description": "The material as written, e.g. '9x9 vinyl tile'.",
        +  "maxLength": 80,
        +  "type": "string"
        +}
      • addedInput schema / $defs / Finding / properties / notes / description
        Added value: +"More words; never billed or coded from."
      • changedInput schema / $defs / Finding / properties / quantity / description
        Previous value: -"Measured amount, e.g. 120 sq_ft. Derived when omitted."New value: +"Measured amount (120 sq_ft), only as the words give it."
      • addedInput schema / $defs / Finding / properties / repeat_of
        Added value: +{
        +  "description": "Id of an earlier finding this repeats in its own rooms (\"same as above\"); it bills.",
        +  "maxLength": 40,
        +  "pattern": "^[A-Za-z0-9_.:-]+$",
        +  "type": "string"
        +}
      • addedInput schema / $defs / Finding / properties / rooms
        Added value: +{
        +  "$ref": "#/$defs/Rooms",
        +  "description": "Which rooms: {\"area\": \"bedroom\", \"count\": 3} is all 3 bedrooms; labels name them.",
        +  "type": "object"
        +}
      • changedInput schema / $defs / Finding / properties / signature_like / description
        Previous value: -"Set by Tektolo's notes reader (reading.findings, the web tool's rows): the words came right after a sign-off and read like a name or signature ('Thanks!' / 'Rotten Egg Smell'), kept only because they name a safety item. A safety item in them is raised unconfirmed (check first). Keep it when you send such a finding back, so every way of sending the same words gives the same answer."New value: +"Set by our reader; send it back unchanged."
      • addedInput schema / $defs / Finding / properties / source_text
        Added value: +{
        +  "description": "The original words. Scanned for hazards; never billed or coded from.",
        +  "maxLength": 1000,
        +  "type": "string"
        +}
      • addedInput schema / $defs / Finding / properties / status
        Added value: +{
        +  "$ref": "#/$defs/FindingStatus",
        +  "default": "needed",
        +  "description": "Only needed (the default) bills; on a hazard, done/ok/none without evidence stays Possible.",
        +  "type": "string"
        +}
      • addedInput schema / $defs / Finding / properties / year_statement
        Added value: +{
        +  "$ref": "#/$defs/YearStatement",
        +  "description": "A year said in passing (\"built 1972\"); never sets property.year_built.",
        +  "type": "object"
        +}
      • addedInput schema / $defs / FindingStatus
        Added value: +{
        +  "enum": [
        +    "needed",
        +    "done",
        +    "ok",
        +    "none"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / $defs / FloorCoverings / properties / carpet_present / description
        Previous value: -"Is there wall-to-wall carpet? Omit if unknown: carpet findings then imply carpet; with no carpet findings, whole-unit carpet cleaning is left out and listed as unknown."New value: +"Is there wall-to-wall carpet? Omit if unknown."
      • changedInput schema / $defs / FloorCoverings / properties / carpet_sq_ft / description
        Previous value: -"Carpeted floor area. Omit to assume 60% of the unit floor area."New value: +"Carpeted area; omit to assume 60% of the floor area."
      • changedInput schema / $defs / Location / description
        Previous value: -"Where the finding is. Also accepted as a plain string (\"Bedroom 2\", \"kitchen\")."New value: +"Where; a plain string works too."
      • addedInput schema / $defs / Occupants
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "property.occupants: lead-rule facts about the unit; leave out what is unknown.",
        +  "properties": {
        +    "child_under_6": {
        +      "description": "A child under 6 lives there or is expected to.",
        +      "type": "boolean"
        +    },
        +    "elderly": {
        +      "description": "Housing for the elderly (62+) or disabled; not just an older tenant.",
        +      "type": "boolean"
        +    },
        +    "hud_assisted": {
        +      "type": "boolean"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedInput schema / $defs / PropertyProfile / properties / occupants
        Added value: +{
        +  "$ref": "#/$defs/Occupants",
        +  "type": "object"
        +}
      • addedInput schema / $defs / PropertyProfile / properties / walk_date
        Added value: +{
        +  "description": "The walk-through date; dated or aged items are judged against it. Omit if unknown.",
        +  "format": "date",
        +  "type": "string"
        +}
      • changedInput schema / $defs / RateCardEntry / description
        Previous value: -"Your own price. Examples: {\"trade\": \"handyman\", \"unit_price\": 65, \"uom\": \"hour\"} (an\nhourly labor rate for that trade); {\"trade\": \"painter\", \"min_charge\": 150} (visit minimum);\n{\"task_id\": \"carpet.clean\", \"unit_price\": 0.2, \"uom\": \"sq_ft\"} (task_id from a result line).\nA task_id entry beats a trade entry; both beat the library. The result lists what was\napplied and what was ignored (rate_card_applied / rate_card_ignored)."New value: +"Your price for a task_id (from a result line) or a trade, e.g. {\"trade\": \"handyman\", \"unit_price\": 65, \"uom\": \"hour\"}."
      • changedInput schema / $defs / RateCardEntry / properties / unit_price / description
        Previous value: -"USD per uom. On a trade entry, uom 'hour' is an hourly labor rate (replaces the labor part of that trade's prices); another uom prices that trade's tasks in it."New value: +"USD per uom; on a trade entry, uom 'hour' is its labor rate."
      • changedInput schema / $defs / RateCardEntry / properties / uom / description
        Previous value: -"Unit your price is quoted in. Required with a trade unit_price. If it differs from a task's uom, the entry is not applied to that task (see rate_card_ignored)."New value: +"Required with a trade unit_price; a task in another uom ignores it."
      • addedInput schema / $defs / Rooms
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Which rooms a finding covers.",
        +  "properties": {
        +    "area": {
        +      "$ref": "#/$defs/Area",
        +      "default": "whole_unit",
        +      "description": "Left out, from the labels, else the whole unit.",
        +      "type": "string"
        +    },
        +    "count": {
        +      "default": 1,
        +      "description": "At least the number of labels; capped at the unit's count.",
        +      "maximum": 50,
        +      "minimum": 1,
        +      "type": "integer"
        +    },
        +    "labels": {
        +      "description": "The rooms' names as written, e.g. ['Bedroom 2'].",
        +      "items": {
        +        "type": "string"
        +      },
        +      "maxItems": 12,
        +      "type": "array"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedInput schema / $defs / YearStatement
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "When the words say it was built.",
        +  "properties": {
        +    "text": {
        +      "description": "The words, e.g. 'built in 1972'.",
        +      "maxLength": 200,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "year": {
        +      "description": "Left out when the words name none ('Victorian').",
        +      "maximum": 2100,
        +      "minimum": 1700,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "text"
        +  ],
        +  "type": "object"
        +}
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "findings": [
        -      {
        -        "description": "pet urine in carpet",
        -        "location": "Bedroom 2"
        -      },
        -      {
        -        "description": "3 blinds broken",
        -        "quantity": {
        -          "uom": "each",
        -          "value": 3
        -        }
        -      }
        -    ],
        -    "property": {
        -      "bathrooms": 1,
        -      "bedrooms": 2,
        -      "zip": "43215"
        -    }
        -  }
        -]New value: +[
        +  {
        +    "findings": [
        +      {
        +        "code": "carpet.pet_urine",
        +        "rooms": "Bedroom 2",
        +        "source_text": "pet urine in BR2 carpet"
        +      },
        +      {
        +        "code": "blinds.bent_missing",
        +        "quantity": {
        +          "uom": "each",
        +          "value": 3
        +        }
        +      }
        +    ],
        +    "property": {
        +      "bathrooms": 1,
        +      "bedrooms": 2,
        +      "zip": "43215"
        +    }
        +  }
        +]
      • changedInput schema / properties / detail / description
        Previous value: -"summary: totals, trade scopes, every line tied to a finding (capped at 40) plus the largest must-fix/refer-out lines, a one-line note on the routine lines left out, notes, and only findings needing attention (small). full: every line, finding and source."New value: +"summary (small): totals, trade scopes, lines tied to findings. full: all."
      • changedInput schema / properties / findings / description
        Previous value: -"Move-out inspection findings, one per condition, with location and extent."New value: +"Move-out inspection findings, one per observed condition, coded."
      • changedInput schema / properties / read / description
        Previous value: -"parser (default): descriptions are read by the deterministic parser and matcher only; what they cannot place comes back as a manual-quote line with suggested codes. ai: what the parser cannot place is then read by an AI model; the answer is a draft (review.status) and echoes the reading, whose findings you confirm and send back for a verified answer (contract 0.12.0)."New value: +"Deprecated and ignored: scope reads no free text."
      • changedInput schema / properties / retain / description
        Previous value: -"Optional (contract 0.5.0). false: keep none of this request's text. By default the finding descriptions are kept with contact details and access codes removed, to improve matching; the estimate is the same either way."New value: +"false: keep none of this request's text."
      • addedOutput schema / $defs / Deprecation
        Added value: +{
        +  "properties": {
        +    "field": {
        +      "type": "string"
        +    },
        +    "until": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "use": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "field",
        +    "until",
        +    "use"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Provenance / properties / rules_as_of
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / SourceRef / properties / accessed
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / deprecation
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "$ref": "#/$defs/Deprecation"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
  6. 5 tool updates
    • Changeddeposit_settlement_rules7 fields changed
      • addedOutput schema / $defs / Reading
        Added value: +{
        +  "properties": {
        +    "counts": {
        +      "$ref": "#/$defs/ReadingCounts"
        +    },
        +    "findings": {
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "enum": [
        +        "notes",
        +        "document"
        +      ],
        +      "type": "string"
        +    },
        +    "model": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "notes": {
        +      "items": {
        +        "$ref": "#/$defs/ReadingNote"
        +      },
        +      "type": "array"
        +    },
        +    "prompt_version": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "kind",
        +    "counts",
        +    "findings"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ReadingCounts
        Added value: +{
        +  "properties": {
        +    "ai": {
        +      "type": "integer"
        +    },
        +    "parser": {
        +      "type": "integer"
        +    },
        +    "total": {
        +      "type": "integer"
        +    },
        +    "unmatched": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "ai",
        +    "parser",
        +    "unmatched"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ReadingNote
        Added value: +{
        +  "properties": {
        +    "code": {
        +      "type": "string"
        +    },
        +    "finding_ids": {
        +      "default": [],
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "kind": {
        +      "enum": [
        +        "warning",
        +        "assumption"
        +      ],
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "code",
        +    "message"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Review
        Added value: +{
        +  "properties": {
        +    "ai_read": {
        +      "default": 0,
        +      "type": "integer"
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "reading_id": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "status": {
        +      "default": "verified",
        +      "enum": [
        +        "draft",
        +        "verified"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / reading
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Reading"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / request_hash
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / review
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Review"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changeddeposit_settlement_settle7 fields changed
      • addedOutput schema / $defs / Reading
        Added value: +{
        +  "properties": {
        +    "counts": {
        +      "$ref": "#/$defs/ReadingCounts"
        +    },
        +    "findings": {
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "enum": [
        +        "notes",
        +        "document"
        +      ],
        +      "type": "string"
        +    },
        +    "model": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "notes": {
        +      "items": {
        +        "$ref": "#/$defs/ReadingNote"
        +      },
        +      "type": "array"
        +    },
        +    "prompt_version": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "kind",
        +    "counts",
        +    "findings"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ReadingCounts
        Added value: +{
        +  "properties": {
        +    "ai": {
        +      "type": "integer"
        +    },
        +    "parser": {
        +      "type": "integer"
        +    },
        +    "total": {
        +      "type": "integer"
        +    },
        +    "unmatched": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "ai",
        +    "parser",
        +    "unmatched"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ReadingNote
        Added value: +{
        +  "properties": {
        +    "code": {
        +      "type": "string"
        +    },
        +    "finding_ids": {
        +      "default": [],
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "kind": {
        +      "enum": [
        +        "warning",
        +        "assumption"
        +      ],
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "code",
        +    "message"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Review
        Added value: +{
        +  "properties": {
        +    "ai_read": {
        +      "default": 0,
        +      "type": "integer"
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "reading_id": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "status": {
        +      "default": "verified",
        +      "enum": [
        +        "draft",
        +        "verified"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / reading
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Reading"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / request_hash
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / review
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Review"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changedproperty_turnover_issue_codes7 fields changed
      • addedOutput schema / $defs / Reading
        Added value: +{
        +  "properties": {
        +    "counts": {
        +      "$ref": "#/$defs/ReadingCounts"
        +    },
        +    "findings": {
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "enum": [
        +        "notes",
        +        "document"
        +      ],
        +      "type": "string"
        +    },
        +    "model": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "notes": {
        +      "items": {
        +        "$ref": "#/$defs/ReadingNote"
        +      },
        +      "type": "array"
        +    },
        +    "prompt_version": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "kind",
        +    "counts",
        +    "findings"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ReadingCounts
        Added value: +{
        +  "properties": {
        +    "ai": {
        +      "type": "integer"
        +    },
        +    "parser": {
        +      "type": "integer"
        +    },
        +    "total": {
        +      "type": "integer"
        +    },
        +    "unmatched": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "ai",
        +    "parser",
        +    "unmatched"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ReadingNote
        Added value: +{
        +  "properties": {
        +    "code": {
        +      "type": "string"
        +    },
        +    "finding_ids": {
        +      "default": [],
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "kind": {
        +      "enum": [
        +        "warning",
        +        "assumption"
        +      ],
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "code",
        +    "message"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Review
        Added value: +{
        +  "properties": {
        +    "ai_read": {
        +      "default": 0,
        +      "type": "integer"
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "reading_id": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "status": {
        +      "default": "verified",
        +      "enum": [
        +        "draft",
        +        "verified"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / reading
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Reading"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / request_hash
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / review
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Review"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changedproperty_turnover_quick_estimate10 fields changed
      • addedInput schema / properties / retain
        Added value: +{
        +  "default": true,
        +  "description": "Optional (contract 0.5.1). false: keep none of this request's text, so the AI reader's answer for the issues is not stored either. By default the text is kept with contact details and access codes removed, to improve matching; the estimate is the same either way.",
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / FindingResolution / properties / confirmed
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • changedOutput schema / $defs / FindingResolution / properties / not_billed_reason / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "none",
        -      "ok",
        -      "done"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "none",
        +      "ok",
        +      "done",
        +      "no_condition"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / $defs / Reading
        Added value: +{
        +  "properties": {
        +    "counts": {
        +      "$ref": "#/$defs/ReadingCounts"
        +    },
        +    "findings": {
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "enum": [
        +        "notes",
        +        "document"
        +      ],
        +      "type": "string"
        +    },
        +    "model": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "notes": {
        +      "items": {
        +        "$ref": "#/$defs/ReadingNote"
        +      },
        +      "type": "array"
        +    },
        +    "prompt_version": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "kind",
        +    "counts",
        +    "findings"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ReadingCounts
        Added value: +{
        +  "properties": {
        +    "ai": {
        +      "type": "integer"
        +    },
        +    "parser": {
        +      "type": "integer"
        +    },
        +    "total": {
        +      "type": "integer"
        +    },
        +    "unmatched": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "ai",
        +    "parser",
        +    "unmatched"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ReadingNote
        Added value: +{
        +  "properties": {
        +    "code": {
        +      "type": "string"
        +    },
        +    "finding_ids": {
        +      "default": [],
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "kind": {
        +      "enum": [
        +        "warning",
        +        "assumption"
        +      ],
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "code",
        +    "message"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Review
        Added value: +{
        +  "properties": {
        +    "ai_read": {
        +      "default": 0,
        +      "type": "integer"
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "reading_id": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "status": {
        +      "default": "verified",
        +      "enum": [
        +        "draft",
        +        "verified"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / reading
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Reading"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / request_hash
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / review
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Review"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changedproperty_turnover_scope14 fields changed
      • addedInput schema / $defs / Extraction / properties / quote
        Added value: +{
        +  "description": "'ai_document' only: the row's words as printed on that page, contact details masked. Evidence for checking the finding; it never changes the price.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
      • addedInput schema / $defs / Finding / properties / confirmed
        Added value: +{
        +  "default": false,
        +  "description": "true: the person checked this AI-read finding (one with extraction) and it says what they meant. It keeps resolution 'ai' but no longer needs review, and the answer is verified once every AI-read finding is confirmed.",
        +  "type": "boolean"
        +}
      • changedInput schema / $defs / Finding / properties / extraction / description
        Previous value: -"Leave out. Set by the web tool for findings its AI reader produced from free text; they come back as resolution 'ai' with needs_review."New value: +"Set by Tektolo's AI reader on findings it read from free text or a document (reading.findings of an earlier answer); keep it when you send such a finding back. They come back as resolution 'ai' with needs_review unless confirmed."
      • addedInput schema / $defs / Finding / properties / signature_like
        Added value: +{
        +  "default": false,
        +  "description": "Set by Tektolo's notes reader (reading.findings, the web tool's rows): the words came right after a sign-off and read like a name or signature ('Thanks!' / 'Rotten Egg Smell'), kept only because they name a safety item. A safety item in them is raised unconfirmed (check first). Keep it when you send such a finding back, so every way of sending the same words gives the same answer.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / read
        Added value: +{
        +  "default": "parser",
        +  "description": "parser (default): descriptions are read by the deterministic parser and matcher only; what they cannot place comes back as a manual-quote line with suggested codes. ai: what the parser cannot place is then read by an AI model; the answer is a draft (review.status) and echoes the reading, whose findings you confirm and send back for a verified answer (contract 0.12.0).",
        +  "enum": [
        +    "parser",
        +    "ai"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / $defs / FindingResolution / properties / confirmed
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • changedOutput schema / $defs / FindingResolution / properties / not_billed_reason / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "none",
        -      "ok",
        -      "done"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "none",
        +      "ok",
        +      "done",
        +      "no_condition"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / $defs / Reading
        Added value: +{
        +  "properties": {
        +    "counts": {
        +      "$ref": "#/$defs/ReadingCounts"
        +    },
        +    "findings": {
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "enum": [
        +        "notes",
        +        "document"
        +      ],
        +      "type": "string"
        +    },
        +    "model": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "notes": {
        +      "items": {
        +        "$ref": "#/$defs/ReadingNote"
        +      },
        +      "type": "array"
        +    },
        +    "prompt_version": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "kind",
        +    "counts",
        +    "findings"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ReadingCounts
        Added value: +{
        +  "properties": {
        +    "ai": {
        +      "type": "integer"
        +    },
        +    "parser": {
        +      "type": "integer"
        +    },
        +    "total": {
        +      "type": "integer"
        +    },
        +    "unmatched": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "ai",
        +    "parser",
        +    "unmatched"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ReadingNote
        Added value: +{
        +  "properties": {
        +    "code": {
        +      "type": "string"
        +    },
        +    "finding_ids": {
        +      "default": [],
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "kind": {
        +      "enum": [
        +        "warning",
        +        "assumption"
        +      ],
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "code",
        +    "message"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Review
        Added value: +{
        +  "properties": {
        +    "ai_read": {
        +      "default": 0,
        +      "type": "integer"
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "reading_id": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "status": {
        +      "default": "verified",
        +      "enum": [
        +        "draft",
        +        "verified"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / reading
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Reading"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / request_hash
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / properties / review
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Review"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
  7. 5 tool updates
    • Changeddeposit_settlement_rules22 fields changed
      • addedInput schema / properties / as_of
        Added value: +{
        +  "description": "Optional date (YYYY-MM-DD): show the law in force on that day, for a past move-out the day the tenancy ended. Omitted: the current law.",
        +  "format": "date",
        +  "type": "string"
        +}
      • addedInput schema / properties / expect_ruleset
        Added value: +{
        +  "description": "Optional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.",
        +  "type": "string"
        +}
      • addedInput schema / properties / serve_pinned
        Added value: +{
        +  "default": false,
        +  "description": "Optional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.",
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / Alternative / properties / listed_if
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / CleaningRule / properties / effective_on
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "format": "date",
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null
        -}
      • addedOutput schema / $defs / DeductionRules / properties / cleaning / anyOf
        Added value: +[
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "amendment": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "from": {
        +          "anyOf": [
        +            {
        +              "format": "date",
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "governed_by": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "note": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "source": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "until": {
        +          "anyOf": [
        +            {
        +              "format": "date",
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "value": {
        +          "$ref": "#/$defs/CleaningRule"
        +        }
        +      },
        +      "required": [
        +        "value"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  {
        +    "$ref": "#/$defs/CleaningRule"
        +  },
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "basis": {
        +          "enum": [
        +            "named",
        +            "damage"
        +          ],
        +          "type": "string"
        +        },
        +        "condition": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "default": null
        +        },
        +        "effective_on": {
        +          "anyOf": [
        +            {
        +              "format": "date",
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "default": null
        +        },
        +        "note": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "default": null
        +        },
        +        "quote": {
        +          "maxLength": 600,
        +          "type": "string"
        +        },
        +        "routine": {
        +          "default": "barred",
        +          "enum": [
        +            "barred",
        +            "lease",
        +            "reasonable"
        +          ],
        +          "type": "string"
        +        },
        +        "routine_signed_provision": {
        +          "default": false,
        +          "type": "boolean"
        +        },
        +        "section": {
        +          "type": "string"
        +        },
        +        "source": {
        +          "type": "string"
        +        },
        +        "unless_no_notice": {
        +          "default": false,
        +          "type": "boolean"
        +        },
        +        "verbatim": {
        +          "default": true,
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "basis",
        +        "section",
        +        "quote",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  }
        +]
      • removedOutput schema / $defs / DeductionRules / properties / cleaning / items
        Removed value: -{
        -  "$ref": "#/$defs/CleaningRule"
        -}
      • removedOutput schema / $defs / DeductionRules / properties / cleaning / type
        Removed value: -"array"
      • addedOutput schema / $defs / DescribeEach
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "quote": {
        +      "maxLength": 400,
        +      "type": "string"
        +    },
        +    "rent_only_exempt": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "section",
        +    "quote",
        +    "source"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / InterestRule / properties / rate_schedule / anyOf
        Added value: +[
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "amendment": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "from": {
        +          "anyOf": [
        +            {
        +              "format": "date",
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "governed_by": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "note": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "source": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "until": {
        +          "anyOf": [
        +            {
        +              "format": "date",
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "value": {
        +          "anyOf": [
        +            {
        +              "minimum": 0,
        +              "type": "number"
        +            },
        +            {
        +              "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +              "type": "string"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "value"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  {
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +    "type": "string"
        +  },
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "from": {
        +          "format": "date",
        +          "type": "string"
        +        },
        +        "note": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "default": null
        +        },
        +        "rate_value": {
        +          "anyOf": [
        +            {
        +              "minimum": 0,
        +              "type": "number"
        +            },
        +            {
        +              "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +              "type": "string"
        +            }
        +          ]
        +        },
        +        "source": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "default": null
        +        },
        +        "to": {
        +          "format": "date",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "from",
        +        "to",
        +        "rate_value"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  }
        +]
      • removedOutput schema / $defs / InterestRule / properties / rate_schedule / items
        Removed value: -{
        -  "$ref": "#/$defs/RateWindow"
        -}
      • removedOutput schema / $defs / InterestRule / properties / rate_schedule / type
        Removed value: -"array"
      • addedOutput schema / $defs / Itemization / properties / describe_each
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/DescribeEach"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / MoveOutList / properties / unnotified_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Provenance / properties / rules_as_of
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / RateWindow
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "from": {
        -      "format": "date",
        -      "type": "string"
        -    },
        -    "note": {
        -      "anyOf": [
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "default": null
        -    },
        -    "rate_value": {
        -      "anyOf": [
        -        {
        -          "minimum": 0,
        -          "type": "number"
        -        },
        -        {
        -          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -          "type": "string"
        -        }
        -      ]
        -    },
        -    "source": {
        -      "anyOf": [
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "default": null
        -    },
        -    "to": {
        -      "format": "date",
        -      "type": "string"
        -    }
        -  },
        -  "required": [
        -    "from",
        -    "to",
        -    "rate_value"
        -  ],
        -  "type": "object"
        -}
      • addedOutput schema / $defs / Receipts / properties / estimate_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Receipts / properties / estimate_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / ResultSignature
        Added value: +{
        +  "properties": {
        +    "jws": {
        +      "type": "string"
        +    },
        +    "payload": {
        +      "$ref": "#/$defs/ResultSignaturePayload"
        +    },
        +    "verify_code": {
        +      "type": "string"
        +    },
        +    "verify_url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "jws",
        +    "payload",
        +    "verify_code",
        +    "verify_url"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ResultSignaturePayload
        Added value: +{
        +  "properties": {
        +    "capability": {
        +      "type": "string"
        +    },
        +    "engine_version": {
        +      "type": "string"
        +    },
        +    "issued_at": {
        +      "type": "string"
        +    },
        +    "kid": {
        +      "type": "string"
        +    },
        +    "operation": {
        +      "type": "string"
        +    },
        +    "result_hash": {
        +      "type": "string"
        +    },
        +    "ruleset_hash": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "ruleset_version": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "v": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "v",
        +    "kid",
        +    "capability",
        +    "operation",
        +    "ruleset_version",
        +    "ruleset_hash",
        +    "engine_version",
        +    "result_hash",
        +    "issued_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ReturnRule / properties / demand_in_writing
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / signature
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/ResultSignature"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changeddeposit_settlement_settle11 fields changed
      • changedInput schema / $defs / Deduction / properties / description / description
        Previous value: -"Your own short note (e.g. 'bedroom carpet, pet stains'). Never stored, hashed or returned; the statement uses the category."New value: +"What was damaged or owed and the repair or charge (e.g. 'bedroom carpet: pet stains, two areas patched'). Printed under the line on the itemized statement you download (HTML or PDF); never stored, logged or hashed, and not in the result."
      • addedInput schema / $defs / Deduction / properties / good_faith_estimate
        Added value: +{
        +  "description": "The amount is a good-faith estimate: the repair cannot reasonably be finished within the return period, or the vendor's bills have not arrived (California 1950.5(h)(3)). The receipts then follow within 14 days of the repair or the documents.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / demand_received_on / description
        Previous value: -"Day you received the tenant's written demand for the deposit (YYYY-MM-DD). Arizona, Kansas, Oklahoma, South Carolina and Mississippi start the clock on it."New value: +"Day you received the tenant's demand for the deposit (YYYY-MM-DD; written in Oklahoma, by first-class mail in Maryland 8-203(h)). Arizona, Kansas, Oklahoma, South Carolina and Mississippi start the clock on it."
      • addedInput schema / properties / expect_ruleset
        Added value: +{
        +  "description": "Optional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.",
        +  "type": "string"
        +}
      • addedInput schema / properties / serve_pinned
        Added value: +{
        +  "default": false,
        +  "description": "Optional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.",
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / Deadline / properties / reverted_after
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Provenance / properties / rules_as_of
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / ResultSignature
        Added value: +{
        +  "properties": {
        +    "jws": {
        +      "type": "string"
        +    },
        +    "payload": {
        +      "$ref": "#/$defs/ResultSignaturePayload"
        +    },
        +    "verify_code": {
        +      "type": "string"
        +    },
        +    "verify_url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "jws",
        +    "payload",
        +    "verify_code",
        +    "verify_url"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ResultSignaturePayload
        Added value: +{
        +  "properties": {
        +    "capability": {
        +      "type": "string"
        +    },
        +    "engine_version": {
        +      "type": "string"
        +    },
        +    "issued_at": {
        +      "type": "string"
        +    },
        +    "kid": {
        +      "type": "string"
        +    },
        +    "operation": {
        +      "type": "string"
        +    },
        +    "result_hash": {
        +      "type": "string"
        +    },
        +    "ruleset_hash": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "ruleset_version": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "v": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "v",
        +    "kid",
        +    "capability",
        +    "operation",
        +    "ruleset_version",
        +    "ruleset_hash",
        +    "engine_version",
        +    "result_hash",
        +    "issued_at"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / $defs / TimelyCheck / properties / status / enum
        Previous value: -[
        -  "on_time",
        -  "late",
        -  "not_yet_due",
        -  "overdue",
        -  "not_started",
        -  "none_in_statute"
        -]New value: +[
        +  "on_time",
        +  "late",
        +  "not_yet_due",
        +  "overdue",
        +  "not_started",
        +  "none_in_statute",
        +  "reverted"
        +]
      • addedOutput schema / properties / signature
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/ResultSignature"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changedproperty_turnover_issue_codes5 fields changed
      • addedInput schema / properties / expect_ruleset
        Added value: +{
        +  "description": "Optional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.",
        +  "type": "string"
        +}
      • addedInput schema / properties / serve_pinned
        Added value: +{
        +  "default": false,
        +  "description": "Optional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.",
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / ResultSignature
        Added value: +{
        +  "properties": {
        +    "jws": {
        +      "type": "string"
        +    },
        +    "payload": {
        +      "$ref": "#/$defs/ResultSignaturePayload"
        +    },
        +    "verify_code": {
        +      "type": "string"
        +    },
        +    "verify_url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "jws",
        +    "payload",
        +    "verify_code",
        +    "verify_url"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ResultSignaturePayload
        Added value: +{
        +  "properties": {
        +    "capability": {
        +      "type": "string"
        +    },
        +    "engine_version": {
        +      "type": "string"
        +    },
        +    "issued_at": {
        +      "type": "string"
        +    },
        +    "kid": {
        +      "type": "string"
        +    },
        +    "operation": {
        +      "type": "string"
        +    },
        +    "result_hash": {
        +      "type": "string"
        +    },
        +    "ruleset_hash": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "ruleset_version": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "v": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "v",
        +    "kid",
        +    "capability",
        +    "operation",
        +    "ruleset_version",
        +    "ruleset_hash",
        +    "engine_version",
        +    "result_hash",
        +    "issued_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / signature
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/ResultSignature"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changedproperty_turnover_quick_estimate5 fields changed
      • addedInput schema / properties / expect_ruleset
        Added value: +{
        +  "description": "Optional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.",
        +  "type": "string"
        +}
      • addedInput schema / properties / serve_pinned
        Added value: +{
        +  "default": false,
        +  "description": "Optional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.",
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / ResultSignature
        Added value: +{
        +  "properties": {
        +    "jws": {
        +      "type": "string"
        +    },
        +    "payload": {
        +      "$ref": "#/$defs/ResultSignaturePayload"
        +    },
        +    "verify_code": {
        +      "type": "string"
        +    },
        +    "verify_url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "jws",
        +    "payload",
        +    "verify_code",
        +    "verify_url"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ResultSignaturePayload
        Added value: +{
        +  "properties": {
        +    "capability": {
        +      "type": "string"
        +    },
        +    "engine_version": {
        +      "type": "string"
        +    },
        +    "issued_at": {
        +      "type": "string"
        +    },
        +    "kid": {
        +      "type": "string"
        +    },
        +    "operation": {
        +      "type": "string"
        +    },
        +    "result_hash": {
        +      "type": "string"
        +    },
        +    "ruleset_hash": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "ruleset_version": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "v": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "v",
        +    "kid",
        +    "capability",
        +    "operation",
        +    "ruleset_version",
        +    "ruleset_hash",
        +    "engine_version",
        +    "result_hash",
        +    "issued_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / signature
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/ResultSignature"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changedproperty_turnover_scope5 fields changed
      • addedInput schema / properties / expect_ruleset
        Added value: +{
        +  "description": "Optional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.",
        +  "type": "string"
        +}
      • addedInput schema / properties / serve_pinned
        Added value: +{
        +  "default": false,
        +  "description": "Optional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.",
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / ResultSignature
        Added value: +{
        +  "properties": {
        +    "jws": {
        +      "type": "string"
        +    },
        +    "payload": {
        +      "$ref": "#/$defs/ResultSignaturePayload"
        +    },
        +    "verify_code": {
        +      "type": "string"
        +    },
        +    "verify_url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "jws",
        +    "payload",
        +    "verify_code",
        +    "verify_url"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ResultSignaturePayload
        Added value: +{
        +  "properties": {
        +    "capability": {
        +      "type": "string"
        +    },
        +    "engine_version": {
        +      "type": "string"
        +    },
        +    "issued_at": {
        +      "type": "string"
        +    },
        +    "kid": {
        +      "type": "string"
        +    },
        +    "operation": {
        +      "type": "string"
        +    },
        +    "result_hash": {
        +      "type": "string"
        +    },
        +    "ruleset_hash": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "ruleset_version": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "v": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "v",
        +    "kid",
        +    "capability",
        +    "operation",
        +    "ruleset_version",
        +    "ruleset_hash",
        +    "engine_version",
        +    "result_hash",
        +    "issued_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / signature
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/ResultSignature"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
  8. 2 tool updates
    • Changeddeposit_settlement_settle3 fields changed
      • addedOutput schema / $defs / NoteFormat
        Added value: +{
        +  "properties": {
        +    "bold": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "larger_than_body_pt": {
        +      "anyOf": [
        +        {
        +          "type": "integer"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "min_pt": {
        +      "anyOf": [
        +        {
        +          "type": "integer"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Statement / properties / notes
        Added value: +{
        +  "items": {
        +    "$ref": "#/$defs/StatementNote"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / $defs / StatementNote
        Added value: +{
        +  "properties": {
        +    "audience": {
        +      "enum": [
        +        "tenant",
        +        "manager"
        +      ],
        +      "type": "string"
        +    },
        +    "blanks": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "citation": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "format": {
        +      "anyOf": [
        +        {
        +          "$ref": "#/$defs/NoteFormat"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "kind": {
        +      "default": "note",
        +      "enum": [
        +        "note",
        +        "required_notice",
        +        "attestation"
        +      ],
        +      "type": "string"
        +    },
        +    "text": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "text",
        +    "audience"
        +  ],
        +  "type": "object"
        +}
    • Changedproperty_turnover_scope7 fields changed
      • changedInput schema / $defs / Extraction / description
        Previous value: -"How a finding was produced, when software read it from free text (contract 0.4.0).\n\nSet by the web tool when its AI reader (Azure OpenAI) turned a person's own words into this\nfinding. The engine reports such a finding as ``resolution: \"ai\"`` with ``needs_review``\nand flags its lines; it never changes how the finding is priced."New value: +"How a finding was produced, when software read it from free text (contract 0.4.0) or\nfrom an uploaded document (``ai_document`` and ``page``, additive).\n\nSet by the web tool when its AI reader (Azure OpenAI) turned a person's own words, or a page\nof their inspection report, into this finding. The engine reports such a finding as\n``resolution: \"ai\"`` with ``needs_review`` and flags its lines; it never changes how the\nfinding is priced."
      • removedInput schema / $defs / Extraction / properties / method / const
        Removed value: -"ai"
      • changedInput schema / $defs / Extraction / properties / method / description
        Previous value: -"'ai': read by a language model from free text."New value: +"'ai': read by a language model from free text. 'ai_document': read by a language model from a page of an uploaded document."
      • addedInput schema / $defs / Extraction / properties / method / enum
        Added value: +[
        +  "ai",
        +  "ai_document"
        +]
      • addedInput schema / $defs / Extraction / properties / page
        Added value: +{
        +  "description": "'ai_document' only: the page of the upload it was read from (1-based).",
        +  "maximum": 100,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / $defs / Extraction / properties / review
        Added value: +{
        +  "$ref": "#/$defs/ExtractionReview",
        +  "description": "'ai_document' only: the person's review before estimating (confirmed, accepted or edited). Leave out when the finding was not checked; it then needs review.",
        +  "type": "object"
        +}
      • addedInput schema / $defs / ExtractionReview
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "What the person did with a finding the web tool read from an uploaded document, before\nestimating (contract 0.11.0, additive). ``confirmed``: they pressed \"Looks right\";\n``accepted``: left as read, on a row the page did not flag; ``edited``: they changed it\n(``changed`` names what). A reviewed finding keeps its ``extraction`` (where it came from)\nbut is no longer reported as needing review: the person has checked it.",
        +  "properties": {
        +    "changed": {
        +      "description": "'edited': the fields the person changed.",
        +      "items": {
        +        "enum": [
        +          "description",
        +          "area",
        +          "label",
        +          "extent",
        +          "quantity"
        +        ],
        +        "type": "string"
        +      },
        +      "maxItems": 5,
        +      "type": "array"
        +    },
        +    "flags": {
        +      "description": "Why the page flagged it, if it did.",
        +      "items": {
        +        "enum": [
        +          "low_confidence",
        +          "medium_confidence",
        +          "quote_not_on_page",
        +          "count_unread",
        +          "column_unclear",
        +          "ok_unclear",
        +          "unmatched",
        +          "loose_match",
        +          "ai_match"
        +        ],
        +        "type": "string"
        +      },
        +      "maxItems": 9,
        +      "type": "array"
        +    },
        +    "outcome": {
        +      "enum": [
        +        "confirmed",
        +        "accepted",
        +        "edited"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "outcome"
        +  ],
        +  "type": "object"
        +}
  9. 5 tool updates
    • Changeddeposit_settlement_rules1 field changed
      • addedInput schema / properties / state / description
        Added value: +"US state, 2-letter code or name (e.g. 'TX')."
    • Changeddeposit_settlement_settle5 fields changed
      • addedInput schema / properties / deposit_usd / description
        Added value: +"Security deposit held, dollars."
      • addedInput schema / properties / documentation / type
        Added value: +"object"
      • addedInput schema / properties / returned / type
        Added value: +"object"
      • addedInput schema / properties / state / description
        Added value: +"US state, 2-letter code (e.g. 'CA'); a state name also works."
      • addedInput schema / properties / vacated_on / description
        Added value: +"Day the tenant moved out and returned possession (YYYY-MM-DD)."
    • Changedproperty_turnover_issue_codes1 field changed
      • addedInput schema / properties / limit / description
        Added value: +"Most codes to return."
    • Changedproperty_turnover_quick_estimate10 fields changed
      • addedInput schema / properties / bathrooms / description
        Added value: +"Half baths count as 0.5."
      • addedInput schema / properties / bedrooms / description
        Added value: +"0 for a studio."
      • addedInput schema / properties / price_tier / description
        Added value: +"bulk_contract (portfolio contract prices) | pm_vendor (default: a property manager buying turns from local vendors) | retail_one_off (an owner hiring one contractor)."
      • addedInput schema / properties / price_tier / type
        Added value: +"string"
      • addedInput schema / properties / profile / description
        Added value: +"minimum (rent-ready basics) | standard | premium (higher finish)."
      • addedInput schema / properties / profile / type
        Added value: +"string"
      • addedInput schema / properties / unit_type / description
        Added value: +"Single-family homes and townhomes get house-sized defaults (floor area, locks)."
      • addedInput schema / properties / unit_type / type
        Added value: +"string"
      • addedInput schema / properties / year_built / description
        Added value: +"Drives lead-paint (pre-1978) handling."
      • addedInput schema / properties / zip / description
        Added value: +"The user's 5-digit US ZIP code. If it is missing or not exactly 5 digits, ask the user; never guess, pad or correct it."
    • Changedproperty_turnover_scope23 fields changed
      • addedInput schema / $defs / Finding / properties / extent / type
        Added value: +"string"
      • addedInput schema / $defs / Finding / properties / extraction / type
        Added value: +"object"
      • addedInput schema / $defs / Finding / properties / location / type
        Added value: +"object"
      • addedInput schema / $defs / Finding / properties / quantity / type
        Added value: +"object"
      • addedInput schema / $defs / Location / properties / area / type
        Added value: +"string"
      • addedInput schema / $defs / PropertyProfile / properties / floor_coverings / type
        Added value: +"object"
      • addedInput schema / $defs / PropertyProfile / properties / unit_type / type
        Added value: +"string"
      • addedInput schema / $defs / Quantity / properties / uom / type
        Added value: +"string"
      • addedInput schema / $defs / RateCardEntry / properties / trade / type
        Added value: +"string"
      • addedInput schema / $defs / RateCardEntry / properties / uom / type
        Added value: +"string"
      • addedInput schema / $defs / Standards / properties / overrides / type
        Added value: +"object"
      • addedInput schema / $defs / Standards / properties / price_tier / type
        Added value: +"string"
      • addedInput schema / $defs / Standards / properties / profile / type
        Added value: +"string"
      • addedInput schema / properties / constraints / description
        Added value: +"Target ready date, whether the unit is occupied, access notes."
      • addedInput schema / properties / constraints / type
        Added value: +"object"
      • addedInput schema / properties / decisions / description
        Added value: +"Approve, decline or defer lines or findings from an earlier scope."
      • addedInput schema / properties / findings / description
        Added value: +"Move-out inspection findings, one per condition, with location and extent."
      • addedInput schema / properties / property / description
        Added value: +"The unit: ZIP, size, type and year built."
      • addedInput schema / properties / property / type
        Added value: +"object"
      • addedInput schema / properties / rate_card / description
        Added value: +"Your own prices by trade or task; they replace the regional library prices."
      • addedInput schema / properties / standards / description
        Added value: +"Finish profile, price tier and overrides."
      • addedInput schema / properties / standards / type
        Added value: +"object"
      • addedInput schema / properties / trade_vendors / description
        Added value: +"Vendor (name, contact) to put on each trade's lines."
  10. 5 tool updates
    • Changeddeposit_settlement_rules375 fields changed
      • removedInput schema / properties / audit / title
        Removed value: -"Audit"
      • removedInput schema / properties / city / anyOf
        Removed value: -[
        -  {
        -    "maxLength": 80,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / city / default
        Removed value: -null
      • addedInput schema / properties / city / maxLength
        Added value: +80
      • removedInput schema / properties / city / title
        Removed value: -"City"
      • addedInput schema / properties / city / type
        Added value: +"string"
      • removedInput schema / properties / state / title
        Removed value: -"State"
      • removedInput schema / title
        Removed value: -"deposit_settlement_rulesArguments"
      • removedOutput schema / $defs / Alternative / description
        Removed value: -"A different deadline when a condition holds (e.g. 14 days when nothing is deducted).\n\n``condition`` is the statute's case in words. The engine evaluates it when ``requires``\nlists mapped conditions, when the condition itself is one (``no_deductions``), or when an\neffective-date window is the whole condition; any other alternative keeps the base rule and\nadds an assumption naming it. ``combine`` says how a matching alternative applies:\n``replace`` the base period (the first match wins), or take the ``later_date`` /\n``earlier_date`` of the base deadline and this one (Connecticut: 21 days after the end of\nthe tenancy or 15 days after the forwarding address, whichever is later)."
      • removedOutput schema / $defs / Alternative / properties / combine / title
        Removed value: -"Combine"
      • removedOutput schema / $defs / Alternative / properties / condition / title
        Removed value: -"Condition"
      • removedOutput schema / $defs / Alternative / properties / counting / title
        Removed value: -"Counting"
      • removedOutput schema / $defs / Alternative / properties / days / title
        Removed value: -"Days"
      • removedOutput schema / $defs / Alternative / properties / effective_before / title
        Removed value: -"Effective Before"
      • addedOutput schema / $defs / Alternative / properties / effective_by
        Added value: +{
        +  "default": "termination",
        +  "enum": [
        +    "termination",
        +    "conduct"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / $defs / Alternative / properties / effective_on_or_after / title
        Removed value: -"Effective On Or After"
      • addedOutput schema / $defs / Alternative / properties / extends
        Added value: +{
        +  "default": "deadline",
        +  "enum": [
        +    "deadline",
        +    "itemization"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / $defs / Alternative / properties / months / title
        Removed value: -"Months"
      • removedOutput schema / $defs / Alternative / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / Alternative / properties / notice_within_days / title
        Removed value: -"Notice Within Days"
      • removedOutput schema / $defs / Alternative / properties / pending / title
        Removed value: -"Pending"
      • changedOutput schema / $defs / Alternative / properties / requires / items / enum
        Previous value: -[
        -  "no_deductions",
        -  "with_deductions",
        -  "damage_deductions",
        -  "no_damage_deductions",
        -  "lease_specifies_longer",
        -  "lease_specifies_shorter",
        -  "tenant_gave_notice",
        -  "contractor_needed",
        -  "damages_exceed_deposit"
        -]New value: +[
        +  "no_deductions",
        +  "with_deductions",
        +  "damage_deductions",
        +  "no_damage_deductions",
        +  "lease_specifies_longer",
        +  "lease_specifies_shorter",
        +  "tenant_gave_notice",
        +  "contractor_needed",
        +  "damages_exceed_deposit",
        +  "written_lease",
        +  "at_will",
        +  "abandoned",
        +  "charges_only",
        +  "relet_before_end"
        +]
      • removedOutput schema / $defs / Alternative / properties / requires / title
        Removed value: -"Requires"
      • removedOutput schema / $defs / Alternative / properties / start / title
        Removed value: -"Start"
      • removedOutput schema / $defs / Alternative / title
        Removed value: -"Alternative"
      • removedOutput schema / $defs / Change / properties / effective_on / title
        Removed value: -"Effective On"
      • removedOutput schema / $defs / Change / properties / source / title
        Removed value: -"Source"
      • removedOutput schema / $defs / Change / properties / text / title
        Removed value: -"Text"
      • removedOutput schema / $defs / Change / title
        Removed value: -"Change"
      • removedOutput schema / $defs / Citation / properties / accessed / title
        Removed value: -"Accessed"
      • removedOutput schema / $defs / Citation / properties / quote / description
        Removed value: -"Short quote of the rule (or our summary when verbatim is false)."
      • removedOutput schema / $defs / Citation / properties / quote / title
        Removed value: -"Quote"
      • removedOutput schema / $defs / Citation / properties / rule / description
        Removed value: -"What the citation supports: deadline, interest, penalty, ..."
      • removedOutput schema / $defs / Citation / properties / rule / title
        Removed value: -"Rule"
      • removedOutput schema / $defs / Citation / properties / section / title
        Removed value: -"Section"
      • removedOutput schema / $defs / Citation / properties / source_title / title
        Removed value: -"Source Title"
      • removedOutput schema / $defs / Citation / properties / url / title
        Removed value: -"Url"
      • removedOutput schema / $defs / Citation / properties / verbatim / title
        Removed value: -"Verbatim"
      • removedOutput schema / $defs / Citation / title
        Removed value: -"Citation"
      • removedOutput schema / $defs / CityRules / properties / applicability / title
        Removed value: -"Applicability"
      • removedOutput schema / $defs / CityRules / properties / depreciation_schedule / title
        Removed value: -"Depreciation Schedule"
      • removedOutput schema / $defs / CityRules / properties / forfeiture / title
        Removed value: -"Forfeiture"
      • removedOutput schema / $defs / CityRules / properties / id / title
        Removed value: -"Id"
      • removedOutput schema / $defs / CityRules / properties / name / title
        Removed value: -"Name"
      • removedOutput schema / $defs / CityRules / properties / notes / title
        Removed value: -"Notes"
      • removedOutput schema / $defs / CityRules / properties / state / title
        Removed value: -"State"
      • removedOutput schema / $defs / CityRules / title
        Removed value: -"CityRules"
      • addedOutput schema / $defs / CleaningRule
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "basis": {
        +      "enum": [
        +        "named",
        +        "damage"
        +      ],
        +      "type": "string"
        +    },
        +    "condition": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "effective_on": {
        +      "anyOf": [
        +        {
        +          "format": "date",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "quote": {
        +      "maxLength": 600,
        +      "type": "string"
        +    },
        +    "routine": {
        +      "default": "barred",
        +      "enum": [
        +        "barred",
        +        "lease",
        +        "reasonable"
        +      ],
        +      "type": "string"
        +    },
        +    "routine_signed_provision": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "unless_no_notice": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "verbatim": {
        +      "default": true,
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "basis",
        +    "section",
        +    "quote",
        +    "source"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / ContractDamages
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "categories": {
        +      "items": {
        +        "enum": [
        +          "unpaid_rent",
        +          "unpaid_utilities",
        +          "cleaning",
        +          "carpet",
        +          "flooring",
        +          "paint",
        +          "blinds_window_coverings",
        +          "appliance",
        +          "fixture_or_hardware",
        +          "wall_or_door_repair",
        +          "key_or_lock",
        +          "late_fees",
        +          "lease_break_fee",
        +          "moving_and_storage",
        +          "reletting_costs",
        +          "trash_and_abandoned_items",
        +          "other_damage",
        +          "other"
        +        ],
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "quote": {
        +      "maxLength": 400,
        +      "type": "string"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "section",
        +    "quote",
        +    "source",
        +    "categories"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / $defs / DeductionRules / properties / allowed / items / enum
        Previous value: -[
        -  "unpaid_rent",
        -  "unpaid_utilities",
        -  "late_fees",
        -  "lease_break_fee",
        -  "cleaning_to_move_in_condition",
        -  "damage_beyond_wear",
        -  "future_defaults_under_lease",
        -  "other_lease_obligations",
        -  "moving_and_storage",
        -  "real_estate_tax_increase"
        -]New value: +[
        +  "unpaid_rent",
        +  "unpaid_utilities",
        +  "late_fees",
        +  "lease_break_fee",
        +  "cleaning_to_move_in_condition",
        +  "damage_beyond_wear",
        +  "future_defaults_under_lease",
        +  "other_lease_obligations",
        +  "moving_and_storage",
        +  "real_estate_tax_increase",
        +  "removal_of_items_left"
        +]
      • removedOutput schema / $defs / DeductionRules / properties / allowed / title
        Removed value: -"Allowed"
      • removedOutput schema / $defs / DeductionRules / properties / allowed_detail / title
        Removed value: -"Allowed Detail"
      • addedOutput schema / $defs / DeductionRules / properties / cleaning
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "$ref": "#/$defs/CleaningRule"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / $defs / DeductionRules / properties / contract_damages
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/ContractDamages"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • changedOutput schema / $defs / DeductionRules / properties / depreciation / default
        Previous value: -"none"New value: +"silent"
      • changedOutput schema / $defs / DeductionRules / properties / depreciation / enum
        Previous value: -[
        -  "required",
        -  "guidance",
        -  "none"
        -]New value: +[
        +  "required",
        +  "guidance",
        +  "silent"
        +]
      • removedOutput schema / $defs / DeductionRules / properties / depreciation / title
        Removed value: -"Depreciation"
      • removedOutput schema / $defs / DeductionRules / properties / depreciation_note / title
        Removed value: -"Depreciation Note"
      • changedOutput schema / $defs / DeductionRules / properties / depreciation_only / items / enum
        Previous value: -[
        -  "unpaid_rent",
        -  "unpaid_utilities",
        -  "cleaning",
        -  "carpet",
        -  "flooring",
        -  "paint",
        -  "blinds_window_coverings",
        -  "appliance",
        -  "fixture_or_hardware",
        -  "wall_or_door_repair",
        -  "key_or_lock",
        -  "late_fees",
        -  "lease_break_fee",
        -  "other_damage",
        -  "other"
        -]New value: +[
        +  "unpaid_rent",
        +  "unpaid_utilities",
        +  "cleaning",
        +  "carpet",
        +  "flooring",
        +  "paint",
        +  "blinds_window_coverings",
        +  "appliance",
        +  "fixture_or_hardware",
        +  "wall_or_door_repair",
        +  "key_or_lock",
        +  "late_fees",
        +  "lease_break_fee",
        +  "moving_and_storage",
        +  "reletting_costs",
        +  "trash_and_abandoned_items",
        +  "other_damage",
        +  "other"
        +]
      • removedOutput schema / $defs / DeductionRules / properties / depreciation_only / title
        Removed value: -"Depreciation Only"
      • removedOutput schema / $defs / DeductionRules / properties / excluded / title
        Removed value: -"Excluded"
      • addedOutput schema / $defs / DeductionRules / properties / mitigation_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DeductionRules / properties / nonstandard_only
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "enum": [
        +      "unpaid_rent",
        +      "unpaid_utilities",
        +      "cleaning",
        +      "carpet",
        +      "flooring",
        +      "paint",
        +      "blinds_window_coverings",
        +      "appliance",
        +      "fixture_or_hardware",
        +      "wall_or_door_repair",
        +      "key_or_lock",
        +      "late_fees",
        +      "lease_break_fee",
        +      "moving_and_storage",
        +      "reletting_costs",
        +      "trash_and_abandoned_items",
        +      "other_damage",
        +      "other"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / $defs / DeductionRules / properties / nonstandard_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / DeductionRules / properties / normal_wear_excluded / title
        Removed value: -"Normal Wear Excluded"
      • addedOutput schema / $defs / DeductionRules / properties / not_allowed_warning
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / DeductionRules / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / DeductionRules / title
        Removed value: -"DeductionRules"
      • addedOutput schema / $defs / DepositCap / properties / before_furnished_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / before_months_rent
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / counts_prepaid_rent
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / DepositCap / properties / effective_by
        Added value: +{
        +  "default": "collected",
        +  "enum": [
        +    "collected",
        +    "lease_signed"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / $defs / DepositCap / properties / effective_on
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / excess_remedy
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/ExcessRemedy"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / excludes_pet_deposit
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / DepositCap / properties / furnished_exempt
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / DepositCap / properties / furnished_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / later_after_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / later_months_rent
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / max_rent_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / max_term_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / min_term_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / DepositCap / properties / minimum_usd / title
        Removed value: -"Minimum Usd"
      • removedOutput schema / $defs / DepositCap / properties / months_rent / title
        Removed value: -"Months Rent"
      • removedOutput schema / $defs / DepositCap / properties / note / title
        Removed value: -"Note"
      • addedOutput schema / $defs / DepositCap / properties / pet_allowance_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / prepaid_cap_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / DepositCap / properties / source / title
        Removed value: -"Source"
      • addedOutput schema / $defs / DepositCap / properties / variant_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / variant_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DepositCap / properties / variant_when
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "small_landlord",
        +        "tenant_age_62_plus",
        +        "month_to_month"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / DepositCap / properties / variants / title
        Removed value: -"Variants"
      • removedOutput schema / $defs / DepositCap / title
        Removed value: -"DepositCap"
      • addedOutput schema / $defs / ExcessRemedy
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "multiple": {
        +      "anyOf": [
        +        {
        +          "exclusiveMinimum": 0,
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        }
        +      ]
        +    },
        +    "quote": {
        +      "maxLength": 400,
        +      "type": "string"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "multiple",
        +    "section",
        +    "quote",
        +    "source"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / $defs / Exclusion / description
        Removed value: -"A category the statute keeps out of the deposit (Delaware: damage correctable by painting\nand ordinary cleaning): 'no', cited."
      • changedOutput schema / $defs / Exclusion / properties / category / enum
        Previous value: -[
        -  "unpaid_rent",
        -  "unpaid_utilities",
        -  "cleaning",
        -  "carpet",
        -  "flooring",
        -  "paint",
        -  "blinds_window_coverings",
        -  "appliance",
        -  "fixture_or_hardware",
        -  "wall_or_door_repair",
        -  "key_or_lock",
        -  "late_fees",
        -  "lease_break_fee",
        -  "other_damage",
        -  "other"
        -]New value: +[
        +  "unpaid_rent",
        +  "unpaid_utilities",
        +  "cleaning",
        +  "carpet",
        +  "flooring",
        +  "paint",
        +  "blinds_window_coverings",
        +  "appliance",
        +  "fixture_or_hardware",
        +  "wall_or_door_repair",
        +  "key_or_lock",
        +  "late_fees",
        +  "lease_break_fee",
        +  "moving_and_storage",
        +  "reletting_costs",
        +  "trash_and_abandoned_items",
        +  "other_damage",
        +  "other"
        +]
      • removedOutput schema / $defs / Exclusion / properties / category / title
        Removed value: -"Category"
      • removedOutput schema / $defs / Exclusion / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / Exclusion / properties / quote / title
        Removed value: -"Quote"
      • removedOutput schema / $defs / Exclusion / properties / section / title
        Removed value: -"Section"
      • removedOutput schema / $defs / Exclusion / properties / source / title
        Removed value: -"Source"
      • removedOutput schema / $defs / Exclusion / title
        Removed value: -"Exclusion"
      • addedOutput schema / $defs / Fallback
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "days": {
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "start": {
        +      "default": "vacate",
        +      "enum": [
        +        "vacate",
        +        "termination",
        +        "later_of_vacate_and_termination",
        +        "forwarding_address",
        +        "demand",
        +        "later_of_termination_and_address",
        +        "latest_of_termination_possession_and_address",
        +        "earlier_of_termination_and_surrender",
        +        "surrender_or_termination_first",
        +        "new_tenant_occupancy",
        +        "termination_possession_and_demand",
        +        "claim_notice"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "days",
        +    "section"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / $defs / Forfeiture / description
        Removed value: -"A statute's consequence for a missed duty: the landlord loses the right to keep some or\nall of the deposit. Computed, not relayed: when the trigger is met as of ``as_of`` (the date\npassed and the statement or refund was not sent in time, or a statement sent now would be\nlate), the barred lines become ``allowed: no`` (``depends`` when ``gate`` needs a finding or\nthe category is ``contested``) and the totals are recomputed. Before then the lines stand and\na warning names the date. ``not_in_input`` rows turn on facts the request cannot state and\nare relayed as unknowns whenever something is deducted."
      • removedOutput schema / $defs / Forfeiture / properties / address_relief_days / title
        Removed value: -"Address Relief Days"
      • removedOutput schema / $defs / Forfeiture / properties / bars / title
        Removed value: -"Bars"
      • removedOutput schema / $defs / Forfeiture / properties / condition / title
        Removed value: -"Condition"
      • changedOutput schema / $defs / Forfeiture / properties / contested / items / enum
        Previous value: -[
        -  "unpaid_rent",
        -  "unpaid_utilities",
        -  "cleaning",
        -  "carpet",
        -  "flooring",
        -  "paint",
        -  "blinds_window_coverings",
        -  "appliance",
        -  "fixture_or_hardware",
        -  "wall_or_door_repair",
        -  "key_or_lock",
        -  "late_fees",
        -  "lease_break_fee",
        -  "other_damage",
        -  "other"
        -]New value: +[
        +  "unpaid_rent",
        +  "unpaid_utilities",
        +  "cleaning",
        +  "carpet",
        +  "flooring",
        +  "paint",
        +  "blinds_window_coverings",
        +  "appliance",
        +  "fixture_or_hardware",
        +  "wall_or_door_repair",
        +  "key_or_lock",
        +  "late_fees",
        +  "lease_break_fee",
        +  "moving_and_storage",
        +  "reletting_costs",
        +  "trash_and_abandoned_items",
        +  "other_damage",
        +  "other"
        +]
      • removedOutput schema / $defs / Forfeiture / properties / contested / title
        Removed value: -"Contested"
      • removedOutput schema / $defs / Forfeiture / properties / effective_on / title
        Removed value: -"Effective On"
      • changedOutput schema / $defs / Forfeiture / properties / exempt / items / enum
        Previous value: -[
        -  "unpaid_rent",
        -  "unpaid_utilities",
        -  "cleaning",
        -  "carpet",
        -  "flooring",
        -  "paint",
        -  "blinds_window_coverings",
        -  "appliance",
        -  "fixture_or_hardware",
        -  "wall_or_door_repair",
        -  "key_or_lock",
        -  "late_fees",
        -  "lease_break_fee",
        -  "other_damage",
        -  "other"
        -]New value: +[
        +  "unpaid_rent",
        +  "unpaid_utilities",
        +  "cleaning",
        +  "carpet",
        +  "flooring",
        +  "paint",
        +  "blinds_window_coverings",
        +  "appliance",
        +  "fixture_or_hardware",
        +  "wall_or_door_repair",
        +  "key_or_lock",
        +  "late_fees",
        +  "lease_break_fee",
        +  "moving_and_storage",
        +  "reletting_costs",
        +  "trash_and_abandoned_items",
        +  "other_damage",
        +  "other"
        +]
      • removedOutput schema / $defs / Forfeiture / properties / exempt / title
        Removed value: -"Exempt"
      • removedOutput schema / $defs / Forfeiture / properties / gate / title
        Removed value: -"Gate"
      • removedOutput schema / $defs / Forfeiture / properties / keeps_claim / title
        Removed value: -"Keeps Claim"
      • addedOutput schema / $defs / Forfeiture / properties / not_if_abandoned
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / Forfeiture / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / Forfeiture / properties / quote / title
        Removed value: -"Quote"
      • removedOutput schema / $defs / Forfeiture / properties / section / title
        Removed value: -"Section"
      • addedOutput schema / $defs / Forfeiture / properties / short_interest_contested
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / Forfeiture / properties / source / title
        Removed value: -"Source"
      • removedOutput schema / $defs / Forfeiture / properties / tenant_notice_relief / title
        Removed value: -"Tenant Notice Relief"
      • removedOutput schema / $defs / Forfeiture / properties / trigger / title
        Removed value: -"Trigger"
      • removedOutput schema / $defs / Forfeiture / properties / verbatim / title
        Removed value: -"Verbatim"
      • removedOutput schema / $defs / Forfeiture / title
        Removed value: -"Forfeiture"
      • removedOutput schema / $defs / Guide / description
        Removed value: -"An official plain-language resource for the state or city (an agency guide)."
      • removedOutput schema / $defs / Guide / properties / accessed / title
        Removed value: -"Accessed"
      • removedOutput schema / $defs / Guide / properties / publisher / title
        Removed value: -"Publisher"
      • removedOutput schema / $defs / Guide / properties / title / title
        Removed value: -"Title"
      • removedOutput schema / $defs / Guide / properties / url / title
        Removed value: -"Url"
      • removedOutput schema / $defs / Guide / title
        Removed value: -"Guide"
      • addedOutput schema / $defs / InterestRule / properties / accrual_floor
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / InterestRule / properties / accrual_floor_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / InterestRule / properties / accrues_after_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / InterestRule / properties / bank_rate_lesser
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / InterestRule / properties / base / title
        Removed value: -"Base"
      • addedOutput schema / $defs / InterestRule / properties / compound
        Added value: +{
        +  "default": "none",
        +  "enum": [
        +    "none",
        +    "annual"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / $defs / InterestRule / properties / condition / title
        Removed value: -"Condition"
      • addedOutput schema / $defs / InterestRule / properties / count_last_day
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / InterestRule / properties / due_days
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / InterestRule / properties / due_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / InterestRule / properties / due_start
        Added value: +{
        +  "default": "vacate",
        +  "enum": [
        +    "vacate",
        +    "termination",
        +    "later_of_vacate_and_termination",
        +    "forwarding_address",
        +    "demand",
        +    "later_of_termination_and_address",
        +    "latest_of_termination_possession_and_address",
        +    "earlier_of_termination_and_surrender",
        +    "surrender_or_termination_first",
        +    "new_tenant_occupancy",
        +    "termination_possession_and_demand",
        +    "claim_notice"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / $defs / InterestRule / properties / fee_percent
        Added value: +{
        +  "anyOf": [
        +    {
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / InterestRule / properties / formula / title
        Removed value: -"Formula"
      • removedOutput schema / $defs / InterestRule / properties / held_until / title
        Removed value: -"Held Until"
      • addedOutput schema / $defs / InterestRule / properties / includes_prepaid_rent
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / InterestRule / properties / legacy_before
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / InterestRule / properties / legacy_interval_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / InterestRule / properties / legacy_rate
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • changedOutput schema / $defs / InterestRule / properties / method / enum
        Previous value: -[
        -  "simple",
        -  "per_window",
        -  "anniversary_years",
        -  "monthly"
        -]New value: +[
        +  "simple",
        +  "monthly_by_year",
        +  "months_to_compliance",
        +  "lease_years",
        +  "per_window",
        +  "anniversary_years",
        +  "monthly"
        +]
      • removedOutput schema / $defs / InterestRule / properties / method / title
        Removed value: -"Method"
      • addedOutput schema / $defs / InterestRule / properties / min_deposit_months_rent
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / InterestRule / properties / min_deposit_usd / title
        Removed value: -"Min Deposit Usd"
      • addedOutput schema / $defs / InterestRule / properties / min_lease_term_months
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / InterestRule / properties / min_tenancy_days / title
        Removed value: -"Min Tenancy Days"
      • removedOutput schema / $defs / InterestRule / properties / min_tenancy_months / title
        Removed value: -"Min Tenancy Months"
      • removedOutput schema / $defs / InterestRule / properties / min_tenancy_strict / title
        Removed value: -"Min Tenancy Strict"
      • removedOutput schema / $defs / InterestRule / properties / min_units / title
        Removed value: -"Min Units"
      • addedOutput schema / $defs / InterestRule / properties / minimum_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / InterestRule / properties / note / title
        Removed value: -"Note"
      • addedOutput schema / $defs / InterestRule / properties / ordinance_coverage
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / InterestRule / properties / payable / title
        Removed value: -"Payable"
      • removedOutput schema / $defs / InterestRule / properties / rate / title
        Removed value: -"Rate"
      • addedOutput schema / $defs / InterestRule / properties / rate_published_by
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / InterestRule / properties / rate_schedule / title
        Removed value: -"Rate Schedule"
      • removedOutput schema / $defs / InterestRule / properties / rate_value / title
        Removed value: -"Rate Value"
      • removedOutput schema / $defs / InterestRule / properties / rate_year / title
        Removed value: -"Rate Year"
      • removedOutput schema / $defs / InterestRule / properties / required / title
        Removed value: -"Required"
      • addedOutput schema / $defs / InterestRule / properties / year_starts
        Added value: +{
        +  "anyOf": [
        +    {
        +      "pattern": "^\\d{2}-\\d{2}$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / InterestRule / title
        Removed value: -"InterestRule"
      • addedOutput schema / $defs / Itemization / properties / after_refund
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / Itemization / properties / days / title
        Removed value: -"Days"
      • removedOutput schema / $defs / Itemization / properties / effective_on / title
        Removed value: -"Effective On"
      • removedOutput schema / $defs / Itemization / properties / months / title
        Removed value: -"Months"
      • addedOutput schema / $defs / Itemization / properties / move_in_statement
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/MoveInStatement"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Itemization / properties / move_out_list
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/MoveOutList"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / Itemization / properties / note / title
        Removed value: -"Note"
      • addedOutput schema / $defs / Itemization / properties / on_full_refund
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / Itemization / properties / refund_with_list
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / Itemization / properties / required / title
        Removed value: -"Required"
      • removedOutput schema / $defs / Itemization / properties / start / title
        Removed value: -"Start"
      • removedOutput schema / $defs / Itemization / properties / with_refund / title
        Removed value: -"With Refund"
      • removedOutput schema / $defs / Itemization / title
        Removed value: -"Itemization"
      • removedOutput schema / $defs / JurisdictionRef / properties / city / description
        Removed value: -"The city you sent, as given."
      • removedOutput schema / $defs / JurisdictionRef / properties / city / title
        Removed value: -"City"
      • removedOutput schema / $defs / JurisdictionRef / properties / city_overlay / description
        Removed value: -"The covered city whose rules were layered on, if any."
      • removedOutput schema / $defs / JurisdictionRef / properties / city_overlay / title
        Removed value: -"City Overlay"
      • addedOutput schema / $defs / JurisdictionRef / properties / city_rules_checked
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / JurisdictionRef / properties / covered / title
        Removed value: -"Covered"
      • removedOutput schema / $defs / JurisdictionRef / properties / state / title
        Removed value: -"State"
      • removedOutput schema / $defs / JurisdictionRef / properties / state_name / title
        Removed value: -"State Name"
      • removedOutput schema / $defs / JurisdictionRef / properties / verified / description
        Removed value: -"True when the main rule text was read verbatim at the official source."
      • removedOutput schema / $defs / JurisdictionRef / properties / verified / title
        Removed value: -"Verified"
      • removedOutput schema / $defs / JurisdictionRef / title
        Removed value: -"JurisdictionRef"
      • removedOutput schema / $defs / LateFeeRule / description
        Removed value: -"The most a late fee may be, per late payment (or per month), computed from the monthly\nrent: ``flat_usd`` and ``percent`` (of the rent, or of the rent above ``over_usd``) combined\nas the greater, the lesser or the sum; ``rent_tiers`` / ``unit_tiers`` pick the figure by\nrent or building size. ``presumption``: the figure is only a safe harbor (Texas), so a larger\nfee is 'depends'. ``conditional``: no figure can be checked (Massachusetts: nothing until 30\ndays late; Oregon's reasonable flat fee; Wisconsin's nonstandard provision): 'depends' with\nthe text. The engine allows up to the cap for one late payment unless the line says how many\n(``late_payments``); more than one cap without a count is 'depends'."
      • removedOutput schema / $defs / LateFeeRule / properties / combine / title
        Removed value: -"Combine"
      • removedOutput schema / $defs / LateFeeRule / properties / conditional / title
        Removed value: -"Conditional"
      • addedOutput schema / $defs / LateFeeRule / properties / deposit_use
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / LateFeeRule / properties / flat_usd / title
        Removed value: -"Flat Usd"
      • removedOutput schema / $defs / LateFeeRule / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / LateFeeRule / properties / over_usd / title
        Removed value: -"Over Usd"
      • removedOutput schema / $defs / LateFeeRule / properties / per / title
        Removed value: -"Per"
      • removedOutput schema / $defs / LateFeeRule / properties / percent / title
        Removed value: -"Percent"
      • removedOutput schema / $defs / LateFeeRule / properties / presumption / title
        Removed value: -"Presumption"
      • removedOutput schema / $defs / LateFeeRule / properties / quote / title
        Removed value: -"Quote"
      • removedOutput schema / $defs / LateFeeRule / properties / rent_tiers / title
        Removed value: -"Rent Tiers"
      • removedOutput schema / $defs / LateFeeRule / properties / section / title
        Removed value: -"Section"
      • removedOutput schema / $defs / LateFeeRule / properties / source / title
        Removed value: -"Source"
      • removedOutput schema / $defs / LateFeeRule / properties / unit_tiers / title
        Removed value: -"Unit Tiers"
      • removedOutput schema / $defs / LateFeeRule / properties / verbatim / title
        Removed value: -"Verbatim"
      • removedOutput schema / $defs / LateFeeRule / title
        Removed value: -"LateFeeRule"
      • removedOutput schema / $defs / LeaseBreakRule / description
        Removed value: -"What the statute lets a landlord keep for a tenancy ended early. ``actual_rent``: only\nthe rent actually lost (after mitigation), not a flat fee (Michigan, Indiana, North Carolina);\n``cap_months_rent``: a fee up to ``months_rent`` x rent when the agreement provides it (Oregon\n1.5, Florida 2 with a signed addendum); ``nonstandard_provision``: only under a signed\nnonstandard provision (Wisconsin). Every case is 'depends' (facts the request cannot state);\nthe cap limits the amount."
      • addedOutput schema / $defs / LeaseBreakRule / properties / excludes_later_rent
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / LeaseBreakRule / properties / exclusion_quote
        Added value: +{
        +  "anyOf": [
        +    {
        +      "maxLength": 400,
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LeaseBreakRule / properties / exclusion_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / LeaseBreakRule / properties / keeps_retake_month_rent
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / LeaseBreakRule / properties / months_rent / title
        Removed value: -"Months Rent"
      • removedOutput schema / $defs / LeaseBreakRule / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / LeaseBreakRule / properties / quote / title
        Removed value: -"Quote"
      • removedOutput schema / $defs / LeaseBreakRule / properties / rule / title
        Removed value: -"Rule"
      • removedOutput schema / $defs / LeaseBreakRule / properties / section / title
        Removed value: -"Section"
      • removedOutput schema / $defs / LeaseBreakRule / properties / source / title
        Removed value: -"Source"
      • removedOutput schema / $defs / LeaseBreakRule / properties / verbatim / title
        Removed value: -"Verbatim"
      • removedOutput schema / $defs / LeaseBreakRule / title
        Removed value: -"LeaseBreakRule"
      • removedOutput schema / $defs / Links / description
        Removed value: -"Where the user gets files. MCP results only; the estimate itself is not stored."
      • removedOutput schema / $defs / Links / properties / downloads / description
        Removed value: -"Format -> URL. POST the property_turnover_scope arguments as JSON."
      • removedOutput schema / $defs / Links / properties / downloads / title
        Removed value: -"Downloads"
      • removedOutput schema / $defs / Links / properties / how_to_get_files / title
        Removed value: -"How To Get Files"
      • removedOutput schema / $defs / Links / properties / web_tool / description
        Removed value: -"The free web tool."
      • removedOutput schema / $defs / Links / properties / web_tool / title
        Removed value: -"Web Tool"
      • removedOutput schema / $defs / Links / properties / web_tool_prefilled / description
        Removed value: -"Opens the web tool with these inputs filled in and estimates them; the user can download the Excel workbook and owner estimate there. Give this link to the user."
      • removedOutput schema / $defs / Links / properties / web_tool_prefilled / title
        Removed value: -"Web Tool Prefilled"
      • removedOutput schema / $defs / Links / title
        Removed value: -"Links"
      • removedOutput schema / $defs / MoveInPhotos / description
        Removed value: -"Photos at the start of the tenancy, for tenancies beginning on or after ``tenancy_from``\n(California 1950.5(g)(1): 2025-07-01). Checked against ``documentation.photos_move_in``."
      • changedOutput schema / $defs / MoveInPhotos / properties / missing / enum
        Previous value: -[
        -  "warn",
        -  "depends"
        -]New value: +[
        +  "warn",
        +  "depends",
        +  "bars"
        +]
      • removedOutput schema / $defs / MoveInPhotos / properties / missing / title
        Removed value: -"Missing"
      • removedOutput schema / $defs / MoveInPhotos / properties / quote / title
        Removed value: -"Quote"
      • removedOutput schema / $defs / MoveInPhotos / properties / section / title
        Removed value: -"Section"
      • removedOutput schema / $defs / MoveInPhotos / properties / source / title
        Removed value: -"Source"
      • removedOutput schema / $defs / MoveInPhotos / properties / tenancy_from / title
        Removed value: -"Tenancy From"
      • removedOutput schema / $defs / MoveInPhotos / title
        Removed value: -"MoveInPhotos"
      • addedOutput schema / $defs / MoveInStatement
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "missing": {
        +      "default": "depends",
        +      "enum": [
        +        "depends",
        +        "bars",
        +        "warn"
        +      ],
        +      "type": "string"
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "quote": {
        +      "maxLength": 400,
        +      "type": "string"
        +    },
        +    "rent_exempt": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "scope": {
        +      "default": "lines",
        +      "enum": [
        +        "lines",
        +        "all"
        +      ],
        +      "type": "string"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "section",
        +    "quote",
        +    "source"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / MoveOutList
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "business_days": {
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "quote": {
        +      "maxLength": 400,
        +      "type": "string"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "business_days",
        +    "section",
        +    "quote",
        +    "source"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / NotIfAbandoned
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "quote": {
        +      "maxLength": 400,
        +      "type": "string"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "section",
        +    "quote",
        +    "source"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / $defs / Note / properties / code / title
        Removed value: -"Code"
      • removedOutput schema / $defs / Note / properties / text / title
        Removed value: -"Text"
      • removedOutput schema / $defs / Note / title
        Removed value: -"Note"
      • addedOutput schema / $defs / PaymentMethod
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "days": {
        +      "anyOf": [
        +        {
        +          "exclusiveMinimum": 0,
        +          "type": "integer"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "effective_on": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "kind": {
        +      "enum": [
        +        "electronic_after_notice",
        +        "electronic_if_paid_electronically"
        +      ],
        +      "type": "string"
        +    },
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "section": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "effective_on",
        +    "section"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / $defs / PenaltyRule / properties / base
        Added value: +{
        +  "default": "withheld",
        +  "enum": [
        +    "withheld",
        +    "wrongfully_withheld",
        +    "entitled_balance",
        +    "exceeds_damages"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / $defs / PenaltyRule / properties / base_high
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "deposit",
        +        "withheld"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / PenaltyRule / properties / base_if_no_statement
        Added value: +{
        +  "anyOf": [
        +    {
        +      "const": "deposit_less_claims",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / PenaltyRule / properties / basis / title
        Removed value: -"Basis"
      • changedOutput schema / $defs / PenaltyRule / properties / condition / enum
        Previous value: -[
        -  "bad_faith",
        -  "willful",
        -  "any_late",
        -  "late",
        -  "any_violation",
        -  "without_reasonable_basis",
        -  "court_discretion"
        -]New value: +[
        +  "bad_faith",
        +  "willful",
        +  "any_late",
        +  "late",
        +  "any_violation",
        +  "without_reasonable_basis",
        +  "court_discretion",
        +  "unpaid_annual_interest"
        +]
      • removedOutput schema / $defs / PenaltyRule / properties / condition / title
        Removed value: -"Condition"
      • addedOutput schema / $defs / PenaltyRule / properties / credited_against_rent
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "rent_due",
        +        "rent_beyond_deposit"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / PenaltyRule / properties / discretionary / title
        Removed value: -"Discretionary"
      • removedOutput schema / $defs / PenaltyRule / properties / fixed_usd / title
        Removed value: -"Fixed Usd"
      • removedOutput schema / $defs / PenaltyRule / properties / forfeits_right_to_withhold_if_late / title
        Removed value: -"Forfeits Right To Withhold If Late"
      • addedOutput schema / $defs / PenaltyRule / properties / interest_in_base
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / PenaltyRule / properties / kind / title
        Removed value: -"Kind"
      • addedOutput schema / $defs / PenaltyRule / properties / late_refund_in_base
        Added value: +{
        +  "default": true,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / PenaltyRule / properties / max_months_rent / title
        Removed value: -"Max Months Rent"
      • removedOutput schema / $defs / PenaltyRule / properties / minimum_usd / title
        Removed value: -"Minimum Usd"
      • removedOutput schema / $defs / PenaltyRule / properties / multiple / title
        Removed value: -"Multiple"
      • addedOutput schema / $defs / PenaltyRule / properties / multiple_if_statement_late
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / PenaltyRule / properties / multiple_is_additional / title
        Removed value: -"Multiple Is Additional"
      • addedOutput schema / $defs / PenaltyRule / properties / no_statement_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / PenaltyRule / properties / not_if_abandoned
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / PenaltyRule / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / PenaltyRule / properties / per_violation / title
        Removed value: -"Per Violation"
      • removedOutput schema / $defs / PenaltyRule / properties / plus_attorney_fees / title
        Removed value: -"Plus Attorney Fees"
      • addedOutput schema / $defs / PenaltyRule / properties / safe_harbor
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/SafeHarbor"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / PenaltyRule / title
        Removed value: -"PenaltyRule"
      • removedOutput schema / $defs / Photos / properties / effective_on / title
        Removed value: -"Effective On"
      • addedOutput schema / $defs / Photos / properties / gate_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / Photos / properties / kinds / title
        Removed value: -"Kinds"
      • changedOutput schema / $defs / Photos / properties / missing / enum
        Previous value: -[
        -  "warn",
        -  "depends"
        -]New value: +[
        +  "warn",
        +  "depends",
        +  "bars"
        +]
      • removedOutput schema / $defs / Photos / properties / missing / title
        Removed value: -"Missing"
      • removedOutput schema / $defs / Photos / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / Photos / properties / required / title
        Removed value: -"Required"
      • addedOutput schema / $defs / Photos / properties / scope
        Added value: +{
        +  "default": "lines",
        +  "enum": [
        +    "lines",
        +    "all"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / $defs / Photos / properties / threshold_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / Photos / title
        Removed value: -"Photos"
      • removedOutput schema / $defs / Provenance / properties / rule_ids / title
        Removed value: -"Rule Ids"
      • removedOutput schema / $defs / Provenance / properties / ruleset_hash / title
        Removed value: -"Ruleset Hash"
      • removedOutput schema / $defs / Provenance / properties / ruleset_id / title
        Removed value: -"Ruleset Id"
      • removedOutput schema / $defs / Provenance / properties / ruleset_version / title
        Removed value: -"Ruleset Version"
      • removedOutput schema / $defs / Provenance / properties / sources / title
        Removed value: -"Sources"
      • removedOutput schema / $defs / Provenance / title
        Removed value: -"Provenance"
      • removedOutput schema / $defs / RateWindow / description
        Removed value: -"A published rate for a period (San Francisco's March-February year, a Berkeley move-out\nmonth, a Connecticut calendar year)."
      • removedOutput schema / $defs / RateWindow / properties / from / title
        Removed value: -"From"
      • removedOutput schema / $defs / RateWindow / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / RateWindow / properties / rate_value / title
        Removed value: -"Rate Value"
      • removedOutput schema / $defs / RateWindow / properties / source / title
        Removed value: -"Source"
      • removedOutput schema / $defs / RateWindow / properties / to / title
        Removed value: -"To"
      • removedOutput schema / $defs / RateWindow / title
        Removed value: -"RateWindow"
      • addedOutput schema / $defs / Receipts / properties / gate_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • changedOutput schema / $defs / Receipts / properties / missing / enum
        Previous value: -[
        -  "warn",
        -  "depends"
        -]New value: +[
        +  "warn",
        +  "depends",
        +  "bars"
        +]
      • removedOutput schema / $defs / Receipts / properties / missing / title
        Removed value: -"Missing"
      • removedOutput schema / $defs / Receipts / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / Receipts / properties / required / title
        Removed value: -"Required"
      • addedOutput schema / $defs / Receipts / properties / scope
        Added value: +{
        +  "default": "lines",
        +  "enum": [
        +    "lines",
        +    "all"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / $defs / Receipts / properties / threshold_usd / title
        Removed value: -"Threshold Usd"
      • removedOutput schema / $defs / Receipts / title
        Removed value: -"Receipts"
      • removedOutput schema / $defs / RentTier / description
        Removed value: -"A flat late-fee limit for rents up to ``max_rent_usd`` (Iowa: $60 a month up to $700)."
      • removedOutput schema / $defs / RentTier / properties / flat_usd / title
        Removed value: -"Flat Usd"
      • removedOutput schema / $defs / RentTier / properties / max_rent_usd / title
        Removed value: -"Max Rent Usd"
      • removedOutput schema / $defs / RentTier / title
        Removed value: -"RentTier"
      • removedOutput schema / $defs / ReturnRule / properties / alternatives / title
        Removed value: -"Alternatives"
      • removedOutput schema / $defs / ReturnRule / properties / counting / title
        Removed value: -"Counting"
      • removedOutput schema / $defs / ReturnRule / properties / days / title
        Removed value: -"Days"
      • addedOutput schema / $defs / ReturnRule / properties / determination_days
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / ReturnRule / properties / determination_section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / ReturnRule / properties / fallback
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Fallback"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / ReturnRule / properties / gate / title
        Removed value: -"Gate"
      • removedOutput schema / $defs / ReturnRule / properties / gate_restarts / title
        Removed value: -"Gate Restarts"
      • removedOutput schema / $defs / ReturnRule / properties / holidays / title
        Removed value: -"Holidays"
      • removedOutput schema / $defs / ReturnRule / properties / months / title
        Removed value: -"Months"
      • addedOutput schema / $defs / ReturnRule / properties / not_if_abandoned
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/NotIfAbandoned"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / ReturnRule / properties / payment_method
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/PaymentMethod"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / ReturnRule / properties / rollover / title
        Removed value: -"Rollover"
      • addedOutput schema / $defs / ReturnRule / properties / rollover_days
        Added value: +{
        +  "default": [
        +    "saturday",
        +    "sunday",
        +    "holiday"
        +  ],
        +  "items": {
        +    "enum": [
        +      "saturday",
        +      "sunday",
        +      "holiday"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / $defs / ReturnRule / properties / rollover_source / title
        Removed value: -"Rollover Source"
      • addedOutput schema / $defs / ReturnRule / properties / rollover_unsettled
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / ReturnRule / properties / start / title
        Removed value: -"Start"
      • removedOutput schema / $defs / ReturnRule / properties / start_note / title
        Removed value: -"Start Note"
      • removedOutput schema / $defs / ReturnRule / title
        Removed value: -"ReturnRule"
      • removedOutput schema / $defs / RulesResult / properties / citations / title
        Removed value: -"Citations"
      • removedOutput schema / $defs / RulesResult / properties / covered_cities / description
        Removed value: -"City overlays in this state ('Name, ST')."
      • removedOutput schema / $defs / RulesResult / properties / covered_cities / title
        Removed value: -"Covered Cities"
      • removedOutput schema / $defs / RulesResult / properties / covered_states / title
        Removed value: -"Covered States"
      • removedOutput schema / $defs / RulesResult / properties / disclaimer / title
        Removed value: -"Disclaimer"
      • removedOutput schema / $defs / RulesResult / properties / guides / description
        Removed value: -"Official plain-language guides for this state or city, where we have one."
      • removedOutput schema / $defs / RulesResult / properties / guides / title
        Removed value: -"Guides"
      • removedOutput schema / $defs / RulesResult / properties / research_notes / description
        Removed value: -"Research notes on the rows used: where the text was read, fetch failures, renumbering, history not checked. For checking the sourcing; not warnings."
      • removedOutput schema / $defs / RulesResult / properties / research_notes / title
        Removed value: -"Research Notes"
      • removedOutput schema / $defs / RulesResult / properties / small_claims / description
        Removed value: -"The state courts' small claims page, where we have one."
      • removedOutput schema / $defs / RulesResult / properties / summary / title
        Removed value: -"Summary"
      • removedOutput schema / $defs / RulesResult / properties / warnings / title
        Removed value: -"Warnings"
      • removedOutput schema / $defs / RulesResult / title
        Removed value: -"RulesResult"
      • removedOutput schema / $defs / RunInfo / properties / capability / title
        Removed value: -"Capability"
      • removedOutput schema / $defs / RunInfo / properties / contract_version / title
        Removed value: -"Contract Version"
      • removedOutput schema / $defs / RunInfo / properties / duration_ms / title
        Removed value: -"Duration Ms"
      • removedOutput schema / $defs / RunInfo / properties / engine_version / title
        Removed value: -"Engine Version"
      • removedOutput schema / $defs / RunInfo / properties / id / title
        Removed value: -"Id"
      • removedOutput schema / $defs / RunInfo / properties / operation / title
        Removed value: -"Operation"
      • removedOutput schema / $defs / RunInfo / properties / received_at / title
        Removed value: -"Received At"
      • removedOutput schema / $defs / RunInfo / properties / ruleset_hash / title
        Removed value: -"Ruleset Hash"
      • removedOutput schema / $defs / RunInfo / properties / ruleset_version / title
        Removed value: -"Ruleset Version"
      • removedOutput schema / $defs / RunInfo / title
        Removed value: -"RunInfo"
      • addedOutput schema / $defs / SafeHarbor
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "note": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "quote": {
        +      "maxLength": 600,
        +      "type": "string"
        +    },
        +    "section": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "when": {
        +      "const": "no_forwarding_address",
        +      "default": "no_forwarding_address",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "section",
        +    "quote",
        +    "source"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / $defs / StateRules / properties / applicability / title
        Removed value: -"Applicability"
      • removedOutput schema / $defs / StateRules / properties / deposit_cap_months_rent / title
        Removed value: -"Deposit Cap Months Rent"
      • removedOutput schema / $defs / StateRules / properties / forfeiture / title
        Removed value: -"Forfeiture"
      • removedOutput schema / $defs / StateRules / properties / notes / title
        Removed value: -"Notes"
      • removedOutput schema / $defs / StateRules / properties / recent_changes / title
        Removed value: -"Recent Changes"
      • removedOutput schema / $defs / StateRules / properties / statute / title
        Removed value: -"Statute"
      • removedOutput schema / $defs / StateRules / title
        Removed value: -"StateRules"
      • removedOutput schema / $defs / UnitTier / description
        Removed value: -"A percentage for buildings up to ``max_units`` (Texas: 12% up to four units)."
      • removedOutput schema / $defs / UnitTier / properties / max_units / title
        Removed value: -"Max Units"
      • removedOutput schema / $defs / UnitTier / properties / percent / title
        Removed value: -"Percent"
      • removedOutput schema / $defs / UnitTier / title
        Removed value: -"UnitTier"
      • removedOutput schema / $defs / UtilityLimit / description
        Removed value: -"Utility charges the statute lets the landlord deduct, by kind (Massachusetts: water only).\nA utility line is 'yes' for these kinds, 'no' for others, 'depends' when the kind is not\ngiven (``utility_kind`` on the line)."
      • removedOutput schema / $defs / UtilityLimit / properties / kinds / title
        Removed value: -"Kinds"
      • removedOutput schema / $defs / UtilityLimit / properties / quote / title
        Removed value: -"Quote"
      • removedOutput schema / $defs / UtilityLimit / properties / section / title
        Removed value: -"Section"
      • removedOutput schema / $defs / UtilityLimit / properties / source / title
        Removed value: -"Source"
      • removedOutput schema / $defs / UtilityLimit / title
        Removed value: -"UtilityLimit"
      • removedOutput schema / properties / client_refs / description
        Removed value: -"Your own ids, echoed when you sent client_refs."
      • removedOutput schema / properties / client_refs / title
        Removed value: -"Client Refs"
      • removedOutput schema / properties / input_hash / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / properties / input_hash / title
        Removed value: -"Input Hash"
      • removedOutput schema / properties / result_hash / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / properties / result_hash / title
        Removed value: -"Result Hash"
      • removedOutput schema / properties / run / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / title
        Removed value: -"DepositSettlementRulesMcpResult"
    • Changeddeposit_settlement_settle470 fields changed
      • changedInput schema / $defs / Deduction / properties / amount_usd / anyOf
        Previous value: -[
        -  {
        -    "maximum": 10000000,
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -    "type": "string"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 10000000,
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "pattern": "^\\$?[0-9][0-9,]*(\\.[0-9]+)?$",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / $defs / Deduction / properties / amount_usd / title
        Removed value: -"Amount Usd"
      • changedInput schema / $defs / Deduction / properties / category / description
        Previous value: -"One of: unpaid_rent, unpaid_utilities, cleaning, carpet, flooring, paint, blinds_window_coverings, appliance, fixture_or_hardware, wall_or_door_repair, key_or_lock, late_fees, lease_break_fee, other_damage, other."New value: +"One of: unpaid_rent, unpaid_utilities, cleaning, carpet, flooring, paint, blinds_window_coverings, appliance, fixture_or_hardware, wall_or_door_repair, key_or_lock, late_fees, lease_break_fee, moving_and_storage, reletting_costs (advertising or a broker to re-rent after an early move-out), trash_and_abandoned_items (removing trash or belongings left behind), other_damage, other. Carpet cleaning is cleaning (with cleaning_kind), not carpet."
      • changedInput schema / $defs / Deduction / properties / category / enum
        Previous value: -[
        -  "unpaid_rent",
        -  "unpaid_utilities",
        -  "cleaning",
        -  "carpet",
        -  "flooring",
        -  "paint",
        -  "blinds_window_coverings",
        -  "appliance",
        -  "fixture_or_hardware",
        -  "wall_or_door_repair",
        -  "key_or_lock",
        -  "late_fees",
        -  "lease_break_fee",
        -  "other_damage",
        -  "other"
        -]New value: +[
        +  "unpaid_rent",
        +  "unpaid_utilities",
        +  "cleaning",
        +  "carpet",
        +  "flooring",
        +  "paint",
        +  "blinds_window_coverings",
        +  "appliance",
        +  "fixture_or_hardware",
        +  "wall_or_door_repair",
        +  "key_or_lock",
        +  "late_fees",
        +  "lease_break_fee",
        +  "moving_and_storage",
        +  "reletting_costs",
        +  "trash_and_abandoned_items",
        +  "other_damage",
        +  "other"
        +]
      • removedInput schema / $defs / Deduction / properties / category / title
        Removed value: -"Category"
      • removedInput schema / $defs / Deduction / properties / caused_by_tenant / title
        Removed value: -"Caused By Tenant"
      • addedInput schema / $defs / Deduction / properties / cleaning_kind
        Added value: +{
        +  "description": "cleaning only: beyond_wear (the unit was left dirtier than normal use; cleaning to restore its move-in condition), routine (ordinary cleaning after normal use, which most states treat as normal wear) or unknown. Where the statute does not name cleaning, an unknown kind is 'depends'.",
        +  "enum": [
        +    "beyond_wear",
        +    "routine",
        +    "unknown"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / $defs / Deduction / properties / description / anyOf
        Removed value: -[
        -  {
        -    "maxLength": 200,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Deduction / properties / description / default
        Removed value: -null
      • addedInput schema / $defs / Deduction / properties / description / maxLength
        Added value: +200
      • removedInput schema / $defs / Deduction / properties / description / title
        Removed value: -"Description"
      • addedInput schema / $defs / Deduction / properties / description / type
        Added value: +"string"
      • removedInput schema / $defs / Deduction / properties / has_photos / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Deduction / properties / has_photos / default
        Removed value: -null
      • removedInput schema / $defs / Deduction / properties / has_photos / title
        Removed value: -"Has Photos"
      • addedInput schema / $defs / Deduction / properties / has_photos / type
        Added value: +"boolean"
      • removedInput schema / $defs / Deduction / properties / has_receipt / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Deduction / properties / has_receipt / default
        Removed value: -null
      • removedInput schema / $defs / Deduction / properties / has_receipt / title
        Removed value: -"Has Receipt"
      • addedInput schema / $defs / Deduction / properties / has_receipt / type
        Added value: +"boolean"
      • changedInput schema / $defs / Deduction / properties / item_age_years / anyOf
        Previous value: -[
        -  {
        -    "maximum": 100,
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 100,
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / $defs / Deduction / properties / item_age_years / default
        Removed value: -null
      • removedInput schema / $defs / Deduction / properties / item_age_years / title
        Removed value: -"Item Age Years"
      • removedInput schema / $defs / Deduction / properties / item_installed_on / anyOf
        Removed value: -[
        -  {
        -    "format": "date",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Deduction / properties / item_installed_on / default
        Removed value: -null
      • addedInput schema / $defs / Deduction / properties / item_installed_on / format
        Added value: +"date"
      • removedInput schema / $defs / Deduction / properties / item_installed_on / title
        Removed value: -"Item Installed On"
      • addedInput schema / $defs / Deduction / properties / item_installed_on / type
        Added value: +"string"
      • removedInput schema / $defs / Deduction / properties / late_payments / anyOf
        Removed value: -[
        -  {
        -    "maximum": 600,
        -    "minimum": 1,
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Deduction / properties / late_payments / default
        Removed value: -null
      • addedInput schema / $defs / Deduction / properties / late_payments / maximum
        Added value: +600
      • addedInput schema / $defs / Deduction / properties / late_payments / minimum
        Added value: +1
      • removedInput schema / $defs / Deduction / properties / late_payments / title
        Removed value: -"Late Payments"
      • addedInput schema / $defs / Deduction / properties / late_payments / type
        Added value: +"integer"
      • addedInput schema / $defs / Deduction / properties / rent_through
        Added value: +{
        +  "description": "unpaid_rent only: the last day the rent charged covers. With new_tenant_moved_in_on it decides how much of the rent overlaps the new tenancy (not recoverable: the landlord cannot collect rent twice for the same days).",
        +  "format": "date",
        +  "type": "string"
        +}
      • changedInput schema / $defs / Deduction / properties / useful_life_years / anyOf
        Previous value: -[
        -  {
        -    "exclusiveMinimum": 0,
        -    "maximum": 100,
        -    "type": "number"
        -  },
        -  {
        -    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "exclusiveMinimum": 0,
        +    "maximum": 100,
        +    "type": "number"
        +  },
        +  {
        +    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / $defs / Deduction / properties / useful_life_years / default
        Removed value: -null
      • removedInput schema / $defs / Deduction / properties / useful_life_years / title
        Removed value: -"Useful Life Years"
      • removedInput schema / $defs / Deduction / properties / utility_kind / anyOf
        Removed value: -[
        -  {
        -    "enum": [
        -      "water",
        -      "sewer",
        -      "electric",
        -      "gas",
        -      "heat",
        -      "trash",
        -      "internet",
        -      "other"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Deduction / properties / utility_kind / default
        Removed value: -null
      • addedInput schema / $defs / Deduction / properties / utility_kind / enum
        Added value: +[
        +  "water",
        +  "sewer",
        +  "electric",
        +  "gas",
        +  "heat",
        +  "trash",
        +  "internet",
        +  "other"
        +]
      • removedInput schema / $defs / Deduction / properties / utility_kind / title
        Removed value: -"Utility Kind"
      • addedInput schema / $defs / Deduction / properties / utility_kind / type
        Added value: +"string"
      • addedInput schema / $defs / Deduction / properties / work_kind
        Added value: +{
        +  "description": "repair (restores the item: never depreciated), replace (a new item: prorated by the old one's remaining life where the rule does), or cleaning (e.g. carpet cleaning: judged as a cleaning line).",
        +  "enum": [
        +    "repair",
        +    "replace",
        +    "cleaning"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / $defs / Deduction / title
        Removed value: -"Deduction"
      • addedInput schema / $defs / Documentation / properties / cleaning_notice
        Added value: +{
        +  "description": "You gave the tenant written notice of the cleaning needed and time to do it before charging for cleaning (Montana 70-25-201(3): 24 hours).",
        +  "type": "boolean"
        +}
      • removedInput schema / $defs / Documentation / properties / itemized_statement / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Documentation / properties / itemized_statement / default
        Removed value: -null
      • removedInput schema / $defs / Documentation / properties / itemized_statement / title
        Removed value: -"Itemized Statement"
      • addedInput schema / $defs / Documentation / properties / itemized_statement / type
        Added value: +"boolean"
      • addedInput schema / $defs / Documentation / properties / move_in_condition_statement
        Added value: +{
        +  "description": "You gave the tenant a written move-in condition statement or checklist (Montana 70-25-206, Washington 59.18.260; listed as a duty in Georgia 44-7-33(a), Kentucky 383.580(2), Michigan 554.608 and Virginia 55.1-1214).",
        +  "type": "boolean"
        +}
      • addedInput schema / $defs / Documentation / properties / move_out_list
        Added value: +{
        +  "description": "You inspected the unit and made the move-out damage list in time (Georgia 44-7-33(b): within 3 business days).",
        +  "type": "boolean"
        +}
      • removedInput schema / $defs / Documentation / properties / photos_after_repair / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Documentation / properties / photos_after_repair / default
        Removed value: -null
      • removedInput schema / $defs / Documentation / properties / photos_after_repair / title
        Removed value: -"Photos After Repair"
      • addedInput schema / $defs / Documentation / properties / photos_after_repair / type
        Added value: +"boolean"
      • removedInput schema / $defs / Documentation / properties / photos_move_in / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Documentation / properties / photos_move_in / default
        Removed value: -null
      • removedInput schema / $defs / Documentation / properties / photos_move_in / title
        Removed value: -"Photos Move In"
      • addedInput schema / $defs / Documentation / properties / photos_move_in / type
        Added value: +"boolean"
      • removedInput schema / $defs / Documentation / properties / photos_move_out / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Documentation / properties / photos_move_out / default
        Removed value: -null
      • removedInput schema / $defs / Documentation / properties / photos_move_out / title
        Removed value: -"Photos Move Out"
      • addedInput schema / $defs / Documentation / properties / photos_move_out / type
        Added value: +"boolean"
      • removedInput schema / $defs / Documentation / properties / receipts / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Documentation / properties / receipts / default
        Removed value: -null
      • removedInput schema / $defs / Documentation / properties / receipts / title
        Removed value: -"Receipts"
      • addedInput schema / $defs / Documentation / properties / receipts / type
        Added value: +"boolean"
      • removedInput schema / $defs / Documentation / title
        Removed value: -"Documentation"
      • changedInput schema / $defs / Returned / properties / amount_usd / anyOf
        Previous value: -[
        -  {
        -    "maximum": 10000000,
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 10000000,
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "pattern": "^\\$?[0-9][0-9,]*(\\.[0-9]+)?$",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / $defs / Returned / properties / amount_usd / default
        Removed value: -null
      • removedInput schema / $defs / Returned / properties / amount_usd / title
        Removed value: -"Amount Usd"
      • addedInput schema / $defs / Returned / properties / method
        Added value: +{
        +  "description": "How the money went back: check, electronic (direct deposit or electronic transfer) or other. Some statutes key on it (Michigan 554.609(3): an electronic balance may follow the notice by 10 days; California 1950.5 as amended by AB 414: electronic return when the deposit or rent was paid electronically).",
        +  "enum": [
        +    "check",
        +    "electronic",
        +    "other"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / $defs / Returned / properties / on / anyOf
        Removed value: -[
        -  {
        -    "format": "date",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Returned / properties / on / default
        Removed value: -null
      • addedInput schema / $defs / Returned / properties / on / format
        Added value: +"date"
      • removedInput schema / $defs / Returned / properties / on / title
        Removed value: -"On"
      • addedInput schema / $defs / Returned / properties / on / type
        Added value: +"string"
      • removedInput schema / $defs / Returned / properties / what / title
        Removed value: -"What"
      • removedInput schema / $defs / Returned / title
        Removed value: -"Returned"
      • removedInput schema / properties / as_of / title
        Removed value: -"As Of"
      • removedInput schema / properties / audit / title
        Removed value: -"Audit"
      • removedInput schema / properties / building_units / anyOf
        Removed value: -[
        -  {
        -    "maximum": 100000,
        -    "minimum": 1,
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / building_units / default
        Removed value: -null
      • addedInput schema / properties / building_units / maximum
        Added value: +100000
      • addedInput schema / properties / building_units / minimum
        Added value: +1
      • removedInput schema / properties / building_units / title
        Removed value: -"Building Units"
      • addedInput schema / properties / building_units / type
        Added value: +"integer"
      • removedInput schema / properties / city / anyOf
        Removed value: -[
        -  {
        -    "maxLength": 80,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / city / default
        Removed value: -null
      • addedInput schema / properties / city / maxLength
        Added value: +80
      • removedInput schema / properties / city / title
        Removed value: -"City"
      • addedInput schema / properties / city / type
        Added value: +"string"
      • removedInput schema / properties / claim_notice_sent_on / anyOf
        Removed value: -[
        -  {
        -    "format": "date",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / claim_notice_sent_on / default
        Removed value: -null
      • addedInput schema / properties / claim_notice_sent_on / format
        Added value: +"date"
      • removedInput schema / properties / claim_notice_sent_on / title
        Removed value: -"Claim Notice Sent On"
      • addedInput schema / properties / claim_notice_sent_on / type
        Added value: +"string"
      • addedInput schema / properties / client_refs / additionalProperties
        Added value: +{
        +  "type": "string"
        +}
      • removedInput schema / properties / client_refs / anyOf
        Removed value: -[
        -  {
        -    "additionalProperties": {
        -      "type": "string"
        -    },
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / client_refs / default
        Removed value: -null
      • removedInput schema / properties / client_refs / title
        Removed value: -"Client Refs"
      • addedInput schema / properties / client_refs / type
        Added value: +"object"
      • removedInput schema / properties / contractor_needed / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / contractor_needed / default
        Removed value: -null
      • removedInput schema / properties / contractor_needed / title
        Removed value: -"Contractor Needed"
      • addedInput schema / properties / contractor_needed / type
        Added value: +"boolean"
      • changedInput schema / properties / deductions / description
        Previous value: -"What you intend to deduct (or, for a tenant, what the landlord listed); may be empty."New value: +"What you intend to deduct (or, for a tenant, what the landlord listed). An explicit empty list means nothing is deducted (it decides the shorter no-deduction periods, e.g. Montana 10 days, Alaska 14); leave it out when that is not known yet."
      • removedInput schema / properties / deductions / title
        Removed value: -"Deductions"
      • removedInput schema / properties / demand_received_on / anyOf
        Removed value: -[
        -  {
        -    "format": "date",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / demand_received_on / default
        Removed value: -null
      • addedInput schema / properties / demand_received_on / format
        Added value: +"date"
      • removedInput schema / properties / demand_received_on / title
        Removed value: -"Demand Received On"
      • addedInput schema / properties / demand_received_on / type
        Added value: +"string"
      • addedInput schema / properties / deposit_collected_on
        Added value: +{
        +  "description": "Day the deposit was collected (YYYY-MM-DD); defaults to move_in_on. California (AB 12, from 2024-07-01) and Colorado caps depend on it.",
        +  "format": "date",
        +  "type": "string"
        +}
      • removedInput schema / properties / deposit_usd / title
        Removed value: -"Deposit Usd"
      • removedInput schema / properties / forwarding_address_received_on / anyOf
        Removed value: -[
        -  {
        -    "format": "date",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / forwarding_address_received_on / default
        Removed value: -null
      • addedInput schema / properties / forwarding_address_received_on / format
        Added value: +"date"
      • removedInput schema / properties / forwarding_address_received_on / title
        Removed value: -"Forwarding Address Received On"
      • addedInput schema / properties / forwarding_address_received_on / type
        Added value: +"string"
      • addedInput schema / properties / furnished
        Added value: +{
        +  "description": "The unit is rented furnished (California before AB 12: 3 months; Kansas: 1.5 months; Delaware: no cap).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / interest_paid_through
        Added value: +{
        +  "description": "Interest already paid or credited to the tenant up to this day (annual-payment rules: San Francisco, Los Angeles, Berkeley, Connecticut, Massachusetts, ...): interest is counted from it.",
        +  "format": "date",
        +  "type": "string"
        +}
      • addedInput schema / properties / interest_rate_percent
        Added value: +{
        +  "anyOf": [
        +    {
        +      "maximum": 25,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Annual rate the deposit account paid, where the law sets interest at the bank's rate (New Jersey, North Dakota, New Hampshire, New York, Pennsylvania, Portland), or caps it (Massachusetts: 5% or the bank's lesser rate). Without it bank-rate interest is unknown. Illinois 765 ILCS 715 uses IDFPR's published rate instead."
        +}
      • addedInput schema / properties / landlord_units_owned
        Added value: +{
        +  "description": "Rental units the landlord owns in all (Arkansas 5 or fewer, Georgia 10 or fewer, with third_party_managed, may be exempt).",
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedInput schema / properties / lease_end_on
        Added value: +{
        +  "description": "Day the lease was scheduled to end (YYYY-MM-DD), when it differs from when the tenancy actually ended (a broken lease). Lost rent and lease-break charges run to it; deadlines do not (they follow tenancy_ended_on, else the move-out, with the scheduled end as a later alternative).",
        +  "format": "date",
        +  "type": "string"
        +}
      • removedInput schema / properties / lease_return_days / anyOf
        Removed value: -[
        -  {
        -    "maximum": 365,
        -    "minimum": 0,
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / lease_return_days / default
        Removed value: -null
      • addedInput schema / properties / lease_return_days / maximum
        Added value: +365
      • addedInput schema / properties / lease_return_days / minimum
        Added value: +0
      • removedInput schema / properties / lease_return_days / title
        Removed value: -"Lease Return Days"
      • addedInput schema / properties / lease_return_days / type
        Added value: +"integer"
      • addedInput schema / properties / lease_signed_or_renewed_on
        Added value: +{
        +  "description": "Day the current lease was signed or last renewed (YYYY-MM-DD). Georgia (2024-07-01) and Maryland (2024-10-01) caps apply to leases from then; defaults to move_in_on, with a warning that a later renewal may bring the new cap.",
        +  "format": "date",
        +  "type": "string"
        +}
      • addedInput schema / properties / lease_term_months
        Added value: +{
        +  "description": "Term of the lease in months (0 for month-to-month). Delaware's cap applies to leases of a year or more, New Mexico's to shorter ones.",
        +  "maximum": 600,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • changedInput schema / properties / monthly_rent_usd / anyOf
        Previous value: -[
        -  {
        -    "maximum": 10000000,
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 10000000,
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "pattern": "^\\$?[0-9][0-9,]*(\\.[0-9]+)?$",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / properties / monthly_rent_usd / default
        Removed value: -null
      • removedInput schema / properties / monthly_rent_usd / title
        Removed value: -"Monthly Rent Usd"
      • removedInput schema / properties / move_in_on / anyOf
        Removed value: -[
        -  {
        -    "format": "date",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / move_in_on / default
        Removed value: -null
      • addedInput schema / properties / move_in_on / format
        Added value: +"date"
      • removedInput schema / properties / move_in_on / title
        Removed value: -"Move In On"
      • addedInput schema / properties / move_in_on / type
        Added value: +"string"
      • removedInput schema / properties / new_tenant_moved_in_on / anyOf
        Removed value: -[
        -  {
        -    "format": "date",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / new_tenant_moved_in_on / default
        Removed value: -null
      • changedInput schema / properties / new_tenant_moved_in_on / description
        Previous value: -"Day a new tenant moved in, if the unit was re-rented (YYYY-MM-DD). West Virginia and Wisconsin can end the period earlier."New value: +"Day a new tenant moved in, if the unit was re-rented (YYYY-MM-DD). West Virginia and Wisconsin can end the period earlier; rent claimed for days from it on is not recoverable (re-rent mitigation)."
      • addedInput schema / properties / new_tenant_moved_in_on / format
        Added value: +"date"
      • removedInput schema / properties / new_tenant_moved_in_on / title
        Removed value: -"New Tenant Moved In On"
      • addedInput schema / properties / new_tenant_moved_in_on / type
        Added value: +"string"
      • addedInput schema / properties / new_tenant_rent_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "maximum": 10000000,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^\\$?[0-9][0-9,]*(\\.[0-9]+)?$",
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Monthly rent the new tenant pays (with new_tenant_moved_in_on): the rent received for overlapping days is credited against rent claimed for them."
        +}
      • addedInput schema / properties / nonstandard_provision_signed
        Added value: +{
        +  "description": "Wisconsin: the tenant signed a separate NONSTANDARD RENTAL PROVISIONS document covering the charge (ATCP 134.06(3)(b)); false makes such charges 'no'.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / owner_occupied
        Added value: +{
        +  "description": "The landlord lives in the building (ME, NH, NJ and Chicago exempt small owner-occupied buildings; with building_units).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / pet_deposit_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "maximum": 10000000,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^\\$?[0-9][0-9,]*(\\.[0-9]+)?$",
        +      "type": "string"
        +    }
        +  ],
        +  "description": "The part of deposit_usd that is a pet deposit (outside the cap in Missouri, Alabama, North Dakota and Saint Paul; allowed on top of it up to one month in Hawaii and Alaska, half a month in Kansas, a quarter in Nebraska)."
        +}
      • addedInput schema / properties / prepaid_rent_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "maximum": 10000000,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^\\$?[0-9][0-9,]*(\\.[0-9]+)?$",
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Rent paid in advance beyond the first month, held besides deposit_usd. Counts toward the cap in AK, AZ, CA, CT, MD, MI and NY; earns interest in CT, MA (last month's rent), MD and Chicago; in Minneapolis it lowers the deposit cap to half a month."
        +}
      • addedInput schema / properties / rent_ordinance_covered
        Added value: +{
        +  "description": "The unit is covered by the city's rent ordinance (Los Angeles RSO, Berkeley Rent Ordinance). Their deposit interest is owed only then; unknown: the amount is shown beside the refund, not in it.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / returned / $ref
        Added value: +"#/$defs/Returned"
      • removedInput schema / properties / returned / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Returned"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / returned / default
        Removed value: -null
      • addedInput schema / properties / small_landlord
        Added value: +{
        +  "description": "California AB 12 small landlord (a natural person or an LLC of natural persons owning at most two properties with at most four units; not for a service member): a two-month cap.",
        +  "type": "boolean"
        +}
      • removedInput schema / properties / state / title
        Removed value: -"State"
      • addedInput schema / properties / statement_sent_on
        Added value: +{
        +  "description": "Day you sent (or delivered) the itemized statement (YYYY-MM-DD). With it the statement is judged on time or late; documentation.itemized_statement alone cannot tell.",
        +  "format": "date",
        +  "type": "string"
        +}
      • removedInput schema / properties / tenancy_ended_on / anyOf
        Removed value: -[
        -  {
        -    "format": "date",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / tenancy_ended_on / default
        Removed value: -null
      • changedInput schema / properties / tenancy_ended_on / description
        Previous value: -"Lease end or termination date (YYYY-MM-DD), if different."New value: +"When the tenancy actually ended (YYYY-MM-DD): the lease's end, or an earlier termination or accepted surrender. Deadlines that run from the end of the tenancy use it. For a tenant who left before the lease was due to end, send the scheduled end as lease_end_on (older callers sent it here, which still works: the deadline is then counted from it, with the move-out date as an earlier alternative where the facts point to one)."
      • addedInput schema / properties / tenancy_ended_on / format
        Added value: +"date"
      • removedInput schema / properties / tenancy_ended_on / title
        Removed value: -"Tenancy Ended On"
      • addedInput schema / properties / tenancy_ended_on / type
        Added value: +"string"
      • addedInput schema / properties / tenancy_type
        Added value: +{
        +  "description": "written_lease or at_will (Maine 6033(2): a written agreement's period, at most 30 days, or 21 days for a tenancy at will; Massachusetts 15B(4): at will, 30 days after the move-out, a written lease, 30 days after its end). Left out with a move-out before tenancy_ended_on: the earlier (at-will) date leads and the other is listed.",
        +  "enum": [
        +    "written_lease",
        +    "at_will"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / tenant_abandoned
        Added value: +{
        +  "description": "The tenant abandoned the unit or was evicted (Maryland 8-203(h): the clock runs from the tenant's written demand; Washington 59.18.280: from when the landlord learns of it; Louisiana 9:3251(C): the one-month rule does not apply). Left out: inferred from tenant_gave_proper_notice: false; with a move-out before tenancy_ended_on the earlier abandonment clock leads and the other date is listed.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / tenant_age_60_plus
        Added value: +{
        +  "description": "A person 60 or older occupies the unit (New Hampshire 540-A:5, I: the owner-occupied exemption does not reach the unit). tenant_age_62_plus true implies it.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / tenant_age_62_plus
        Added value: +{
        +  "description": "The tenant is 62 or older (Connecticut: a one-month cap).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / tenant_gave_forwarding_address
        Added value: +{
        +  "description": "False when the tenant never gave a forwarding address in writing (not just 'not yet known'). Illinois, Pennsylvania, Ohio, Delaware, South Carolina and New Hampshire then relieve the landlord of the penalty. Implied true by forwarding_address_received_on.",
        +  "type": "boolean"
        +}
      • removedInput schema / properties / tenant_gave_proper_notice / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / tenant_gave_proper_notice / default
        Removed value: -null
      • removedInput schema / properties / tenant_gave_proper_notice / title
        Removed value: -"Tenant Gave Proper Notice"
      • addedInput schema / properties / tenant_gave_proper_notice / type
        Added value: +"boolean"
      • addedInput schema / properties / third_party_managed
        Added value: +{
        +  "description": "A third party manages the unit or collects rent for a fee.",
        +  "type": "boolean"
        +}
      • removedInput schema / properties / vacated_on / title
        Removed value: -"Vacated On"
      • removedInput schema / title
        Removed value: -"deposit_settlement_settleArguments"
      • removedOutput schema / $defs / Citation / properties / accessed / title
        Removed value: -"Accessed"
      • removedOutput schema / $defs / Citation / properties / quote / description
        Removed value: -"Short quote of the rule (or our summary when verbatim is false)."
      • removedOutput schema / $defs / Citation / properties / quote / title
        Removed value: -"Quote"
      • removedOutput schema / $defs / Citation / properties / rule / description
        Removed value: -"What the citation supports: deadline, interest, penalty, ..."
      • removedOutput schema / $defs / Citation / properties / rule / title
        Removed value: -"Rule"
      • removedOutput schema / $defs / Citation / properties / section / title
        Removed value: -"Section"
      • removedOutput schema / $defs / Citation / properties / source_title / title
        Removed value: -"Source Title"
      • removedOutput schema / $defs / Citation / properties / url / title
        Removed value: -"Url"
      • removedOutput schema / $defs / Citation / properties / verbatim / title
        Removed value: -"Verbatim"
      • removedOutput schema / $defs / Citation / title
        Removed value: -"Citation"
      • addedOutput schema / $defs / Deadline / properties / alternatives
        Added value: +{
        +  "items": {
        +    "$ref": "#/$defs/DeadlineAlternative"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / $defs / Deadline / properties / counting / title
        Removed value: -"Counting"
      • removedOutput schema / $defs / Deadline / properties / days / description
        Removed value: -"Period in days (None: months or none)."
      • removedOutput schema / $defs / Deadline / properties / days / title
        Removed value: -"Days"
      • removedOutput schema / $defs / Deadline / properties / days_remaining / description
        Removed value: -"Days from as_of to return_by (negative when overdue)."
      • removedOutput schema / $defs / Deadline / properties / days_remaining / title
        Removed value: -"Days Remaining"
      • removedOutput schema / $defs / Deadline / properties / extended_to / description
        Removed value: -"Where the state's code rolls a last day on a weekend or holiday to the next business day: that later date. Act by return_by; this is the legal outer limit."
      • removedOutput schema / $defs / Deadline / properties / extended_to / title
        Removed value: -"Extended To"
      • addedOutput schema / $defs / Deadline / properties / interest_due_by
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / Deadline / properties / itemization_by / description
        Removed value: -"Last day for the itemized statement (often the same day; earlier in Chicago, later in Louisiana)."
      • removedOutput schema / $defs / Deadline / properties / itemization_by / title
        Removed value: -"Itemization By"
      • removedOutput schema / $defs / Deadline / properties / months / description
        Removed value: -"Period in calendar months, if any."
      • removedOutput schema / $defs / Deadline / properties / months / title
        Removed value: -"Months"
      • removedOutput schema / $defs / Deadline / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / Deadline / properties / return_by / description
        Removed value: -"Last day to return the deposit."
      • removedOutput schema / $defs / Deadline / properties / return_by / title
        Removed value: -"Return By"
      • removedOutput schema / $defs / Deadline / properties / start_date / title
        Removed value: -"Start Date"
      • removedOutput schema / $defs / Deadline / properties / start_event / description
        Removed value: -"What starts the clock, in words."
      • removedOutput schema / $defs / Deadline / properties / start_event / title
        Removed value: -"Start Event"
      • removedOutput schema / $defs / Deadline / properties / status / description
        Removed value: -"upcoming, due_today, overdue; not_started when the start event is not given yet; none_in_statute when the statute sets no deadline (Kentucky, Tennessee)."
      • changedOutput schema / $defs / Deadline / properties / status / enum
        Previous value: -[
        -  "upcoming",
        -  "due_today",
        -  "overdue",
        -  "not_started",
        -  "none_in_statute"
        -]New value: +[
        +  "upcoming",
        +  "due_today",
        +  "overdue",
        +  "not_started",
        +  "none_in_statute",
        +  "reverted",
        +  "no_deposit",
        +  "met",
        +  "late"
        +]
      • removedOutput schema / $defs / Deadline / properties / status / title
        Removed value: -"Status"
      • removedOutput schema / $defs / Deadline / title
        Removed value: -"Deadline"
      • addedOutput schema / $defs / DeadlineAlternative
        Added value: +{
        +  "properties": {
        +    "applies_if": {
        +      "type": "string"
        +    },
        +    "on": {
        +      "anyOf": [
        +        {
        +          "format": "date",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "send": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "applies_if",
        +    "send"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / $defs / DeductionResult / properties / allowed / title
        Removed value: -"Allowed"
      • removedOutput schema / $defs / DeductionResult / properties / amount_allowed_usd / description
        Removed value: -"What the rule lets you keep for this line ('depends' lines: not counted in totals until you confirm)."
      • removedOutput schema / $defs / DeductionResult / properties / amount_allowed_usd / title
        Removed value: -"Amount Allowed Usd"
      • removedOutput schema / $defs / DeductionResult / properties / amount_claimed_usd / title
        Removed value: -"Amount Claimed Usd"
      • changedOutput schema / $defs / DeductionResult / properties / basis / enum
        Previous value: -[
        -  "allowed_category",
        -  "normal_wear",
        -  "not_allowed",
        -  "unclassified",
        -  "forfeited"
        -]New value: +[
        +  "allowed_category",
        +  "normal_wear",
        +  "not_allowed",
        +  "unclassified",
        +  "forfeited",
        +  "statutory_bar",
        +  "mitigation",
        +  "excluded_by_fee",
        +  "documentation_missing"
        +]
      • removedOutput schema / $defs / DeductionResult / properties / basis / title
        Removed value: -"Basis"
      • changedOutput schema / $defs / DeductionResult / properties / category / enum
        Previous value: -[
        -  "unpaid_rent",
        -  "unpaid_utilities",
        -  "cleaning",
        -  "carpet",
        -  "flooring",
        -  "paint",
        -  "blinds_window_coverings",
        -  "appliance",
        -  "fixture_or_hardware",
        -  "wall_or_door_repair",
        -  "key_or_lock",
        -  "late_fees",
        -  "lease_break_fee",
        -  "other_damage",
        -  "other"
        -]New value: +[
        +  "unpaid_rent",
        +  "unpaid_utilities",
        +  "cleaning",
        +  "carpet",
        +  "flooring",
        +  "paint",
        +  "blinds_window_coverings",
        +  "appliance",
        +  "fixture_or_hardware",
        +  "wall_or_door_repair",
        +  "key_or_lock",
        +  "late_fees",
        +  "lease_break_fee",
        +  "moving_and_storage",
        +  "reletting_costs",
        +  "trash_and_abandoned_items",
        +  "other_damage",
        +  "other"
        +]
      • removedOutput schema / $defs / DeductionResult / properties / category / title
        Removed value: -"Category"
      • removedOutput schema / $defs / DeductionResult / properties / documentation_needed / title
        Removed value: -"Documentation Needed"
      • addedOutput schema / $defs / DeductionResult / properties / exclusive_option
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "fee",
        +        "actual"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / DeductionResult / properties / notes / title
        Removed value: -"Notes"
      • addedOutput schema / $defs / DeductionResult / properties / range_high_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / DeductionResult / properties / range_low_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / DeductionResult / title
        Removed value: -"DeductionResult"
      • addedOutput schema / $defs / DepositCapCheck / properties / alternative_cap_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / DepositCapCheck / properties / cap_usd / title
        Removed value: -"Cap Usd"
      • removedOutput schema / $defs / DepositCapCheck / properties / citation / title
        Removed value: -"Citation"
      • addedOutput schema / $defs / DepositCapCheck / properties / counted_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / DepositCapCheck / properties / exceeded / title
        Removed value: -"Exceeded"
      • removedOutput schema / $defs / DepositCapCheck / properties / months_rent / description
        Removed value: -"None: no statutory cap."
      • removedOutput schema / $defs / DepositCapCheck / properties / months_rent / title
        Removed value: -"Months Rent"
      • removedOutput schema / $defs / DepositCapCheck / properties / note / title
        Removed value: -"Note"
      • addedOutput schema / $defs / DepositCapCheck / properties / status
        Added value: +{
        +  "default": "unknown",
        +  "enum": [
        +    "within",
        +    "exceeded",
        +    "depends",
        +    "unknown",
        +    "no_cap",
        +    "not_applicable"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / $defs / DepositCapCheck / properties / variants / description
        Removed value: -"Other caps by tenancy type or term; checked against the main."
      • removedOutput schema / $defs / DepositCapCheck / properties / variants / title
        Removed value: -"Variants"
      • removedOutput schema / $defs / DepositCapCheck / title
        Removed value: -"DepositCapCheck"
      • removedOutput schema / $defs / Depreciation / properties / age_years / description
        Removed value: -"Age at move-out: full calendar years plus remaining days / 365, 2 decimals."
      • removedOutput schema / $defs / Depreciation / properties / age_years / title
        Removed value: -"Age Years"
      • removedOutput schema / $defs / Depreciation / properties / applied / title
        Removed value: -"Applied"
      • removedOutput schema / $defs / Depreciation / properties / method / description
        Removed value: -"straight_line: max(0, 1 - age / useful life); step_table: the band of a published schedule for the item's age (California paint)."
      • removedOutput schema / $defs / Depreciation / properties / method / title
        Removed value: -"Method"
      • addedOutput schema / $defs / Depreciation / properties / range_high_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / Depreciation / properties / range_low_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / Depreciation / properties / remaining_fraction / description
        Removed value: -"Share of the cost the tenant can be charged, 4 decimals."
      • removedOutput schema / $defs / Depreciation / properties / remaining_fraction / title
        Removed value: -"Remaining Fraction"
      • removedOutput schema / $defs / Depreciation / properties / schedule_source / description
        Removed value: -"Source id of the step table, when one was used."
      • removedOutput schema / $defs / Depreciation / properties / schedule_source / title
        Removed value: -"Schedule Source"
      • removedOutput schema / $defs / Depreciation / properties / source / description
        Removed value: -"useful_life row id (row:jurisdiction for a variant) or 'request'."
      • removedOutput schema / $defs / Depreciation / properties / source / title
        Removed value: -"Source"
      • removedOutput schema / $defs / Depreciation / properties / useful_life_years / title
        Removed value: -"Useful Life Years"
      • removedOutput schema / $defs / Depreciation / title
        Removed value: -"Depreciation"
      • removedOutput schema / $defs / DocumentationDuty / properties / citation / title
        Removed value: -"Citation"
      • addedOutput schema / $defs / DocumentationDuty / properties / due_by
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • changedOutput schema / $defs / DocumentationDuty / properties / duty / enum
        Previous value: -[
        -  "itemized_statement",
        -  "receipts",
        -  "photos",
        -  "photos_move_in"
        -]New value: +[
        +  "itemized_statement",
        +  "receipts",
        +  "photos",
        +  "photos_move_in",
        +  "move_in_statement",
        +  "move_out_list"
        +]
      • removedOutput schema / $defs / DocumentationDuty / properties / duty / title
        Removed value: -"Duty"
      • removedOutput schema / $defs / DocumentationDuty / properties / met / title
        Removed value: -"Met"
      • removedOutput schema / $defs / DocumentationDuty / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / DocumentationDuty / properties / required / title
        Removed value: -"Required"
      • removedOutput schema / $defs / DocumentationDuty / properties / threshold / title
        Removed value: -"Threshold"
      • removedOutput schema / $defs / DocumentationDuty / title
        Removed value: -"DocumentationDuty"
      • removedOutput schema / $defs / ForfeitureCheck / description
        Removed value: -"A statute's forfeiture of the right to withhold, checked against the request."
      • removedOutput schema / $defs / ForfeitureCheck / properties / amount_released_usd / description
        Removed value: -"What those lines would otherwise have kept from the deposit."
      • removedOutput schema / $defs / ForfeitureCheck / properties / amount_released_usd / title
        Removed value: -"Amount Released Usd"
      • removedOutput schema / $defs / ForfeitureCheck / properties / citation / title
        Removed value: -"Citation"
      • removedOutput schema / $defs / ForfeitureCheck / properties / due_by / description
        Removed value: -"The date the duty had to be met by."
      • removedOutput schema / $defs / ForfeitureCheck / properties / due_by / title
        Removed value: -"Due By"
      • removedOutput schema / $defs / ForfeitureCheck / properties / gate / description
        Removed value: -"none, or the finding needed first (bad_faith, ...)."
      • removedOutput schema / $defs / ForfeitureCheck / properties / gate / title
        Removed value: -"Gate"
      • removedOutput schema / $defs / ForfeitureCheck / properties / keeps_claim / description
        Removed value: -"The charges can still be sued for separately."
      • removedOutput schema / $defs / ForfeitureCheck / properties / keeps_claim / title
        Removed value: -"Keeps Claim"
      • removedOutput schema / $defs / ForfeitureCheck / properties / lines / description
        Removed value: -"0-based deduction lines it bars (when met)."
      • removedOutput schema / $defs / ForfeitureCheck / properties / lines / title
        Removed value: -"Lines"
      • removedOutput schema / $defs / ForfeitureCheck / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / ForfeitureCheck / properties / scope / description
        Removed value: -"all: every deduction; damage: damage and cleaning only."
      • removedOutput schema / $defs / ForfeitureCheck / properties / scope / title
        Removed value: -"Scope"
      • removedOutput schema / $defs / ForfeitureCheck / properties / status / description
        Removed value: -"met: the date passed without the statement or refund (or sending it now would be late), so the barred lines are not counted; not_yet: still time; not_started: the clock has not started; relieved: the statute excuses the duty here; unknown: turns on facts you did not give."
      • changedOutput schema / $defs / ForfeitureCheck / properties / status / enum
        Previous value: -[
        -  "met",
        -  "not_yet",
        -  "not_started",
        -  "relieved",
        -  "unknown"
        -]New value: +[
        +  "met",
        +  "not_yet",
        +  "complied",
        +  "not_started",
        +  "relieved",
        +  "unknown"
        +]
      • removedOutput schema / $defs / ForfeitureCheck / properties / status / title
        Removed value: -"Status"
      • removedOutput schema / $defs / ForfeitureCheck / properties / trigger / description
        Removed value: -"late_statement, late_return, late_statement_or_return, late_claim_notice or not_in_input (facts the request cannot state)."
      • removedOutput schema / $defs / ForfeitureCheck / properties / trigger / title
        Removed value: -"Trigger"
      • removedOutput schema / $defs / ForfeitureCheck / title
        Removed value: -"ForfeitureCheck"
      • removedOutput schema / $defs / Guide / description
        Removed value: -"An official plain-language resource for the state or city (an agency guide)."
      • removedOutput schema / $defs / Guide / properties / accessed / title
        Removed value: -"Accessed"
      • removedOutput schema / $defs / Guide / properties / publisher / title
        Removed value: -"Publisher"
      • removedOutput schema / $defs / Guide / properties / title / title
        Removed value: -"Title"
      • removedOutput schema / $defs / Guide / properties / url / title
        Removed value: -"Url"
      • removedOutput schema / $defs / Guide / title
        Removed value: -"Guide"
      • removedOutput schema / $defs / Interest / properties / amount_usd / title
        Removed value: -"Amount Usd"
      • removedOutput schema / $defs / Interest / properties / base_usd / description
        Removed value: -"The amount the rate applies to."
      • removedOutput schema / $defs / Interest / properties / base_usd / title
        Removed value: -"Base Usd"
      • removedOutput schema / $defs / Interest / properties / basis / description
        Removed value: -"What the rate applies to: deposit, or the excess (Ohio)."
      • removedOutput schema / $defs / Interest / properties / basis / title
        Removed value: -"Basis"
      • removedOutput schema / $defs / Interest / properties / citation / title
        Removed value: -"Citation"
      • removedOutput schema / $defs / Interest / properties / condition / title
        Removed value: -"Condition"
      • removedOutput schema / $defs / Interest / properties / formula / description
        Removed value: -"The source's formula, in words."
      • removedOutput schema / $defs / Interest / properties / formula / title
        Removed value: -"Formula"
      • addedOutput schema / $defs / Interest / properties / if_required_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / Interest / properties / method / description
        Removed value: -"simple, per_window, anniversary_years or monthly."
      • removedOutput schema / $defs / Interest / properties / method / title
        Removed value: -"Method"
      • removedOutput schema / $defs / Interest / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / Interest / properties / parts / description
        Removed value: -"Per-period amounts when the rate changed."
      • removedOutput schema / $defs / Interest / properties / parts / title
        Removed value: -"Parts"
      • removedOutput schema / $defs / Interest / properties / period_days / title
        Removed value: -"Period Days"
      • removedOutput schema / $defs / Interest / properties / rate_percent / description
        Removed value: -"Percent per year (the move-out rate when rates change)."
      • removedOutput schema / $defs / Interest / properties / rate_percent / title
        Removed value: -"Rate Percent"
      • removedOutput schema / $defs / Interest / properties / required / description
        Removed value: -"None: depends on facts you did not give."
      • removedOutput schema / $defs / Interest / properties / required / title
        Removed value: -"Required"
      • removedOutput schema / $defs / Interest / title
        Removed value: -"Interest"
      • removedOutput schema / $defs / InterestPart / description
        Removed value: -"One period of an interest computation at one rate (a year, a rate window)."
      • removedOutput schema / $defs / InterestPart / properties / amount_usd / title
        Removed value: -"Amount Usd"
      • removedOutput schema / $defs / InterestPart / properties / period_from / title
        Removed value: -"Period From"
      • removedOutput schema / $defs / InterestPart / properties / period_to / title
        Removed value: -"Period To"
      • removedOutput schema / $defs / InterestPart / properties / rate_percent / title
        Removed value: -"Rate Percent"
      • removedOutput schema / $defs / InterestPart / title
        Removed value: -"InterestPart"
      • removedOutput schema / $defs / JurisdictionRef / properties / city / description
        Removed value: -"The city you sent, as given."
      • removedOutput schema / $defs / JurisdictionRef / properties / city / title
        Removed value: -"City"
      • removedOutput schema / $defs / JurisdictionRef / properties / city_overlay / description
        Removed value: -"The covered city whose rules were layered on, if any."
      • removedOutput schema / $defs / JurisdictionRef / properties / city_overlay / title
        Removed value: -"City Overlay"
      • addedOutput schema / $defs / JurisdictionRef / properties / city_rules_checked
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / JurisdictionRef / properties / covered / title
        Removed value: -"Covered"
      • removedOutput schema / $defs / JurisdictionRef / properties / state / title
        Removed value: -"State"
      • removedOutput schema / $defs / JurisdictionRef / properties / state_name / title
        Removed value: -"State Name"
      • removedOutput schema / $defs / JurisdictionRef / properties / verified / description
        Removed value: -"True when the main rule text was read verbatim at the official source."
      • removedOutput schema / $defs / JurisdictionRef / properties / verified / title
        Removed value: -"Verified"
      • removedOutput schema / $defs / JurisdictionRef / title
        Removed value: -"JurisdictionRef"
      • removedOutput schema / $defs / Links / description
        Removed value: -"Where the user gets files. MCP results only; the estimate itself is not stored."
      • removedOutput schema / $defs / Links / properties / downloads / description
        Removed value: -"Format -> URL. POST the property_turnover_scope arguments as JSON."
      • removedOutput schema / $defs / Links / properties / downloads / title
        Removed value: -"Downloads"
      • removedOutput schema / $defs / Links / properties / how_to_get_files / title
        Removed value: -"How To Get Files"
      • removedOutput schema / $defs / Links / properties / web_tool / description
        Removed value: -"The free web tool."
      • removedOutput schema / $defs / Links / properties / web_tool / title
        Removed value: -"Web Tool"
      • removedOutput schema / $defs / Links / properties / web_tool_prefilled / description
        Removed value: -"Opens the web tool with these inputs filled in and estimates them; the user can download the Excel workbook and owner estimate there. Give this link to the user."
      • removedOutput schema / $defs / Links / properties / web_tool_prefilled / title
        Removed value: -"Web Tool Prefilled"
      • removedOutput schema / $defs / Links / title
        Removed value: -"Links"
      • removedOutput schema / $defs / Note / properties / code / title
        Removed value: -"Code"
      • removedOutput schema / $defs / Note / properties / text / title
        Removed value: -"Text"
      • removedOutput schema / $defs / Note / title
        Removed value: -"Note"
      • addedOutput schema / $defs / Outcome
        Added value: +{
        +  "properties": {
        +    "interest_unknown": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "interest_usd": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "next_due": {
        +      "anyOf": [
        +        {
        +          "format": "date",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "owed_now_min_usd": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "owed_now_usd": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "refund_due_usd": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        }
        +      ]
        +    },
        +    "refund_min_usd": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        }
        +      ]
        +    },
        +    "returned_usd": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "stages": {
        +      "items": {
        +        "$ref": "#/$defs/Stage"
        +      },
        +      "type": "array"
        +    },
        +    "status": {
        +      "enum": [
        +        "upcoming",
        +        "due_today",
        +        "overdue",
        +        "not_started",
        +        "none_in_statute",
        +        "reverted",
        +        "no_deposit",
        +        "met",
        +        "late"
        +      ],
        +      "type": "string"
        +    },
        +    "tenant_owes_usd": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        }
        +      ]
        +    },
        +    "uncertain": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "refund_due_usd",
        +    "refund_min_usd",
        +    "tenant_owes_usd"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / $defs / PenaltyExposure / properties / additional / description
        Removed value: -"City penalties in addition to the state's (not included in its estimate)."
      • removedOutput schema / $defs / PenaltyExposure / properties / additional / title
        Removed value: -"Additional"
      • removedOutput schema / $defs / PenaltyExposure / properties / applies_if / title
        Removed value: -"Applies If"
      • addedOutput schema / $defs / PenaltyExposure / properties / base
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / PenaltyExposure / properties / basis / title
        Removed value: -"Basis"
      • removedOutput schema / $defs / PenaltyExposure / properties / citation / title
        Removed value: -"Citation"
      • removedOutput schema / $defs / PenaltyExposure / properties / discretionary / title
        Removed value: -"Discretionary"
      • removedOutput schema / $defs / PenaltyExposure / properties / estimated_max_usd / description
        Removed value: -"fixed + multiple x basis amount (with any floor or cap); exposure, not a verdict. None when the basis is unknown (monthly rent not given)."
      • removedOutput schema / $defs / PenaltyExposure / properties / estimated_max_usd / title
        Removed value: -"Estimated Max Usd"
      • addedOutput schema / $defs / PenaltyExposure / properties / estimated_min_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / PenaltyExposure / properties / fixed_usd / title
        Removed value: -"Fixed Usd"
      • addedOutput schema / $defs / PenaltyExposure / properties / forfeits_right_to_withhold / anyOf
        Added value: +[
        +  {
        +    "type": "boolean"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / $defs / PenaltyExposure / properties / forfeits_right_to_withhold / title
        Removed value: -"Forfeits Right To Withhold"
      • removedOutput schema / $defs / PenaltyExposure / properties / forfeits_right_to_withhold / type
        Removed value: -"boolean"
      • removedOutput schema / $defs / PenaltyExposure / properties / in_addition_to_refund / description
        Removed value: -"The damages come on top of returning the amount withheld (Ohio, West Virginia), not instead of it."
      • removedOutput schema / $defs / PenaltyExposure / properties / in_addition_to_refund / title
        Removed value: -"In Addition To Refund"
      • removedOutput schema / $defs / PenaltyExposure / properties / kind / title
        Removed value: -"Kind"
      • removedOutput schema / $defs / PenaltyExposure / properties / minimum_usd / description
        Removed value: -"Floor of the multiple."
      • removedOutput schema / $defs / PenaltyExposure / properties / minimum_usd / title
        Removed value: -"Minimum Usd"
      • removedOutput schema / $defs / PenaltyExposure / properties / multiple / title
        Removed value: -"Multiple"
      • removedOutput schema / $defs / PenaltyExposure / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / PenaltyExposure / properties / per_violation / description
        Removed value: -"fixed_usd is per violation."
      • removedOutput schema / $defs / PenaltyExposure / properties / per_violation / title
        Removed value: -"Per Violation"
      • removedOutput schema / $defs / PenaltyExposure / properties / plus_attorney_fees / title
        Removed value: -"Plus Attorney Fees"
      • removedOutput schema / $defs / PenaltyExposure / title
        Removed value: -"PenaltyExposure"
      • removedOutput schema / $defs / Provenance / properties / rule_ids / title
        Removed value: -"Rule Ids"
      • removedOutput schema / $defs / Provenance / properties / ruleset_hash / title
        Removed value: -"Ruleset Hash"
      • removedOutput schema / $defs / Provenance / properties / ruleset_id / title
        Removed value: -"Ruleset Id"
      • removedOutput schema / $defs / Provenance / properties / ruleset_version / title
        Removed value: -"Ruleset Version"
      • removedOutput schema / $defs / Provenance / properties / sources / title
        Removed value: -"Sources"
      • removedOutput schema / $defs / Provenance / title
        Removed value: -"Provenance"
      • removedOutput schema / $defs / RunInfo / properties / capability / title
        Removed value: -"Capability"
      • removedOutput schema / $defs / RunInfo / properties / contract_version / title
        Removed value: -"Contract Version"
      • removedOutput schema / $defs / RunInfo / properties / duration_ms / title
        Removed value: -"Duration Ms"
      • removedOutput schema / $defs / RunInfo / properties / engine_version / title
        Removed value: -"Engine Version"
      • removedOutput schema / $defs / RunInfo / properties / id / title
        Removed value: -"Id"
      • removedOutput schema / $defs / RunInfo / properties / operation / title
        Removed value: -"Operation"
      • removedOutput schema / $defs / RunInfo / properties / received_at / title
        Removed value: -"Received At"
      • removedOutput schema / $defs / RunInfo / properties / ruleset_hash / title
        Removed value: -"Ruleset Hash"
      • removedOutput schema / $defs / RunInfo / properties / ruleset_version / title
        Removed value: -"Ruleset Version"
      • removedOutput schema / $defs / RunInfo / title
        Removed value: -"RunInfo"
      • removedOutput schema / $defs / SettleResult / properties / as_of / title
        Removed value: -"As Of"
      • removedOutput schema / $defs / SettleResult / properties / assumptions / title
        Removed value: -"Assumptions"
      • removedOutput schema / $defs / SettleResult / properties / citations / title
        Removed value: -"Citations"
      • removedOutput schema / $defs / SettleResult / properties / deductions / title
        Removed value: -"Deductions"
      • removedOutput schema / $defs / SettleResult / properties / disclaimer / title
        Removed value: -"Disclaimer"
      • removedOutput schema / $defs / SettleResult / properties / documentation / title
        Removed value: -"Documentation"
      • removedOutput schema / $defs / SettleResult / properties / forfeiture / description
        Removed value: -"The statute's forfeitures of the right to withhold, checked; a met one has already taken its lines out of the totals."
      • removedOutput schema / $defs / SettleResult / properties / forfeiture / title
        Removed value: -"Forfeiture"
      • removedOutput schema / $defs / SettleResult / properties / guides / description
        Removed value: -"Official plain-language guides for this state or city, where we have one."
      • removedOutput schema / $defs / SettleResult / properties / guides / title
        Removed value: -"Guides"
      • addedOutput schema / $defs / SettleResult / properties / outcome
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Outcome"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / SettleResult / properties / small_claims / description
        Removed value: -"The state courts' small claims page, where we have one."
      • removedOutput schema / $defs / SettleResult / properties / summary / title
        Removed value: -"Summary"
      • removedOutput schema / $defs / SettleResult / properties / timeliness / description
        Removed value: -"Present when the request says what was returned (returned)."
      • removedOutput schema / $defs / SettleResult / properties / unknowns / title
        Removed value: -"Unknowns"
      • removedOutput schema / $defs / SettleResult / properties / warnings / title
        Removed value: -"Warnings"
      • removedOutput schema / $defs / SettleResult / title
        Removed value: -"SettleResult"
      • addedOutput schema / $defs / Stage
        Added value: +{
        +  "properties": {
        +    "days": {
        +      "anyOf": [
        +        {
        +          "type": "integer"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "done_on": {
        +      "anyOf": [
        +        {
        +          "format": "date",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "due_by": {
        +      "anyOf": [
        +        {
        +          "format": "date",
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null
        +    },
        +    "duty": {
        +      "enum": [
        +        "itemized_statement",
        +        "refund",
        +        "interest"
        +      ],
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "enum": [
        +        "met",
        +        "late",
        +        "short",
        +        "overdue",
        +        "due_today",
        +        "upcoming",
        +        "not_started",
        +        "none_in_statute"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "duty",
        +    "label",
        +    "status"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / $defs / Statement / properties / due_by / title
        Removed value: -"Due By"
      • removedOutput schema / $defs / Statement / properties / lines / title
        Removed value: -"Lines"
      • removedOutput schema / $defs / Statement / properties / refund_due_usd / title
        Removed value: -"Refund Due Usd"
      • removedOutput schema / $defs / Statement / properties / text / description
        Removed value: -"Draft itemized statement, plain text, no names or addresses."
      • removedOutput schema / $defs / Statement / properties / text / title
        Removed value: -"Text"
      • removedOutput schema / $defs / Statement / title
        Removed value: -"Statement"
      • removedOutput schema / $defs / StatementLine / properties / amount_usd / title
        Removed value: -"Amount Usd"
      • removedOutput schema / $defs / StatementLine / properties / label / title
        Removed value: -"Label"
      • removedOutput schema / $defs / StatementLine / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / StatementLine / title
        Removed value: -"StatementLine"
      • removedOutput schema / $defs / Timeliness / description
        Removed value: -"Whether what the landlord returned (``returned``) came on time."
      • removedOutput schema / $defs / Timeliness / properties / amount_kept_usd / description
        Removed value: -"Deposit minus the amount returned (what is withheld)."
      • removedOutput schema / $defs / Timeliness / properties / amount_kept_usd / title
        Removed value: -"Amount Kept Usd"
      • removedOutput schema / $defs / Timeliness / properties / amount_returned_usd / title
        Removed value: -"Amount Returned Usd"
      • removedOutput schema / $defs / Timeliness / properties / checks / title
        Removed value: -"Checks"
      • removedOutput schema / $defs / Timeliness / properties / days_late / description
        Removed value: -"Days late (the most of any duty; with nothing returned, the days since the last way of meeting the rule passed)."
      • removedOutput schema / $defs / Timeliness / properties / days_late / title
        Removed value: -"Days Late"
      • removedOutput schema / $defs / Timeliness / properties / difference_min_usd / description
        Removed value: -"The same against totals.refund_min_usd."
      • removedOutput schema / $defs / Timeliness / properties / difference_min_usd / title
        Removed value: -"Difference Min Usd"
      • removedOutput schema / $defs / Timeliness / properties / difference_usd / description
        Removed value: -"totals.refund_due_usd minus the amount returned (positive: less came back than the rule's refund on the deductions given)."
      • removedOutput schema / $defs / Timeliness / properties / difference_usd / title
        Removed value: -"Difference Usd"
      • removedOutput schema / $defs / Timeliness / properties / late / description
        Removed value: -"True: a duty is late or overdue (with nothing returned: every way the rule can be met has passed). False: on time or not yet due. None: no deadline, or the clock has not started."
      • removedOutput schema / $defs / Timeliness / properties / late / title
        Removed value: -"Late"
      • removedOutput schema / $defs / Timeliness / properties / late_since / description
        Removed value: -"With nothing returned: the day from which it is late."
      • removedOutput schema / $defs / Timeliness / properties / late_since / title
        Removed value: -"Late Since"
      • removedOutput schema / $defs / Timeliness / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / Timeliness / properties / on / title
        Removed value: -"On"
      • removedOutput schema / $defs / Timeliness / properties / what / title
        Removed value: -"What"
      • removedOutput schema / $defs / Timeliness / title
        Removed value: -"Timeliness"
      • removedOutput schema / $defs / TimelyCheck / description
        Removed value: -"One duty checked against its deadline: the refund, or the itemized statement."
      • removedOutput schema / $defs / TimelyCheck / properties / days_late / description
        Removed value: -"Days after due_by (late, or overdue as of as_of)."
      • removedOutput schema / $defs / TimelyCheck / properties / days_late / title
        Removed value: -"Days Late"
      • removedOutput schema / $defs / TimelyCheck / properties / days_left / description
        Removed value: -"Days until due_by (not_yet_due)."
      • removedOutput schema / $defs / TimelyCheck / properties / days_left / title
        Removed value: -"Days Left"
      • removedOutput schema / $defs / TimelyCheck / properties / done_on / description
        Removed value: -"When it was sent; None: not yet."
      • removedOutput schema / $defs / TimelyCheck / properties / done_on / title
        Removed value: -"Done On"
      • removedOutput schema / $defs / TimelyCheck / properties / due_by / description
        Removed value: -"Last day under the rule, with the statute's weekend or holiday roll-forward applied (the legal limit)."
      • removedOutput schema / $defs / TimelyCheck / properties / due_by / title
        Removed value: -"Due By"
      • changedOutput schema / $defs / TimelyCheck / properties / duty / enum
        Previous value: -[
        -  "refund",
        -  "itemized_statement"
        -]New value: +[
        +  "refund",
        +  "itemized_statement",
        +  "interest"
        +]
      • removedOutput schema / $defs / TimelyCheck / properties / duty / title
        Removed value: -"Duty"
      • removedOutput schema / $defs / TimelyCheck / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / TimelyCheck / properties / status / description
        Removed value: -"on_time / late (done, by or after due_by); not_yet_due / overdue (not done as of as_of); not_started (the start event is missing); none_in_statute."
      • removedOutput schema / $defs / TimelyCheck / properties / status / title
        Removed value: -"Status"
      • removedOutput schema / $defs / TimelyCheck / title
        Removed value: -"TimelyCheck"
      • removedOutput schema / $defs / Totals / properties / allowed_usd / description
        Removed value: -"Sum of lines with allowed = yes."
      • removedOutput schema / $defs / Totals / properties / allowed_usd / title
        Removed value: -"Allowed Usd"
      • removedOutput schema / $defs / Totals / properties / claimed_usd / title
        Removed value: -"Claimed Usd"
      • addedOutput schema / $defs / Totals / properties / counted_floor_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    }
        +  ],
        +  "default": "0.00"
        +}
      • removedOutput schema / $defs / Totals / properties / depends_usd / description
        Removed value: -"Sum of 'depends' lines at the amount the rule would allow if they stand (not in allowed_usd or the refund)."
      • removedOutput schema / $defs / Totals / properties / depends_usd / title
        Removed value: -"Depends Usd"
      • removedOutput schema / $defs / Totals / properties / deposit_usd / title
        Removed value: -"Deposit Usd"
      • changedOutput schema / $defs / Totals / properties / interest_usd / anyOf
        Previous value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -    "type": "string"
        -  }
        -]New value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / $defs / Totals / properties / interest_usd / default
        Added value: +null
      • removedOutput schema / $defs / Totals / properties / interest_usd / description
        Removed value: -"Interest credited (0 when none or unknown)."
      • removedOutput schema / $defs / Totals / properties / interest_usd / title
        Removed value: -"Interest Usd"
      • removedOutput schema / $defs / Totals / properties / refund_due_usd / description
        Removed value: -"deposit + interest - allowed, never below 0."
      • removedOutput schema / $defs / Totals / properties / refund_due_usd / title
        Removed value: -"Refund Due Usd"
      • removedOutput schema / $defs / Totals / properties / refund_min_usd / description
        Removed value: -"The refund if every 'depends' line stands: deposit + interest - allowed - depends, never below 0. Equals refund_due_usd when nothing depends."
      • removedOutput schema / $defs / Totals / properties / refund_min_usd / title
        Removed value: -"Refund Min Usd"
      • removedOutput schema / $defs / Totals / properties / tenant_owes_usd / description
        Removed value: -"Allowed deductions above deposit + interest (collect separately)."
      • removedOutput schema / $defs / Totals / properties / tenant_owes_usd / title
        Removed value: -"Tenant Owes Usd"
      • changedOutput schema / $defs / Totals / required
        Previous value: -[
        -  "deposit_usd",
        -  "claimed_usd",
        -  "allowed_usd",
        -  "interest_usd",
        -  "refund_due_usd",
        -  "tenant_owes_usd"
        -]New value: +[
        +  "deposit_usd",
        +  "claimed_usd",
        +  "allowed_usd",
        +  "refund_due_usd",
        +  "tenant_owes_usd"
        +]
      • removedOutput schema / $defs / Totals / title
        Removed value: -"Totals"
      • removedOutput schema / properties / client_refs / description
        Removed value: -"Your own ids, echoed when you sent client_refs."
      • removedOutput schema / properties / client_refs / title
        Removed value: -"Client Refs"
      • removedOutput schema / properties / input_hash / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / properties / input_hash / title
        Removed value: -"Input Hash"
      • removedOutput schema / properties / result_hash / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / properties / result_hash / title
        Removed value: -"Result Hash"
      • removedOutput schema / properties / run / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / title
        Removed value: -"DepositSettlementSettleMcpResult"
    • Changedproperty_turnover_issue_codes57 fields changed
      • removedInput schema / properties / area / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / area / default
        Removed value: -null
      • removedInput schema / properties / area / title
        Removed value: -"Area"
      • addedInput schema / properties / area / type
        Added value: +"string"
      • removedInput schema / properties / audit / title
        Removed value: -"Audit"
      • addedInput schema / properties / client_refs / additionalProperties
        Added value: +{
        +  "type": "string"
        +}
      • removedInput schema / properties / client_refs / anyOf
        Removed value: -[
        -  {
        -    "additionalProperties": {
        -      "type": "string"
        -    },
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / client_refs / default
        Removed value: -null
      • removedInput schema / properties / client_refs / title
        Removed value: -"Client Refs"
      • addedInput schema / properties / client_refs / type
        Added value: +"object"
      • removedInput schema / properties / include_aliases / title
        Removed value: -"Include Aliases"
      • removedInput schema / properties / limit / title
        Removed value: -"Limit"
      • removedInput schema / properties / query / anyOf
        Removed value: -[
        -  {
        -    "maxLength": 200,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / query / default
        Removed value: -null
      • addedInput schema / properties / query / maxLength
        Added value: +200
      • removedInput schema / properties / query / title
        Removed value: -"Query"
      • addedInput schema / properties / query / type
        Added value: +"string"
      • removedInput schema / title
        Removed value: -"property_turnover_issue_codesArguments"
      • removedOutput schema / $defs / IssueCode / properties / aliases / title
        Removed value: -"Aliases"
      • removedOutput schema / $defs / IssueCode / properties / area / title
        Removed value: -"Area"
      • removedOutput schema / $defs / IssueCode / properties / code / description
        Removed value: -"Stable code, component.issue, e.g. 'carpet.pet_urine'."
      • removedOutput schema / $defs / IssueCode / properties / code / title
        Removed value: -"Code"
      • removedOutput schema / $defs / IssueCode / properties / name / title
        Removed value: -"Name"
      • removedOutput schema / $defs / IssueCode / title
        Removed value: -"IssueCode"
      • removedOutput schema / $defs / IssueCodesResult / properties / areas / description
        Removed value: -"Every taxonomy area, for the `area` filter (e.g. 'flooring', 'walls')."
      • removedOutput schema / $defs / IssueCodesResult / properties / areas / title
        Removed value: -"Areas"
      • removedOutput schema / $defs / IssueCodesResult / properties / codes / title
        Removed value: -"Codes"
      • removedOutput schema / $defs / IssueCodesResult / properties / ruleset_version / title
        Removed value: -"Ruleset Version"
      • removedOutput schema / $defs / IssueCodesResult / properties / total_matches / title
        Removed value: -"Total Matches"
      • removedOutput schema / $defs / IssueCodesResult / title
        Removed value: -"IssueCodesResult"
      • removedOutput schema / $defs / Links / description
        Removed value: -"Where the user gets files. MCP results only; the estimate itself is not stored."
      • removedOutput schema / $defs / Links / properties / downloads / description
        Removed value: -"Format -> URL. POST the property_turnover_scope arguments as JSON."
      • removedOutput schema / $defs / Links / properties / downloads / title
        Removed value: -"Downloads"
      • removedOutput schema / $defs / Links / properties / how_to_get_files / title
        Removed value: -"How To Get Files"
      • removedOutput schema / $defs / Links / properties / web_tool / description
        Removed value: -"The free web tool."
      • removedOutput schema / $defs / Links / properties / web_tool / title
        Removed value: -"Web Tool"
      • removedOutput schema / $defs / Links / properties / web_tool_prefilled / description
        Removed value: -"Opens the web tool with these inputs filled in and estimates them; the user can download the Excel workbook and owner estimate there. Give this link to the user."
      • removedOutput schema / $defs / Links / properties / web_tool_prefilled / title
        Removed value: -"Web Tool Prefilled"
      • removedOutput schema / $defs / Links / title
        Removed value: -"Links"
      • removedOutput schema / $defs / RunInfo / properties / capability / title
        Removed value: -"Capability"
      • removedOutput schema / $defs / RunInfo / properties / contract_version / title
        Removed value: -"Contract Version"
      • removedOutput schema / $defs / RunInfo / properties / duration_ms / title
        Removed value: -"Duration Ms"
      • removedOutput schema / $defs / RunInfo / properties / engine_version / title
        Removed value: -"Engine Version"
      • removedOutput schema / $defs / RunInfo / properties / id / title
        Removed value: -"Id"
      • removedOutput schema / $defs / RunInfo / properties / operation / title
        Removed value: -"Operation"
      • removedOutput schema / $defs / RunInfo / properties / received_at / title
        Removed value: -"Received At"
      • removedOutput schema / $defs / RunInfo / properties / ruleset_hash / title
        Removed value: -"Ruleset Hash"
      • removedOutput schema / $defs / RunInfo / properties / ruleset_version / title
        Removed value: -"Ruleset Version"
      • removedOutput schema / $defs / RunInfo / title
        Removed value: -"RunInfo"
      • removedOutput schema / properties / client_refs / description
        Removed value: -"Your own ids, echoed when you sent client_refs."
      • removedOutput schema / properties / client_refs / title
        Removed value: -"Client Refs"
      • removedOutput schema / properties / input_hash / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / properties / input_hash / title
        Removed value: -"Input Hash"
      • removedOutput schema / properties / result_hash / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / properties / result_hash / title
        Removed value: -"Result Hash"
      • removedOutput schema / properties / run / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / title
        Removed value: -"PropertyTurnoverIssueCodesMcpResult"
    • Changedproperty_turnover_quick_estimate188 fields changed
      • removedInput schema / $defs / PriceTier / title
        Removed value: -"PriceTier"
      • removedInput schema / $defs / Profile / title
        Removed value: -"Profile"
      • removedInput schema / $defs / UnitType / title
        Removed value: -"UnitType"
      • removedInput schema / properties / audit / title
        Removed value: -"Audit"
      • removedInput schema / properties / bathrooms / title
        Removed value: -"Bathrooms"
      • removedInput schema / properties / bedrooms / title
        Removed value: -"Bedrooms"
      • removedInput schema / properties / carpet / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / carpet / default
        Removed value: -null
      • removedInput schema / properties / carpet / title
        Removed value: -"Carpet"
      • addedInput schema / properties / carpet / type
        Added value: +"boolean"
      • addedInput schema / properties / client_refs / additionalProperties
        Added value: +{
        +  "type": "string"
        +}
      • removedInput schema / properties / client_refs / anyOf
        Removed value: -[
        -  {
        -    "additionalProperties": {
        -      "type": "string"
        -    },
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / client_refs / default
        Removed value: -null
      • removedInput schema / properties / client_refs / title
        Removed value: -"Client Refs"
      • addedInput schema / properties / client_refs / type
        Added value: +"object"
      • removedInput schema / properties / detail / title
        Removed value: -"Detail"
      • changedInput schema / properties / issues / description
        Previous value: -"What was found, one plain-English item per entry, e.g. ['stained carpet in both bedrooms', 'nail holes everywhere', 'oven is filthy']. A room at the start sets the location ('Bedroom 2 carpet torn')."New value: +"What was found in plain English, e.g. ['stained carpet in both bedrooms', 'nail holes everywhere', 'oven is filthy']. Read like pasted notes: an entry may hold several conditions ('carpet stained, nail holes'; one finding each); a room before or after the condition sets the location ('Bedroom 2 carpet torn', 'mold in bathroom'); a written count sets the quantity ('3 blinds broken'); an entry saying there is no work ('no mold', 'leak fixed by tenant') is reported as not billed."
      • removedInput schema / properties / issues / title
        Removed value: -"Issues"
      • removedInput schema / properties / sq_ft / anyOf
        Removed value: -[
        -  {
        -    "maximum": 20000,
        -    "minimum": 150,
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / sq_ft / default
        Removed value: -null
      • addedInput schema / properties / sq_ft / maximum
        Added value: +20000
      • addedInput schema / properties / sq_ft / minimum
        Added value: +150
      • removedInput schema / properties / sq_ft / title
        Removed value: -"Sq Ft"
      • addedInput schema / properties / sq_ft / type
        Added value: +"integer"
      • removedInput schema / properties / year_built / anyOf
        Removed value: -[
        -  {
        -    "maximum": 2100,
        -    "minimum": 1700,
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / year_built / default
        Removed value: -null
      • addedInput schema / properties / year_built / maximum
        Added value: +2100
      • addedInput schema / properties / year_built / minimum
        Added value: +1700
      • removedInput schema / properties / year_built / title
        Removed value: -"Year Built"
      • addedInput schema / properties / year_built / type
        Added value: +"integer"
      • removedInput schema / properties / zip / title
        Removed value: -"Zip"
      • removedInput schema / title
        Removed value: -"property_turnover_quick_estimateArguments"
      • removedOutput schema / $defs / CostRange / description
        Removed value: -"A low / expected / high estimate. Invariant: low <= expected <= high."
      • removedOutput schema / $defs / CostRange / properties / expected / title
        Removed value: -"Expected"
      • removedOutput schema / $defs / CostRange / properties / high / title
        Removed value: -"High"
      • removedOutput schema / $defs / CostRange / properties / low / title
        Removed value: -"Low"
      • removedOutput schema / $defs / CostRange / title
        Removed value: -"CostRange"
      • removedOutput schema / $defs / Extent / title
        Removed value: -"Extent"
      • removedOutput schema / $defs / FindingResolution / properties / code / title
        Removed value: -"Code"
      • addedOutput schema / $defs / FindingResolution / properties / confidence
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / FindingResolution / properties / finding_id / title
        Removed value: -"Finding Id"
      • removedOutput schema / $defs / FindingResolution / properties / issue_name / description
        Removed value: -"Readable name of `code`."
      • removedOutput schema / $defs / FindingResolution / properties / issue_name / title
        Removed value: -"Issue Name"
      • removedOutput schema / $defs / FindingResolution / properties / line_ids / title
        Removed value: -"Line Ids"
      • removedOutput schema / $defs / FindingResolution / properties / location / description
        Removed value: -"Where, as shown on the lines."
      • removedOutput schema / $defs / FindingResolution / properties / location / title
        Removed value: -"Location"
      • removedOutput schema / $defs / FindingResolution / properties / match_note / description
        Removed value: -"Set when the match left a fixture word unexplained: check this finding."
      • removedOutput schema / $defs / FindingResolution / properties / match_note / title
        Removed value: -"Match Note"
      • addedOutput schema / $defs / FindingResolution / properties / model
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / FindingResolution / properties / needs_review
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / FindingResolution / properties / not_billed_reason
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "none",
        +        "ok",
        +        "done"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • changedOutput schema / $defs / FindingResolution / properties / resolution / enum
        Previous value: -[
        -  "exact",
        -  "alias",
        -  "unmapped"
        -]New value: +[
        +  "exact",
        +  "alias",
        +  "ai",
        +  "unmapped",
        +  "not_billed"
        +]
      • removedOutput schema / $defs / FindingResolution / properties / resolution / title
        Removed value: -"Resolution"
      • removedOutput schema / $defs / FindingResolution / properties / suggested_codes / title
        Removed value: -"Suggested Codes"
      • removedOutput schema / $defs / FindingResolution / properties / suggestions / description
        Removed value: -"Suggested codes with readable names, best first."
      • removedOutput schema / $defs / FindingResolution / properties / suggestions / title
        Removed value: -"Suggestions"
      • removedOutput schema / $defs / FindingResolution / properties / text / description
        Removed value: -"The finding as given (description, else code), for tracing."
      • removedOutput schema / $defs / FindingResolution / properties / text / title
        Removed value: -"Text"
      • removedOutput schema / $defs / FindingResolution / properties / uncertain / description
        Removed value: -"The description hedges ('mold?', 'maybe', 'possible'). Refer-outs from uncertain findings are check-first: they add a warning instead of holding phases."
      • removedOutput schema / $defs / FindingResolution / properties / uncertain / title
        Removed value: -"Uncertain"
      • removedOutput schema / $defs / FindingResolution / title
        Removed value: -"FindingResolution"
      • removedOutput schema / $defs / Links / description
        Removed value: -"Where the user gets files. MCP results only; the estimate itself is not stored."
      • removedOutput schema / $defs / Links / properties / downloads / description
        Removed value: -"Format -> URL. POST the property_turnover_scope arguments as JSON."
      • removedOutput schema / $defs / Links / properties / downloads / title
        Removed value: -"Downloads"
      • removedOutput schema / $defs / Links / properties / how_to_get_files / title
        Removed value: -"How To Get Files"
      • removedOutput schema / $defs / Links / properties / web_tool / description
        Removed value: -"The free web tool."
      • removedOutput schema / $defs / Links / properties / web_tool / title
        Removed value: -"Web Tool"
      • removedOutput schema / $defs / Links / properties / web_tool_prefilled / description
        Removed value: -"Opens the web tool with these inputs filled in and estimates them; the user can download the Excel workbook and owner estimate there. Give this link to the user."
      • removedOutput schema / $defs / Links / properties / web_tool_prefilled / title
        Removed value: -"Web Tool Prefilled"
      • removedOutput schema / $defs / Links / title
        Removed value: -"Links"
      • removedOutput schema / $defs / Note / properties / code / title
        Removed value: -"Code"
      • removedOutput schema / $defs / Note / properties / finding_ids / title
        Removed value: -"Finding Ids"
      • removedOutput schema / $defs / Note / properties / line_ids / title
        Removed value: -"Line Ids"
      • removedOutput schema / $defs / Note / properties / message / title
        Removed value: -"Message"
      • removedOutput schema / $defs / Note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / Phase / description
        Removed value: -"Make-ready order. Values sort in sequence order via PHASE_ORDER."
      • removedOutput schema / $defs / Phase / title
        Removed value: -"Phase"
      • removedOutput schema / $defs / PriceBasis / title
        Removed value: -"PriceBasis"
      • removedOutput schema / $defs / PriceTier / description
        Removed value: -"Purchasing channel. Library prices are pm_vendor (a PM buying turns from a local vendor)."
      • removedOutput schema / $defs / PriceTier / title
        Removed value: -"PriceTier"
      • removedOutput schema / $defs / Priority / title
        Removed value: -"Priority"
      • removedOutput schema / $defs / Profile / title
        Removed value: -"Profile"
      • removedOutput schema / $defs / Provenance / properties / ruleset_hash / title
        Removed value: -"Ruleset Hash"
      • removedOutput schema / $defs / Provenance / properties / ruleset_id / title
        Removed value: -"Ruleset Id"
      • removedOutput schema / $defs / Provenance / properties / ruleset_version / title
        Removed value: -"Ruleset Version"
      • removedOutput schema / $defs / Provenance / properties / sources / title
        Removed value: -"Sources"
      • removedOutput schema / $defs / Provenance / title
        Removed value: -"Provenance"
      • removedOutput schema / $defs / RateCardUse / properties / entry / description
        Removed value: -"0-based index into the request's rate_card."
      • removedOutput schema / $defs / RateCardUse / properties / entry / title
        Removed value: -"Entry"
      • removedOutput schema / $defs / RateCardUse / properties / lines / title
        Removed value: -"Lines"
      • removedOutput schema / $defs / RateCardUse / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / RateCardUse / properties / target / description
        Removed value: -"The entry's task_id or trade."
      • removedOutput schema / $defs / RateCardUse / properties / target / title
        Removed value: -"Target"
      • removedOutput schema / $defs / RateCardUse / title
        Removed value: -"RateCardUse"
      • removedOutput schema / $defs / ReferOutNote / properties / blocks_phases / title
        Removed value: -"Blocks Phases"
      • removedOutput schema / $defs / ReferOutNote / properties / finding_ids / title
        Removed value: -"Finding Ids"
      • removedOutput schema / $defs / ReferOutNote / properties / id / title
        Removed value: -"Id"
      • removedOutput schema / $defs / ReferOutNote / properties / kind / title
        Removed value: -"Kind"
      • removedOutput schema / $defs / ReferOutNote / properties / name / title
        Removed value: -"Name"
      • removedOutput schema / $defs / ReferOutNote / properties / professional / title
        Removed value: -"Professional"
      • removedOutput schema / $defs / ReferOutNote / properties / reason / title
        Removed value: -"Reason"
      • removedOutput schema / $defs / ReferOutNote / properties / sources / title
        Removed value: -"Sources"
      • removedOutput schema / $defs / ReferOutNote / properties / unconfirmed / description
        Removed value: -"Every triggering finding was hedged ('maybe', '?'): check first; no phase is held until the condition is confirmed (see warnings)."
      • removedOutput schema / $defs / ReferOutNote / properties / unconfirmed / title
        Removed value: -"Unconfirmed"
      • removedOutput schema / $defs / ReferOutNote / title
        Removed value: -"ReferOutNote"
      • removedOutput schema / $defs / Region / properties / basis / title
        Removed value: -"Basis"
      • removedOutput schema / $defs / Region / properties / cbsa / title
        Removed value: -"Cbsa"
      • removedOutput schema / $defs / Region / properties / cbsa_name / title
        Removed value: -"Cbsa Name"
      • removedOutput schema / $defs / Region / properties / vintage / title
        Removed value: -"Vintage"
      • removedOutput schema / $defs / Region / properties / zip3 / title
        Removed value: -"Zip3"
      • removedOutput schema / $defs / Region / title
        Removed value: -"Region"
      • removedOutput schema / $defs / Responsibility / title
        Removed value: -"Responsibility"
      • removedOutput schema / $defs / RunInfo / properties / capability / title
        Removed value: -"Capability"
      • removedOutput schema / $defs / RunInfo / properties / contract_version / title
        Removed value: -"Contract Version"
      • removedOutput schema / $defs / RunInfo / properties / duration_ms / title
        Removed value: -"Duration Ms"
      • removedOutput schema / $defs / RunInfo / properties / engine_version / title
        Removed value: -"Engine Version"
      • removedOutput schema / $defs / RunInfo / properties / id / title
        Removed value: -"Id"
      • removedOutput schema / $defs / RunInfo / properties / operation / title
        Removed value: -"Operation"
      • removedOutput schema / $defs / RunInfo / properties / received_at / title
        Removed value: -"Received At"
      • removedOutput schema / $defs / RunInfo / properties / ruleset_hash / title
        Removed value: -"Ruleset Hash"
      • removedOutput schema / $defs / RunInfo / properties / ruleset_version / title
        Removed value: -"Ruleset Version"
      • removedOutput schema / $defs / RunInfo / title
        Removed value: -"RunInfo"
      • removedOutput schema / $defs / ScopeLine / properties / allowance / description
        Removed value: -"Quote-required lines only: a non-binding budget range. NOT included in any total; summed separately in totals.allowances."
      • removedOutput schema / $defs / ScopeLine / properties / confidence / title
        Removed value: -"Confidence"
      • removedOutput schema / $defs / ScopeLine / properties / decision / title
        Removed value: -"Decision"
      • removedOutput schema / $defs / ScopeLine / properties / finding_ids / title
        Removed value: -"Finding Ids"
      • removedOutput schema / $defs / ScopeLine / properties / line_id / title
        Removed value: -"Line Id"
      • removedOutput schema / $defs / ScopeLine / properties / location / title
        Removed value: -"Location"
      • removedOutput schema / $defs / ScopeLine / properties / name / title
        Removed value: -"Name"
      • addedOutput schema / $defs / ScopeLine / properties / needs_review
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / ScopeLine / properties / quantity / title
        Removed value: -"Quantity"
      • removedOutput schema / $defs / ScopeLine / properties / quantity_source / title
        Removed value: -"Quantity Source"
      • removedOutput schema / $defs / ScopeLine / properties / refer_out / title
        Removed value: -"Refer Out"
      • removedOutput schema / $defs / ScopeLine / properties / responsibility_by_finding / description
        Removed value: -"Set when the hint is 'mixed': the hint of each finding the line carries."
      • removedOutput schema / $defs / ScopeLine / properties / responsibility_by_finding / title
        Removed value: -"Responsibility By Finding"
      • removedOutput schema / $defs / ScopeLine / properties / rule_ids / title
        Removed value: -"Rule Ids"
      • removedOutput schema / $defs / ScopeLine / properties / task_id / title
        Removed value: -"Task Id"
      • addedOutput schema / $defs / ScopeLine / properties / to_confirm
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / ScopeLine / properties / vendor_note / title
        Removed value: -"Vendor Note"
      • removedOutput schema / $defs / ScopeLine / title
        Removed value: -"ScopeLine"
      • removedOutput schema / $defs / ScopeResult / description
        Removed value: -"Field order puts the answer first (summary, disclaimer, totals, refer-outs, vendor\nscopes), because agents and truncating clients read from the top."
      • removedOutput schema / $defs / ScopeResult / properties / assumptions / title
        Removed value: -"Assumptions"
      • removedOutput schema / $defs / ScopeResult / properties / detail / title
        Removed value: -"Detail"
      • removedOutput schema / $defs / ScopeResult / properties / disclaimer / title
        Removed value: -"Disclaimer"
      • removedOutput schema / $defs / ScopeResult / properties / findings / title
        Removed value: -"Findings"
      • removedOutput schema / $defs / ScopeResult / properties / lines / title
        Removed value: -"Lines"
      • removedOutput schema / $defs / ScopeResult / properties / lines_omitted / description
        Removed value: -"Lines left out in summary detail."
      • removedOutput schema / $defs / ScopeResult / properties / lines_omitted / title
        Removed value: -"Lines Omitted"
      • removedOutput schema / $defs / ScopeResult / properties / omitted_note / description
        Removed value: -"Summary detail: what the omitted lines are (routine turn tasks) and their cost."
      • removedOutput schema / $defs / ScopeResult / properties / omitted_note / title
        Removed value: -"Omitted Note"
      • removedOutput schema / $defs / ScopeResult / properties / rate_card_applied / description
        Removed value: -"Rate card entries that changed a price."
      • removedOutput schema / $defs / ScopeResult / properties / rate_card_applied / title
        Removed value: -"Rate Card Applied"
      • removedOutput schema / $defs / ScopeResult / properties / rate_card_ignored / description
        Removed value: -"Rate card entries that changed nothing, with why."
      • removedOutput schema / $defs / ScopeResult / properties / rate_card_ignored / title
        Removed value: -"Rate Card Ignored"
      • removedOutput schema / $defs / ScopeResult / properties / refer_outs / title
        Removed value: -"Refer Outs"
      • removedOutput schema / $defs / ScopeResult / properties / summary / title
        Removed value: -"Summary"
      • removedOutput schema / $defs / ScopeResult / properties / trade_scopes / title
        Removed value: -"Trade Scopes"
      • removedOutput schema / $defs / ScopeResult / properties / unknowns / title
        Removed value: -"Unknowns"
      • removedOutput schema / $defs / ScopeResult / properties / warnings / title
        Removed value: -"Warnings"
      • removedOutput schema / $defs / ScopeResult / title
        Removed value: -"ScopeResult"
      • removedOutput schema / $defs / SourceRef / properties / id / title
        Removed value: -"Id"
      • removedOutput schema / $defs / SourceRef / properties / title / title
        Removed value: -"Title"
      • removedOutput schema / $defs / SourceRef / properties / url / title
        Removed value: -"Url"
      • removedOutput schema / $defs / SourceRef / title
        Removed value: -"SourceRef"
      • removedOutput schema / $defs / Suggestion / properties / code / title
        Removed value: -"Code"
      • removedOutput schema / $defs / Suggestion / properties / name / title
        Removed value: -"Name"
      • removedOutput schema / $defs / Suggestion / title
        Removed value: -"Suggestion"
      • removedOutput schema / $defs / Totals / properties / allowances / description
        Removed value: -"Budget allowance for quote-required lines (refer-outs, manual quotes). Shown outside the totals: subtotal and total never include it."
      • changedOutput schema / $defs / Totals / properties / note / default
        Previous value: -"must, should and could are work lines only. visit_charges (minimum call-out and trip fees, once per trade) are added on top: subtotal = must + should + could + visit_charges; total = subtotal + tax. allowances are outside the total."New value: +"must, should and could are work lines only. visit_charges (minimum call-out and trip fees, once per trade) are added on top: subtotal = must + should + could + visit_charges; total = subtotal + tax. allowances and to_confirm (uncertain items) are outside the total."
      • removedOutput schema / $defs / Totals / properties / note / description
        Removed value: -"How the totals add up."
      • removedOutput schema / $defs / Totals / properties / note / title
        Removed value: -"Note"
      • addedOutput schema / $defs / Totals / properties / to_confirm
        Added value: +{
        +  "$ref": "#/$defs/CostRange"
        +}
      • removedOutput schema / $defs / Totals / title
        Removed value: -"Totals"
      • removedOutput schema / $defs / Trade / title
        Removed value: -"Trade"
      • removedOutput schema / $defs / TradeScope / properties / line_ids / title
        Removed value: -"Line Ids"
      • removedOutput schema / $defs / TradeScope / title
        Removed value: -"TradeScope"
      • removedOutput schema / $defs / Uom / title
        Removed value: -"Uom"
      • removedOutput schema / $defs / Vendor / properties / contact / title
        Removed value: -"Contact"
      • removedOutput schema / $defs / Vendor / properties / name / title
        Removed value: -"Name"
      • removedOutput schema / $defs / Vendor / title
        Removed value: -"Vendor"
      • removedOutput schema / properties / client_refs / description
        Removed value: -"Your own ids, echoed when you sent client_refs."
      • removedOutput schema / properties / client_refs / title
        Removed value: -"Client Refs"
      • removedOutput schema / properties / input_hash / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / properties / input_hash / title
        Removed value: -"Input Hash"
      • removedOutput schema / properties / result_hash / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / properties / result_hash / title
        Removed value: -"Result Hash"
      • removedOutput schema / properties / run / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / title
        Removed value: -"PropertyTurnoverQuickEstimateMcpResult"
    • Changedproperty_turnover_scope322 fields changed
      • removedInput schema / $defs / Area / title
        Removed value: -"Area"
      • removedInput schema / $defs / Constraints / properties / access_notes / anyOf
        Removed value: -[
        -  {
        -    "maxLength": 500,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Constraints / properties / access_notes / default
        Removed value: -null
      • addedInput schema / $defs / Constraints / properties / access_notes / maxLength
        Added value: +500
      • removedInput schema / $defs / Constraints / properties / access_notes / title
        Removed value: -"Access Notes"
      • addedInput schema / $defs / Constraints / properties / access_notes / type
        Added value: +"string"
      • removedInput schema / $defs / Constraints / properties / occupied / title
        Removed value: -"Occupied"
      • removedInput schema / $defs / Constraints / properties / target_ready_date / anyOf
        Removed value: -[
        -  {
        -    "format": "date",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Constraints / properties / target_ready_date / default
        Removed value: -null
      • addedInput schema / $defs / Constraints / properties / target_ready_date / format
        Added value: +"date"
      • removedInput schema / $defs / Constraints / properties / target_ready_date / title
        Removed value: -"Target Ready Date"
      • addedInput schema / $defs / Constraints / properties / target_ready_date / type
        Added value: +"string"
      • removedInput schema / $defs / Constraints / title
        Removed value: -"Constraints"
      • removedInput schema / $defs / Decision / properties / action / title
        Removed value: -"Action"
      • removedInput schema / $defs / Decision / properties / finding_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Decision / properties / finding_id / default
        Removed value: -null
      • removedInput schema / $defs / Decision / properties / finding_id / title
        Removed value: -"Finding Id"
      • addedInput schema / $defs / Decision / properties / finding_id / type
        Added value: +"string"
      • removedInput schema / $defs / Decision / properties / line_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Decision / properties / line_id / default
        Removed value: -null
      • removedInput schema / $defs / Decision / properties / line_id / title
        Removed value: -"Line Id"
      • addedInput schema / $defs / Decision / properties / line_id / type
        Added value: +"string"
      • removedInput schema / $defs / Decision / properties / note / anyOf
        Removed value: -[
        -  {
        -    "maxLength": 300,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Decision / properties / note / default
        Removed value: -null
      • addedInput schema / $defs / Decision / properties / note / maxLength
        Added value: +300
      • removedInput schema / $defs / Decision / properties / note / title
        Removed value: -"Note"
      • addedInput schema / $defs / Decision / properties / note / type
        Added value: +"string"
      • removedInput schema / $defs / Decision / title
        Removed value: -"Decision"
      • removedInput schema / $defs / Extent / title
        Removed value: -"Extent"
      • addedInput schema / $defs / Extraction
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "How a finding was produced, when software read it from free text (contract 0.4.0).\n\nSet by the web tool when its AI reader (Azure OpenAI) turned a person's own words into this\nfinding. The engine reports such a finding as ``resolution: \"ai\"`` with ``needs_review``\nand flags its lines; it never changes how the finding is priced.",
        +  "properties": {
        +    "confidence": {
        +      "anyOf": [
        +        {
        +          "maximum": 1,
        +          "minimum": 0,
        +          "type": "number"
        +        },
        +        {
        +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +          "type": "string"
        +        }
        +      ],
        +      "description": "The reader's confidence, 0 to 1."
        +    },
        +    "method": {
        +      "const": "ai",
        +      "description": "'ai': read by a language model from free text.",
        +      "type": "string"
        +    },
        +    "model": {
        +      "description": "The model that read it, e.g. 'gpt-5-nano 2025-08-07'.",
        +      "maxLength": 80,
        +      "pattern": "^[A-Za-z0-9._:() -]+$",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "method",
        +    "model",
        +    "confidence"
        +  ],
        +  "type": "object"
        +}
      • removedInput schema / $defs / Finding / properties / code / anyOf
        Removed value: -[
        -  {
        -    "maxLength": 80,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Finding / properties / code / default
        Removed value: -null
      • addedInput schema / $defs / Finding / properties / code / maxLength
        Added value: +80
      • removedInput schema / $defs / Finding / properties / code / title
        Removed value: -"Code"
      • addedInput schema / $defs / Finding / properties / code / type
        Added value: +"string"
      • removedInput schema / $defs / Finding / properties / description / anyOf
        Removed value: -[
        -  {
        -    "maxLength": 300,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Finding / properties / description / default
        Removed value: -null
      • addedInput schema / $defs / Finding / properties / description / maxLength
        Added value: +300
      • removedInput schema / $defs / Finding / properties / description / title
        Removed value: -"Description"
      • addedInput schema / $defs / Finding / properties / description / type
        Added value: +"string"
      • addedInput schema / $defs / Finding / properties / extent / $ref
        Added value: +"#/$defs/Extent"
      • removedInput schema / $defs / Finding / properties / extent / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Extent"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Finding / properties / extent / default
        Removed value: -null
      • addedInput schema / $defs / Finding / properties / extraction
        Added value: +{
        +  "$ref": "#/$defs/Extraction",
        +  "description": "Leave out. Set by the web tool for findings its AI reader produced from free text; they come back as resolution 'ai' with needs_review."
        +}
      • removedInput schema / $defs / Finding / properties / id / anyOf
        Removed value: -[
        -  {
        -    "maxLength": 40,
        -    "pattern": "^[A-Za-z0-9_.:-]+$",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Finding / properties / id / default
        Removed value: -null
      • addedInput schema / $defs / Finding / properties / id / maxLength
        Added value: +40
      • addedInput schema / $defs / Finding / properties / id / pattern
        Added value: +"^[A-Za-z0-9_.:-]+$"
      • removedInput schema / $defs / Finding / properties / id / title
        Removed value: -"Id"
      • addedInput schema / $defs / Finding / properties / id / type
        Added value: +"string"
      • removedInput schema / $defs / Finding / properties / notes / anyOf
        Removed value: -[
        -  {
        -    "maxLength": 1000,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Finding / properties / notes / default
        Removed value: -null
      • addedInput schema / $defs / Finding / properties / notes / maxLength
        Added value: +1000
      • removedInput schema / $defs / Finding / properties / notes / title
        Removed value: -"Notes"
      • addedInput schema / $defs / Finding / properties / notes / type
        Added value: +"string"
      • addedInput schema / $defs / Finding / properties / quantity / $ref
        Added value: +"#/$defs/Quantity"
      • removedInput schema / $defs / Finding / properties / quantity / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Quantity"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Finding / properties / quantity / default
        Removed value: -null
      • removedInput schema / $defs / Finding / title
        Removed value: -"Finding"
      • removedInput schema / $defs / FloorCoverings / properties / carpet_present / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / FloorCoverings / properties / carpet_present / default
        Removed value: -null
      • removedInput schema / $defs / FloorCoverings / properties / carpet_present / title
        Removed value: -"Carpet Present"
      • addedInput schema / $defs / FloorCoverings / properties / carpet_present / type
        Added value: +"boolean"
      • removedInput schema / $defs / FloorCoverings / properties / carpet_sq_ft / anyOf
        Removed value: -[
        -  {
        -    "maximum": 20000,
        -    "minimum": 0,
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / FloorCoverings / properties / carpet_sq_ft / default
        Removed value: -null
      • addedInput schema / $defs / FloorCoverings / properties / carpet_sq_ft / maximum
        Added value: +20000
      • addedInput schema / $defs / FloorCoverings / properties / carpet_sq_ft / minimum
        Added value: +0
      • removedInput schema / $defs / FloorCoverings / properties / carpet_sq_ft / title
        Removed value: -"Carpet Sq Ft"
      • addedInput schema / $defs / FloorCoverings / properties / carpet_sq_ft / type
        Added value: +"integer"
      • removedInput schema / $defs / FloorCoverings / title
        Removed value: -"FloorCoverings"
      • removedInput schema / $defs / Location / properties / label / anyOf
        Removed value: -[
        -  {
        -    "maxLength": 60,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Location / properties / label / default
        Removed value: -null
      • addedInput schema / $defs / Location / properties / label / maxLength
        Added value: +60
      • removedInput schema / $defs / Location / properties / label / title
        Removed value: -"Label"
      • addedInput schema / $defs / Location / properties / label / type
        Added value: +"string"
      • removedInput schema / $defs / Location / title
        Removed value: -"Location"
      • removedInput schema / $defs / PriceTier / title
        Removed value: -"PriceTier"
      • removedInput schema / $defs / Profile / title
        Removed value: -"Profile"
      • removedInput schema / $defs / PropertyProfile / properties / bathrooms / title
        Removed value: -"Bathrooms"
      • removedInput schema / $defs / PropertyProfile / properties / bedrooms / title
        Removed value: -"Bedrooms"
      • removedInput schema / $defs / PropertyProfile / properties / sq_ft / anyOf
        Removed value: -[
        -  {
        -    "maximum": 20000,
        -    "minimum": 150,
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / PropertyProfile / properties / sq_ft / default
        Removed value: -null
      • addedInput schema / $defs / PropertyProfile / properties / sq_ft / maximum
        Added value: +20000
      • addedInput schema / $defs / PropertyProfile / properties / sq_ft / minimum
        Added value: +150
      • removedInput schema / $defs / PropertyProfile / properties / sq_ft / title
        Removed value: -"Sq Ft"
      • addedInput schema / $defs / PropertyProfile / properties / sq_ft / type
        Added value: +"integer"
      • removedInput schema / $defs / PropertyProfile / properties / year_built / anyOf
        Removed value: -[
        -  {
        -    "maximum": 2100,
        -    "minimum": 1700,
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / PropertyProfile / properties / year_built / default
        Removed value: -null
      • addedInput schema / $defs / PropertyProfile / properties / year_built / maximum
        Added value: +2100
      • addedInput schema / $defs / PropertyProfile / properties / year_built / minimum
        Added value: +1700
      • removedInput schema / $defs / PropertyProfile / properties / year_built / title
        Removed value: -"Year Built"
      • addedInput schema / $defs / PropertyProfile / properties / year_built / type
        Added value: +"integer"
      • removedInput schema / $defs / PropertyProfile / properties / zip / title
        Removed value: -"Zip"
      • removedInput schema / $defs / PropertyProfile / title
        Removed value: -"PropertyProfile"
      • removedInput schema / $defs / Quantity / properties / value / title
        Removed value: -"Value"
      • removedInput schema / $defs / Quantity / title
        Removed value: -"Quantity"
      • changedInput schema / $defs / RateCardEntry / properties / min_charge / anyOf
        Previous value: -[
        -  {
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / $defs / RateCardEntry / properties / min_charge / default
        Removed value: -null
      • removedInput schema / $defs / RateCardEntry / properties / min_charge / title
        Removed value: -"Min Charge"
      • removedInput schema / $defs / RateCardEntry / properties / task_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / RateCardEntry / properties / task_id / default
        Removed value: -null
      • removedInput schema / $defs / RateCardEntry / properties / task_id / title
        Removed value: -"Task Id"
      • addedInput schema / $defs / RateCardEntry / properties / task_id / type
        Added value: +"string"
      • addedInput schema / $defs / RateCardEntry / properties / trade / $ref
        Added value: +"#/$defs/Trade"
      • removedInput schema / $defs / RateCardEntry / properties / trade / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Trade"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / RateCardEntry / properties / trade / default
        Removed value: -null
      • changedInput schema / $defs / RateCardEntry / properties / trip_charge / anyOf
        Previous value: -[
        -  {
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / $defs / RateCardEntry / properties / trip_charge / default
        Removed value: -null
      • removedInput schema / $defs / RateCardEntry / properties / trip_charge / title
        Removed value: -"Trip Charge"
      • changedInput schema / $defs / RateCardEntry / properties / unit_price / anyOf
        Previous value: -[
        -  {
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / $defs / RateCardEntry / properties / unit_price / default
        Removed value: -null
      • removedInput schema / $defs / RateCardEntry / properties / unit_price / title
        Removed value: -"Unit Price"
      • addedInput schema / $defs / RateCardEntry / properties / uom / $ref
        Added value: +"#/$defs/Uom"
      • removedInput schema / $defs / RateCardEntry / properties / uom / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/$defs/Uom"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / RateCardEntry / properties / uom / default
        Removed value: -null
      • removedInput schema / $defs / RateCardEntry / title
        Removed value: -"RateCardEntry"
      • removedInput schema / $defs / Standards / title
        Removed value: -"Standards"
      • removedInput schema / $defs / StandardsOverrides / properties / always_rekey / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / StandardsOverrides / properties / always_rekey / default
        Removed value: -null
      • removedInput schema / $defs / StandardsOverrides / properties / always_rekey / title
        Removed value: -"Always Rekey"
      • addedInput schema / $defs / StandardsOverrides / properties / always_rekey / type
        Added value: +"boolean"
      • removedInput schema / $defs / StandardsOverrides / properties / carpet_policy / anyOf
        Removed value: -[
        -  {
        -    "enum": [
        -      "clean",
        -      "replace_if_damaged",
        -      "always_replace"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / StandardsOverrides / properties / carpet_policy / default
        Removed value: -null
      • addedInput schema / $defs / StandardsOverrides / properties / carpet_policy / enum
        Added value: +[
        +  "clean",
        +  "replace_if_damaged",
        +  "always_replace"
        +]
      • removedInput schema / $defs / StandardsOverrides / properties / carpet_policy / title
        Removed value: -"Carpet Policy"
      • addedInput schema / $defs / StandardsOverrides / properties / carpet_policy / type
        Added value: +"string"
      • removedInput schema / $defs / StandardsOverrides / properties / cleaning_policy / anyOf
        Removed value: -[
        -  {
        -    "enum": [
        -      "standard",
        -      "deep"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / StandardsOverrides / properties / cleaning_policy / default
        Removed value: -null
      • addedInput schema / $defs / StandardsOverrides / properties / cleaning_policy / enum
        Added value: +[
        +  "standard",
        +  "deep"
        +]
      • removedInput schema / $defs / StandardsOverrides / properties / cleaning_policy / title
        Removed value: -"Cleaning Policy"
      • addedInput schema / $defs / StandardsOverrides / properties / cleaning_policy / type
        Added value: +"string"
      • changedInput schema / $defs / StandardsOverrides / properties / markup_pct / anyOf
        Previous value: -[
        -  {
        -    "maximum": 100,
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 100,
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / $defs / StandardsOverrides / properties / markup_pct / default
        Removed value: -null
      • removedInput schema / $defs / StandardsOverrides / properties / markup_pct / title
        Removed value: -"Markup Pct"
      • removedInput schema / $defs / StandardsOverrides / properties / paint_policy / anyOf
        Removed value: -[
        -  {
        -    "enum": [
        -      "touch_up",
        -      "full_if_needed",
        -      "always_full"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / StandardsOverrides / properties / paint_policy / default
        Removed value: -null
      • addedInput schema / $defs / StandardsOverrides / properties / paint_policy / enum
        Added value: +[
        +  "touch_up",
        +  "full_if_needed",
        +  "always_full"
        +]
      • removedInput schema / $defs / StandardsOverrides / properties / paint_policy / title
        Removed value: -"Paint Policy"
      • addedInput schema / $defs / StandardsOverrides / properties / paint_policy / type
        Added value: +"string"
      • removedInput schema / $defs / StandardsOverrides / title
        Removed value: -"StandardsOverrides"
      • removedInput schema / $defs / Trade / title
        Removed value: -"Trade"
      • removedInput schema / $defs / UnitType / title
        Removed value: -"UnitType"
      • removedInput schema / $defs / Uom / title
        Removed value: -"Uom"
      • removedInput schema / $defs / Vendor / properties / contact / anyOf
        Removed value: -[
        -  {
        -    "maxLength": 200,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / $defs / Vendor / properties / contact / default
        Removed value: -null
      • addedInput schema / $defs / Vendor / properties / contact / maxLength
        Added value: +200
      • removedInput schema / $defs / Vendor / properties / contact / title
        Removed value: -"Contact"
      • addedInput schema / $defs / Vendor / properties / contact / type
        Added value: +"string"
      • removedInput schema / $defs / Vendor / properties / name / title
        Removed value: -"Name"
      • removedInput schema / $defs / Vendor / title
        Removed value: -"Vendor"
      • removedInput schema / properties / audit / title
        Removed value: -"Audit"
      • addedInput schema / properties / client_refs / additionalProperties
        Added value: +{
        +  "type": "string"
        +}
      • removedInput schema / properties / client_refs / anyOf
        Removed value: -[
        -  {
        -    "additionalProperties": {
        -      "type": "string"
        -    },
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / client_refs / default
        Removed value: -null
      • removedInput schema / properties / client_refs / title
        Removed value: -"Client Refs"
      • addedInput schema / properties / client_refs / type
        Added value: +"object"
      • removedInput schema / properties / decisions / title
        Removed value: -"Decisions"
      • removedInput schema / properties / detail / title
        Removed value: -"Detail"
      • removedInput schema / properties / findings / title
        Removed value: -"Findings"
      • removedInput schema / properties / rate_card / title
        Removed value: -"Rate Card"
      • addedInput schema / properties / retain
        Added value: +{
        +  "default": true,
        +  "description": "Optional (contract 0.5.0). false: keep none of this request's text. By default the finding descriptions are kept with contact details and access codes removed, to improve matching; the estimate is the same either way.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / tax_rate / anyOf
        Previous value: -[
        -  {
        -    "maximum": 0.2,
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 0.2,
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / properties / tax_rate / default
        Removed value: -null
      • removedInput schema / properties / tax_rate / title
        Removed value: -"Tax Rate"
      • removedInput schema / properties / trade_vendors / title
        Removed value: -"Trade Vendors"
      • removedInput schema / title
        Removed value: -"property_turnover_scopeArguments"
      • removedOutput schema / $defs / CostRange / description
        Removed value: -"A low / expected / high estimate. Invariant: low <= expected <= high."
      • removedOutput schema / $defs / CostRange / properties / expected / title
        Removed value: -"Expected"
      • removedOutput schema / $defs / CostRange / properties / high / title
        Removed value: -"High"
      • removedOutput schema / $defs / CostRange / properties / low / title
        Removed value: -"Low"
      • removedOutput schema / $defs / CostRange / title
        Removed value: -"CostRange"
      • removedOutput schema / $defs / Extent / title
        Removed value: -"Extent"
      • removedOutput schema / $defs / FindingResolution / properties / code / title
        Removed value: -"Code"
      • addedOutput schema / $defs / FindingResolution / properties / confidence
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • removedOutput schema / $defs / FindingResolution / properties / finding_id / title
        Removed value: -"Finding Id"
      • removedOutput schema / $defs / FindingResolution / properties / issue_name / description
        Removed value: -"Readable name of `code`."
      • removedOutput schema / $defs / FindingResolution / properties / issue_name / title
        Removed value: -"Issue Name"
      • removedOutput schema / $defs / FindingResolution / properties / line_ids / title
        Removed value: -"Line Ids"
      • removedOutput schema / $defs / FindingResolution / properties / location / description
        Removed value: -"Where, as shown on the lines."
      • removedOutput schema / $defs / FindingResolution / properties / location / title
        Removed value: -"Location"
      • removedOutput schema / $defs / FindingResolution / properties / match_note / description
        Removed value: -"Set when the match left a fixture word unexplained: check this finding."
      • removedOutput schema / $defs / FindingResolution / properties / match_note / title
        Removed value: -"Match Note"
      • addedOutput schema / $defs / FindingResolution / properties / model
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedOutput schema / $defs / FindingResolution / properties / needs_review
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / FindingResolution / properties / not_billed_reason
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "none",
        +        "ok",
        +        "done"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • changedOutput schema / $defs / FindingResolution / properties / resolution / enum
        Previous value: -[
        -  "exact",
        -  "alias",
        -  "unmapped"
        -]New value: +[
        +  "exact",
        +  "alias",
        +  "ai",
        +  "unmapped",
        +  "not_billed"
        +]
      • removedOutput schema / $defs / FindingResolution / properties / resolution / title
        Removed value: -"Resolution"
      • removedOutput schema / $defs / FindingResolution / properties / suggested_codes / title
        Removed value: -"Suggested Codes"
      • removedOutput schema / $defs / FindingResolution / properties / suggestions / description
        Removed value: -"Suggested codes with readable names, best first."
      • removedOutput schema / $defs / FindingResolution / properties / suggestions / title
        Removed value: -"Suggestions"
      • removedOutput schema / $defs / FindingResolution / properties / text / description
        Removed value: -"The finding as given (description, else code), for tracing."
      • removedOutput schema / $defs / FindingResolution / properties / text / title
        Removed value: -"Text"
      • removedOutput schema / $defs / FindingResolution / properties / uncertain / description
        Removed value: -"The description hedges ('mold?', 'maybe', 'possible'). Refer-outs from uncertain findings are check-first: they add a warning instead of holding phases."
      • removedOutput schema / $defs / FindingResolution / properties / uncertain / title
        Removed value: -"Uncertain"
      • removedOutput schema / $defs / FindingResolution / title
        Removed value: -"FindingResolution"
      • removedOutput schema / $defs / Links / description
        Removed value: -"Where the user gets files. MCP results only; the estimate itself is not stored."
      • removedOutput schema / $defs / Links / properties / downloads / description
        Removed value: -"Format -> URL. POST the property_turnover_scope arguments as JSON."
      • removedOutput schema / $defs / Links / properties / downloads / title
        Removed value: -"Downloads"
      • removedOutput schema / $defs / Links / properties / how_to_get_files / title
        Removed value: -"How To Get Files"
      • removedOutput schema / $defs / Links / properties / web_tool / description
        Removed value: -"The free web tool."
      • removedOutput schema / $defs / Links / properties / web_tool / title
        Removed value: -"Web Tool"
      • removedOutput schema / $defs / Links / properties / web_tool_prefilled / description
        Removed value: -"Opens the web tool with these inputs filled in and estimates them; the user can download the Excel workbook and owner estimate there. Give this link to the user."
      • removedOutput schema / $defs / Links / properties / web_tool_prefilled / title
        Removed value: -"Web Tool Prefilled"
      • removedOutput schema / $defs / Links / title
        Removed value: -"Links"
      • removedOutput schema / $defs / Note / properties / code / title
        Removed value: -"Code"
      • removedOutput schema / $defs / Note / properties / finding_ids / title
        Removed value: -"Finding Ids"
      • removedOutput schema / $defs / Note / properties / line_ids / title
        Removed value: -"Line Ids"
      • removedOutput schema / $defs / Note / properties / message / title
        Removed value: -"Message"
      • removedOutput schema / $defs / Note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / Phase / description
        Removed value: -"Make-ready order. Values sort in sequence order via PHASE_ORDER."
      • removedOutput schema / $defs / Phase / title
        Removed value: -"Phase"
      • removedOutput schema / $defs / PriceBasis / title
        Removed value: -"PriceBasis"
      • removedOutput schema / $defs / PriceTier / description
        Removed value: -"Purchasing channel. Library prices are pm_vendor (a PM buying turns from a local vendor)."
      • removedOutput schema / $defs / PriceTier / title
        Removed value: -"PriceTier"
      • removedOutput schema / $defs / Priority / title
        Removed value: -"Priority"
      • removedOutput schema / $defs / Profile / title
        Removed value: -"Profile"
      • removedOutput schema / $defs / Provenance / properties / ruleset_hash / title
        Removed value: -"Ruleset Hash"
      • removedOutput schema / $defs / Provenance / properties / ruleset_id / title
        Removed value: -"Ruleset Id"
      • removedOutput schema / $defs / Provenance / properties / ruleset_version / title
        Removed value: -"Ruleset Version"
      • removedOutput schema / $defs / Provenance / properties / sources / title
        Removed value: -"Sources"
      • removedOutput schema / $defs / Provenance / title
        Removed value: -"Provenance"
      • removedOutput schema / $defs / RateCardUse / properties / entry / description
        Removed value: -"0-based index into the request's rate_card."
      • removedOutput schema / $defs / RateCardUse / properties / entry / title
        Removed value: -"Entry"
      • removedOutput schema / $defs / RateCardUse / properties / lines / title
        Removed value: -"Lines"
      • removedOutput schema / $defs / RateCardUse / properties / note / title
        Removed value: -"Note"
      • removedOutput schema / $defs / RateCardUse / properties / target / description
        Removed value: -"The entry's task_id or trade."
      • removedOutput schema / $defs / RateCardUse / properties / target / title
        Removed value: -"Target"
      • removedOutput schema / $defs / RateCardUse / title
        Removed value: -"RateCardUse"
      • removedOutput schema / $defs / ReferOutNote / properties / blocks_phases / title
        Removed value: -"Blocks Phases"
      • removedOutput schema / $defs / ReferOutNote / properties / finding_ids / title
        Removed value: -"Finding Ids"
      • removedOutput schema / $defs / ReferOutNote / properties / id / title
        Removed value: -"Id"
      • removedOutput schema / $defs / ReferOutNote / properties / kind / title
        Removed value: -"Kind"
      • removedOutput schema / $defs / ReferOutNote / properties / name / title
        Removed value: -"Name"
      • removedOutput schema / $defs / ReferOutNote / properties / professional / title
        Removed value: -"Professional"
      • removedOutput schema / $defs / ReferOutNote / properties / reason / title
        Removed value: -"Reason"
      • removedOutput schema / $defs / ReferOutNote / properties / sources / title
        Removed value: -"Sources"
      • removedOutput schema / $defs / ReferOutNote / properties / unconfirmed / description
        Removed value: -"Every triggering finding was hedged ('maybe', '?'): check first; no phase is held until the condition is confirmed (see warnings)."
      • removedOutput schema / $defs / ReferOutNote / properties / unconfirmed / title
        Removed value: -"Unconfirmed"
      • removedOutput schema / $defs / ReferOutNote / title
        Removed value: -"ReferOutNote"
      • removedOutput schema / $defs / Region / properties / basis / title
        Removed value: -"Basis"
      • removedOutput schema / $defs / Region / properties / cbsa / title
        Removed value: -"Cbsa"
      • removedOutput schema / $defs / Region / properties / cbsa_name / title
        Removed value: -"Cbsa Name"
      • removedOutput schema / $defs / Region / properties / vintage / title
        Removed value: -"Vintage"
      • removedOutput schema / $defs / Region / properties / zip3 / title
        Removed value: -"Zip3"
      • removedOutput schema / $defs / Region / title
        Removed value: -"Region"
      • removedOutput schema / $defs / Responsibility / title
        Removed value: -"Responsibility"
      • removedOutput schema / $defs / RunInfo / properties / capability / title
        Removed value: -"Capability"
      • removedOutput schema / $defs / RunInfo / properties / contract_version / title
        Removed value: -"Contract Version"
      • removedOutput schema / $defs / RunInfo / properties / duration_ms / title
        Removed value: -"Duration Ms"
      • removedOutput schema / $defs / RunInfo / properties / engine_version / title
        Removed value: -"Engine Version"
      • removedOutput schema / $defs / RunInfo / properties / id / title
        Removed value: -"Id"
      • removedOutput schema / $defs / RunInfo / properties / operation / title
        Removed value: -"Operation"
      • removedOutput schema / $defs / RunInfo / properties / received_at / title
        Removed value: -"Received At"
      • removedOutput schema / $defs / RunInfo / properties / ruleset_hash / title
        Removed value: -"Ruleset Hash"
      • removedOutput schema / $defs / RunInfo / properties / ruleset_version / title
        Removed value: -"Ruleset Version"
      • removedOutput schema / $defs / RunInfo / title
        Removed value: -"RunInfo"
      • removedOutput schema / $defs / ScopeLine / properties / allowance / description
        Removed value: -"Quote-required lines only: a non-binding budget range. NOT included in any total; summed separately in totals.allowances."
      • removedOutput schema / $defs / ScopeLine / properties / confidence / title
        Removed value: -"Confidence"
      • removedOutput schema / $defs / ScopeLine / properties / decision / title
        Removed value: -"Decision"
      • removedOutput schema / $defs / ScopeLine / properties / finding_ids / title
        Removed value: -"Finding Ids"
      • removedOutput schema / $defs / ScopeLine / properties / line_id / title
        Removed value: -"Line Id"
      • removedOutput schema / $defs / ScopeLine / properties / location / title
        Removed value: -"Location"
      • removedOutput schema / $defs / ScopeLine / properties / name / title
        Removed value: -"Name"
      • addedOutput schema / $defs / ScopeLine / properties / needs_review
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / ScopeLine / properties / quantity / title
        Removed value: -"Quantity"
      • removedOutput schema / $defs / ScopeLine / properties / quantity_source / title
        Removed value: -"Quantity Source"
      • removedOutput schema / $defs / ScopeLine / properties / refer_out / title
        Removed value: -"Refer Out"
      • removedOutput schema / $defs / ScopeLine / properties / responsibility_by_finding / description
        Removed value: -"Set when the hint is 'mixed': the hint of each finding the line carries."
      • removedOutput schema / $defs / ScopeLine / properties / responsibility_by_finding / title
        Removed value: -"Responsibility By Finding"
      • removedOutput schema / $defs / ScopeLine / properties / rule_ids / title
        Removed value: -"Rule Ids"
      • removedOutput schema / $defs / ScopeLine / properties / task_id / title
        Removed value: -"Task Id"
      • addedOutput schema / $defs / ScopeLine / properties / to_confirm
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / ScopeLine / properties / vendor_note / title
        Removed value: -"Vendor Note"
      • removedOutput schema / $defs / ScopeLine / title
        Removed value: -"ScopeLine"
      • removedOutput schema / $defs / ScopeResult / description
        Removed value: -"Field order puts the answer first (summary, disclaimer, totals, refer-outs, vendor\nscopes), because agents and truncating clients read from the top."
      • removedOutput schema / $defs / ScopeResult / properties / assumptions / title
        Removed value: -"Assumptions"
      • removedOutput schema / $defs / ScopeResult / properties / detail / title
        Removed value: -"Detail"
      • removedOutput schema / $defs / ScopeResult / properties / disclaimer / title
        Removed value: -"Disclaimer"
      • removedOutput schema / $defs / ScopeResult / properties / findings / title
        Removed value: -"Findings"
      • removedOutput schema / $defs / ScopeResult / properties / lines / title
        Removed value: -"Lines"
      • removedOutput schema / $defs / ScopeResult / properties / lines_omitted / description
        Removed value: -"Lines left out in summary detail."
      • removedOutput schema / $defs / ScopeResult / properties / lines_omitted / title
        Removed value: -"Lines Omitted"
      • removedOutput schema / $defs / ScopeResult / properties / omitted_note / description
        Removed value: -"Summary detail: what the omitted lines are (routine turn tasks) and their cost."
      • removedOutput schema / $defs / ScopeResult / properties / omitted_note / title
        Removed value: -"Omitted Note"
      • removedOutput schema / $defs / ScopeResult / properties / rate_card_applied / description
        Removed value: -"Rate card entries that changed a price."
      • removedOutput schema / $defs / ScopeResult / properties / rate_card_applied / title
        Removed value: -"Rate Card Applied"
      • removedOutput schema / $defs / ScopeResult / properties / rate_card_ignored / description
        Removed value: -"Rate card entries that changed nothing, with why."
      • removedOutput schema / $defs / ScopeResult / properties / rate_card_ignored / title
        Removed value: -"Rate Card Ignored"
      • removedOutput schema / $defs / ScopeResult / properties / refer_outs / title
        Removed value: -"Refer Outs"
      • removedOutput schema / $defs / ScopeResult / properties / summary / title
        Removed value: -"Summary"
      • removedOutput schema / $defs / ScopeResult / properties / trade_scopes / title
        Removed value: -"Trade Scopes"
      • removedOutput schema / $defs / ScopeResult / properties / unknowns / title
        Removed value: -"Unknowns"
      • removedOutput schema / $defs / ScopeResult / properties / warnings / title
        Removed value: -"Warnings"
      • removedOutput schema / $defs / ScopeResult / title
        Removed value: -"ScopeResult"
      • removedOutput schema / $defs / SourceRef / properties / id / title
        Removed value: -"Id"
      • removedOutput schema / $defs / SourceRef / properties / title / title
        Removed value: -"Title"
      • removedOutput schema / $defs / SourceRef / properties / url / title
        Removed value: -"Url"
      • removedOutput schema / $defs / SourceRef / title
        Removed value: -"SourceRef"
      • removedOutput schema / $defs / Suggestion / properties / code / title
        Removed value: -"Code"
      • removedOutput schema / $defs / Suggestion / properties / name / title
        Removed value: -"Name"
      • removedOutput schema / $defs / Suggestion / title
        Removed value: -"Suggestion"
      • removedOutput schema / $defs / Totals / properties / allowances / description
        Removed value: -"Budget allowance for quote-required lines (refer-outs, manual quotes). Shown outside the totals: subtotal and total never include it."
      • changedOutput schema / $defs / Totals / properties / note / default
        Previous value: -"must, should and could are work lines only. visit_charges (minimum call-out and trip fees, once per trade) are added on top: subtotal = must + should + could + visit_charges; total = subtotal + tax. allowances are outside the total."New value: +"must, should and could are work lines only. visit_charges (minimum call-out and trip fees, once per trade) are added on top: subtotal = must + should + could + visit_charges; total = subtotal + tax. allowances and to_confirm (uncertain items) are outside the total."
      • removedOutput schema / $defs / Totals / properties / note / description
        Removed value: -"How the totals add up."
      • removedOutput schema / $defs / Totals / properties / note / title
        Removed value: -"Note"
      • addedOutput schema / $defs / Totals / properties / to_confirm
        Added value: +{
        +  "$ref": "#/$defs/CostRange"
        +}
      • removedOutput schema / $defs / Totals / title
        Removed value: -"Totals"
      • removedOutput schema / $defs / Trade / title
        Removed value: -"Trade"
      • removedOutput schema / $defs / TradeScope / properties / line_ids / title
        Removed value: -"Line Ids"
      • removedOutput schema / $defs / TradeScope / title
        Removed value: -"TradeScope"
      • removedOutput schema / $defs / Uom / title
        Removed value: -"Uom"
      • removedOutput schema / $defs / Vendor / properties / contact / title
        Removed value: -"Contact"
      • removedOutput schema / $defs / Vendor / properties / name / title
        Removed value: -"Name"
      • removedOutput schema / $defs / Vendor / title
        Removed value: -"Vendor"
      • removedOutput schema / properties / client_refs / description
        Removed value: -"Your own ids, echoed when you sent client_refs."
      • removedOutput schema / properties / client_refs / title
        Removed value: -"Client Refs"
      • removedOutput schema / properties / input_hash / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / properties / input_hash / title
        Removed value: -"Input Hash"
      • removedOutput schema / properties / result_hash / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / properties / result_hash / title
        Removed value: -"Result Hash"
      • removedOutput schema / properties / run / description
        Removed value: -"Only with audit=true."
      • removedOutput schema / title
        Removed value: -"PropertyTurnoverScopeMcpResult"
  11. 5 tool updates
    • First observeddeposit_settlement_rules
    • First observeddeposit_settlement_settle
    • First observedproperty_turnover_issue_codes
    • First observedproperty_turnover_quick_estimate
    • First observedproperty_turnover_scope

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Landlord and rental-property calculators as MCP tools: cash flow, cap rate, DSCR, Airbnb break-even occupancy, rent late fees, lease notice dates, and IRS mileage. Offline and deterministic, with no dependencies.
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides AI agents with instant access to jurisdiction-specific landlord-tenant law data and verified state statutes across five US states and major cities. It enables users to query legal rules for security deposits, eviction timelines, and habitability standards with sub-10ms local response times.
    -
  • A
    license
    A
    quality
    A
    maintenance
    Multifamily real estate deal analysis — analyze deals, score properties, calculate max offer prices, and look up market data. Four tools for underwriting 2-200 unit apartment properties.
    4
    96 npm
    4
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.