{
  "version": "1.0",
  "status": "published",
  "note": "Single source of truth for the public specification: every check ID, name, family and public firing condition. Implementation detail for Sphinx-original checks (methods, parameters, thresholds) lives in a separate internal file that is never rendered or served.",
  "sphinx_original_count": 20,
  "total": 56,
  "families": [
    {
      "id": "c",
      "code": "RTL-C",
      "name": "Comparable selection",
      "section": "1.1",
      "description": "Whether the sales chosen actually support the conclusion. The recurring failure here isn't a bad comp, it's a thin set treated with the same confidence as a deep one.",
      "checks": [
        {
          "id": "RTL-C-01",
          "name": "Comparable count",
          "tests": "Number of closed sales used in the grid.",
          "fires_when": "Below 3 comparables",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-C-02",
          "name": "Distance",
          "tests": "Straight-line distance from subject to each comparable, banded against local transaction density rather than a fixed radius.",
          "fires_when": "Urban 0.5mi · suburban 1mi · rural 5mi",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-C-03",
          "name": "Comp set depth",
          "tests": "Count of qualifying sales available within the band, weighted by recency. Drives the width of the value range rather than a pass/fail.",
          "fires_when": "Comparable depth is thin for the submarket",
          "provenance": "sphinx_original",
          "output_type": "interval"
        },
        {
          "id": "RTL-C-04",
          "name": "Sale recency",
          "tests": "Median age of the comparable sales at the effective date.",
          "fires_when": "Above 180 days",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-C-05",
          "name": "Bracketing — living area",
          "tests": "At least one comparable above and one below the subject's gross living area, so the conclusion is interpolated rather than extrapolated.",
          "fires_when": "Comparables do not bracket the subject",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-C-06",
          "name": "Bracketing — sale price",
          "tests": "The same test on price. Failure here is the mechanical signature of a value reached for rather than derived.",
          "fires_when": "All comparables below the concluded value",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-C-07",
          "name": "Submarket match",
          "tests": "Whether comparables share census tract, school attendance zone, or subdivision with the subject.",
          "fires_when": "Below 2 in-tract comparables",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-C-08",
          "name": "Physical barriers",
          "tests": "Whether a highway, rail line, water body, or municipal boundary separates a comparable from the subject.",
          "fires_when": "Any barrier crossing",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-C-09",
          "name": "Superior comparables omitted",
          "tests": "Whether a closer, more recent, or more similar sale existed and was not used. Directional: only fires when the omitted sale would have lowered the value.",
          "fires_when": "A superior comparable was available and omitted",
          "provenance": "sphinx_original",
          "output_type": "dollar"
        },
        {
          "id": "RTL-C-10",
          "name": "Arm's-length status",
          "tests": "REO, short sale, estate, or related-party transactions used without disclosure or adjustment.",
          "fires_when": "Any undisclosed non-arm's-length sale",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-C-11",
          "name": "Comparable resale history",
          "tests": "Whether the comparables themselves were flips within the prior 12 months, which inflates the observed renovated-price band.",
          "fires_when": "A majority of comparables were recent flips",
          "provenance": "sphinx_original",
          "output_type": "interval"
        },
        {
          "id": "RTL-C-12",
          "name": "Closed versus pending",
          "tests": "Reliance on active listings or pending sales in place of closed transactions.",
          "fires_when": "Any pending or active listing in primary grid",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-C-13",
          "name": "Condition disclosed",
          "tests": "Whether a UAD condition rating is present for every comparable. Without it, RTL-V-01 and RTL-V-02 cannot run.",
          "fires_when": "Any missing condition rating",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-C-14",
          "name": "Duplicate or overlapping sales",
          "tests": "The same property appearing twice, or two units of one building treated as independent evidence.",
          "fires_when": "Any duplicate comparable",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-C-15",
          "name": "Market conditions adjustment",
          "tests": "Whether the appraiser's stated time adjustment on the Date of Sale/Time line matches the index-implied figure over each comparable's lag period. The backward-looking test for market conditions.",
          "fires_when": "Stated time adjustment is inconsistent with the index move over the comparable's own lag",
          "provenance": "sphinx_original",
          "output_type": "dollar"
        }
      ]
    },
    {
      "id": "a",
      "code": "RTL-A",
      "name": "Adjustments",
      "section": "1.2",
      "description": "Whether the grid's arithmetic is market-supported or reached for after the number was already chosen. The published research on appraisal overvaluation locates most of the distortion here.",
      "checks": [
        {
          "id": "RTL-A-01",
          "name": "Net adjustment ratio",
          "tests": "Sum of adjustments as a share of unadjusted sale price, per comparable.",
          "fires_when": "Above 15%",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-A-02",
          "name": "Gross adjustment ratio",
          "tests": "Absolute adjustments as a share of sale price, compared to the local median for the property type rather than a national figure.",
          "fires_when": "Above 25% or 1.5× local median",
          "provenance": "industry_baseline",
          "output_type": "dollar"
        },
        {
          "id": "RTL-A-03",
          "name": "Single-line cap",
          "tests": "Any one adjustment line exceeding a share of sale price.",
          "fires_when": "Above 10%",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-A-04",
          "name": "Cross-comparable consistency",
          "tests": "The same feature adjusted at materially different rates across comparables in one grid.",
          "fires_when": "Adjustment rates vary inconsistently across comparables",
          "provenance": "sphinx_original",
          "output_type": "flag"
        },
        {
          "id": "RTL-A-05",
          "name": "Direction sanity",
          "tests": "A comparable superior to the subject adjusted upward, or inferior adjusted downward.",
          "fires_when": "Any directional reversal",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-A-06",
          "name": "Living area rate",
          "tests": "The dollars-per-square-foot rate used for size adjustments, against observed local marginal rates.",
          "fires_when": "Outside 0.5×–1.5× local rate",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-A-07",
          "name": "Round-number clustering",
          "tests": "Adjustments landing on round figures across multiple comparables — habit rather than derivation, and a documented marker of post-hoc support.",
          "fires_when": "Round-number adjustments predominate",
          "provenance": "sphinx_original",
          "output_type": "interval"
        },
        {
          "id": "RTL-A-08",
          "name": "Condition adjustment versus rating",
          "tests": "Whether the dollar condition adjustment is consistent with the stated C-rating difference between subject and comparable.",
          "fires_when": "Rating and dollar adjustment are inconsistent",
          "provenance": "sphinx_original",
          "output_type": "dollar"
        },
        {
          "id": "RTL-A-09",
          "name": "Quality adjustment versus rating",
          "tests": "The same test on Q-ratings. Frequently the quiet source of an unsupported ARV.",
          "fires_when": "Rating and dollar adjustment are inconsistent",
          "provenance": "sphinx_original",
          "output_type": "dollar"
        },
        {
          "id": "RTL-A-10",
          "name": "Unadjusted material difference",
          "tests": "A stated difference in a value-relevant feature carrying no adjustment at all.",
          "fires_when": "Any unadjusted material difference",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-A-11",
          "name": "Support commentary present",
          "tests": "Whether the report explains how adjustment rates were derived, as USPAP requires.",
          "fires_when": "Adjustment support is absent",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-A-12",
          "name": "Conclusion inside the adjusted range",
          "tests": "Whether the reconciled value falls within the range of adjusted comparable values, and where inside it.",
          "fires_when": "Outside range or above 90th percentile",
          "provenance": "industry_baseline",
          "output_type": "flag"
        }
      ]
    },
    {
      "id": "v",
      "code": "RTL-V",
      "name": "The after-repair value",
      "section": "1.3",
      "special": "arv",
      "description": "No conventional review standard contains an equivalent to these, because a conventional appraisal values a house that already exists. Every one is computable from the appraisal and the budget alone.",
      "checks": [
        {
          "id": "RTL-V-01",
          "name": "Budget versus comparable finish level",
          "tests": "Whether the submitted budget funds the finish level of the comparable sales supporting the after-repair value.",
          "fires_when": "The budget falls materially short of the finish level implied by the comparables",
          "provenance": "sphinx_original",
          "output_type": "dollar"
        },
        {
          "id": "RTL-V-02",
          "name": "Are the supporting sales finished?",
          "tests": "C and Q ratings of the comparables used to support the ARV. If they are rated C3 or C4, the after-repair value rests on unrenovated stock.",
          "fires_when": "Comparables are not renovated to a finished standard",
          "provenance": "sphinx_original",
          "output_type": "flag"
        },
        {
          "id": "RTL-V-03",
          "name": "As-is plus budget reconciles to ARV",
          "tests": "The implied value lift against the budget. The relationship between renovation spend and value created should be plausible.",
          "fires_when": "The implied value lift is inconsistent with the renovation scope",
          "provenance": "sphinx_original",
          "output_type": "flag"
        },
        {
          "id": "RTL-V-04",
          "name": "ARV versus neighbourhood ceiling",
          "tests": "The concluded value against the highest recent sale and the 90th percentile dollars per square foot within the submarket.",
          "fires_when": "The ARV exceeds the neighbourhood ceiling",
          "provenance": "sphinx_original",
          "output_type": "dollar"
        },
        {
          "id": "RTL-V-05",
          "name": "Marketing time versus comparable days on market",
          "tests": "Whether the stated exposure period matches how the submarket actually clears at that price.",
          "fires_when": "Stated marketing time is inconsistent with submarket liquidity",
          "provenance": "sphinx_original",
          "output_type": "interval"
        }
      ]
    },
    {
      "id": "s",
      "code": "RTL-S",
      "name": "Subject & file integrity",
      "section": "1.4",
      "description": "The routine work that takes an underwriter twenty minutes and catches something roughly once a month. Low yield individually, which is exactly why it should be automated rather than skipped.",
      "checks": [
        {
          "id": "RTL-S-01",
          "name": "Living area versus public record",
          "tests": "Reported GLA against assessor data.",
          "fires_when": "Above 10% variance",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-02",
          "name": "Room count versus record",
          "tests": "Bedroom and bathroom counts against assessor data and prior listings.",
          "fires_when": "Any difference from record",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-03",
          "name": "Site size versus record",
          "tests": "Lot dimensions and acreage against parcel data.",
          "fires_when": "Above 10% variance",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-04",
          "name": "Year built versus record",
          "tests": "Stated construction year against assessor data, which also drives the hidden-condition reserve.",
          "fires_when": "Above 5 years variance",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-05",
          "name": "Zoning conformity",
          "tests": "Legal, legal non-conforming, or illegal use — and whether the completed project remains conforming.",
          "fires_when": "Non-conforming use",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-06",
          "name": "Subject resale within 12 months",
          "tests": "Prior transfer of the subject, and whether the appraiser disclosed and reconciled it.",
          "fires_when": "Undisclosed prior transfer",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-07",
          "name": "Contract price versus as-is opinion",
          "tests": "Whether the as-is conclusion lands suspiciously close to the purchase price — the anchoring signature.",
          "fires_when": "As-is opinion matches contract price suspiciously closely",
          "provenance": "sphinx_original",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-08",
          "name": "Highest and best use",
          "tests": "Stated, and consistent with the proposed scope of work.",
          "fires_when": "Absent or inconsistent with scope",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-09",
          "name": "Site value plausibility",
          "tests": "Ground-up only. Land value against recent lot sales in the submarket.",
          "fires_when": "Site value is inconsistent with local lot sales",
          "provenance": "sphinx_original",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-10",
          "name": "Permit status",
          "tests": "Ground-up and structural rehab. Issued, applied, by-right, or variance required — a completion probability rather than a value adjustment.",
          "fires_when": "Permits not yet issued",
          "provenance": "sphinx_original",
          "output_type": "interval"
        },
        {
          "id": "RTL-S-11",
          "name": "Photo coverage",
          "tests": "Interior, exterior, street scene, and a photo of every comparable.",
          "fires_when": "Any photo gap",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-12",
          "name": "Effective versus inspection date",
          "tests": "Gap between inspection and effective date, and between effective date and the credit decision.",
          "fires_when": "Above 30 days",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-13",
          "name": "Sketch or floor plan",
          "tests": "Present, and consistent with the stated living area.",
          "fires_when": "Absent or inconsistent",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-14",
          "name": "Adverse site conditions",
          "tests": "Easements, encroachments, slope, access, or external obsolescence noted and reconciled.",
          "fires_when": "Noted but unadjusted",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-15",
          "name": "Flood zone and environmental",
          "tests": "FEMA zone stated and consistent with mapping; environmental observations reconciled.",
          "fires_when": "Zone mismatch or unreconciled observation",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-S-16",
          "name": "Property value trend",
          "tests": "Whether the neighbourhood section's stated property-value trend (increasing, stable, declining) matches the direction of the submarket index over the trailing period.",
          "fires_when": "Stated trend contradicts observed market direction",
          "provenance": "sphinx_original",
          "output_type": "interval"
        }
      ]
    },
    {
      "id": "p",
      "code": "RTL-P",
      "name": "Appraiser",
      "section": "1.5",
      "description": "Licence and discipline are table stakes and already public. Whether this appraiser actually works this county is the one that predicts error, and the one nobody looks at. Outputs here are consumed as an internal adjustment — never as a ranking, never sent to the appraiser, and never a basis for requesting a revision.",
      "checks": [
        {
          "id": "RTL-P-01",
          "name": "Licence valid at effective date",
          "tests": "Active status in the relevant state at the date of value, not the date of review.",
          "fires_when": "Licence lapsed",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-P-02",
          "name": "Licence level versus assignment",
          "tests": "Licensed, certified residential, or certified general, against the complexity and value of the assignment.",
          "fires_when": "Under-credentialed for assignment",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-P-03",
          "name": "County coverage",
          "tests": "Share of this appraiser's observed prior assignments falling in the subject county. Assignment routed on cost or turn time is close to orthogonal to submarket knowledge.",
          "fires_when": "Limited experience in the subject county",
          "provenance": "sphinx_original",
          "output_type": "interval"
        },
        {
          "id": "RTL-P-04",
          "name": "Property type experience",
          "tests": "Prior work on this asset type — two-to-four unit, ground-up, unusual configurations.",
          "fires_when": "Limited experience with this property type",
          "provenance": "sphinx_original",
          "output_type": "interval"
        },
        {
          "id": "RTL-P-05",
          "name": "Disciplinary history",
          "tests": "State board actions and public sanctions.",
          "fires_when": "Any active disciplinary action",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-P-06",
          "name": "Supervisory signature",
          "tests": "Present where a trainee performed the inspection or prepared the report.",
          "fires_when": "Required and absent",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-P-07",
          "name": "USPAP certification",
          "tests": "Certification page complete, signed, and internally consistent with the report.",
          "fires_when": "Any certification defect",
          "provenance": "industry_baseline",
          "output_type": "flag"
        },
        {
          "id": "RTL-P-08",
          "name": "Turn time outlier",
          "tests": "Completion materially faster than this appraiser's own norm for comparable assignments.",
          "fires_when": "Turn time unusually fast for this appraiser",
          "provenance": "sphinx_original",
          "output_type": "interval"
        }
      ]
    }
  ]
}
