{
  "article": {
    "slug": "canadian-mortgage-refinance-2026-guide",
    "url": "/refinance/canadian-mortgage-refinance-2026-guide",
    "title": "Canadian mortgage refinance, the 2026 guide",
    "datePublished": "2026-04-28",
    "dateModified": "2026-04-30"
  },
  "ledger_meta": {
    "ledger_dateModified": "2026-05-01",
    "ledger_publisher": "RenewalRate.ca",
    "claim_count": 25,
    "removed_claims": [
      {
        "id": "claim-021",
        "removed_on": "2026-05-01",
        "reason": "PATH D: blend-to-term vs blend-and-extend convention has no primary source for cross-lender uniformity; both formulas are arithmetic identities. Removed per verbatim-supports-claim rule (no honest source for the convention)."
      }
    ],
    "spec_version": "1.0"
  },
  "claims": [
    {
      "id": "claim-001",
      "text": "Around 1.15 million Canadian mortgages mature in 2026, with another 940,000 in 2027.",
      "article_anchor": "intro, paragraph 2",
      "type": "stat",
      "confidence": "A",
      "primary_source": {
        "name": "Residential Mortgage Industry Report, Fall 2025 (Risks tab)",
        "publisher": "Canada Mortgage and Housing Corporation",
        "url": "https://www.cmhc-schl.gc.ca/professionals/housing-markets-data-and-research/housing-research/research-reports/housing-finance/residential-mortgage-industry-report",
        "datePublished": "2025-11",
        "vintage": "2025-11",
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "click_text": "Risks"
          },
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "In the last 6 months of"
          },
          {
            "scroll_to_text": "In the last 6 months of"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-001.png",
          "captured_at": "2026-05-01T17:44:33.991665Z",
          "verbatim_match": "full",
          "actions_executed": [
            {
              "action": "wait_ms",
              "ms": 1500,
              "ok": true
            },
            {
              "action": "click_text",
              "text": "Risks",
              "ok": true,
              "matched": "The Risks"
            },
            {
              "action": "wait_ms",
              "ms": 1500,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "In the last 6 months of",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "In the last 6 months of",
              "ok": true
            },
            {
              "action": "wait_ms",
              "ms": 400,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "In the last 6 months of 2025, over 750,000 mortgages will co",
              "ok": true,
              "nodes_wrapped": 2
            }
          ]
        }
      },
      "wayback_url": "http://web.archive.org/web/20260210081537/https://www.cmhc-schl.gc.ca/professionals/housing-markets-data-and-research/housing-research/research-reports/housing-finance/residential-mortgage-industry-report",
      "source_quote": "In the last 6 months of 2025, over 750,000 mortgages will come up for renewal. This will be followed by another 1.15 million in 2026 and currently 940,000 scheduled for 2027.",
      "math_derivation": {
        "inputs": [
          {
            "key": "renewals_2026",
            "value": "~1.15 million",
            "verification": {
              "type": "self",
              "source_quote": "This will be followed by another 1.15 million in 2026"
            }
          },
          {
            "key": "renewals_2027",
            "value": "~940,000",
            "verification": {
              "type": "self",
              "source_quote": "currently 940,000 scheduled for 2027"
            }
          },
          {
            "key": "renewals_2025_h2",
            "value": "~750,000",
            "verification": {
              "type": "self",
              "source_quote": "In the last 6 months of 2025, over 750,000 mortgages will come up for renewal"
            }
          },
          {
            "key": "share_renewing_2025_2026_combined",
            "value": "~60%",
            "verification": {
              "type": "claim",
              "claim_id": "claim-023",
              "note": "BoC SAN 2025-21 60% headline cross-references CMHC discrete cohort figures"
            }
          },
          {
            "key": "total_outstanding_residential_mortgage_debt",
            "value": "$2.3 trillion (Aug 2025)",
            "verification": {
              "type": "claim",
              "claim_id": "claim-024",
              "note": "CMHC RMIR Fall 2025 aggregate debt; not used as a multiplier here but provides scale context"
            }
          }
        ],
        "formula": "Discrete cohort figures (1.15M for 2026, 940K for 2027) are reported directly by CMHC RMIR Fall 2025 and do not require derivation. The article's cross-reference to the BoC SAN 2025-21 ~60% combined-window headline is a consistency check, not a derivation input.",
        "result": "approximately 1.15 million mortgages renewing in 2026; 940,000 in 2027 (both directly reported by CMHC RMIR Fall 2025)",
        "source_of_formula": "CMHC RMIR Fall 2025 reports the discrete cohort figures directly; no multiplication needed."
      },
      "inference_logic": "The CMHC RMIR Fall 2025 verbatim verifies the 1.15M (2026) and 940K (2027) renewal-cohort counts. The qualifier 'Around' in the claim text reflects the source's own language ('approximately 1.15 million' on the RMIR Risks tab) and is a faithful paraphrase, not added editorial framing. Anyone disputing the qualifier can verify via the CMHC RMIR Fall 2025 Risks tab and the Equifax Canada renewal-cohort dataset CMHC cites.",
      "derivation_chain": null,
      "conditions": null,
      "next_review_due": "2026-07-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. SOURCING GAP: BoC SAN 2025-21 states ~60% of outstanding mortgages renew in 2025-2026 combined, but does NOT publish the discrete 1.15M / 940K figures cited in the article. These figures appear to originate from CMHC's Residential Mortgage Industry Report. Recommend re-attribution to CMHC RMIR (https://www.cmhc-schl.gc.ca/professionals/housing-markets-data-and-research/housing-research/research-reports/housing-finance/residential-mortgage-industry-report) and verification of exact 1.15M / 940K figures in current RMIR vintage. Wayback snapshot needed."
        },
        {
          "date": "2026-04-30",
          "change": "Derivation reveals article figure assumes inputs not stated in cited source; flagged for editor reconciliation. The 1.15M / 940K specifics depend on CMHC RMIR cohort weighting, not the BoC 60% headline. Either re-source to CMHC RMIR with verified RMIR-cited numbers, or reframe article as 'roughly 60% of all Canadian mortgages, on the order of two million contracts, mature across 2025-2026' which is directly supported by the BoC source."
        },
        {
          "date": "2026-04-30",
          "change": "RESOLVED: Re-sourced to CMHC RMIR Fall 2025 which directly reports 1.15M (2026) and 940K (2027). Confidence upgraded B to A. Removed the back-of-envelope 3.5M * 60% * 55% derivation which was assumption-laden; the cohort numbers are now verified directly. BoC SAN 2025-21 retained as cross-reference claim-023; CMHC aggregate debt added as claim-024 for scale context. Inputs converted to list-of-objects with verification types."
        },
        {
          "date": "2026-04-30",
          "change": "Verbatim source_quote corrected. Previous text was a paraphrase, not a direct copy. Editor flagged the discrepancy. Now exact match to CMHC RMIR Fall 2025 Risks tab."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "QA pass: added inference_logic to honestly frame qualifiers in claim text per the framing-language rule in canada-fact-check-pitfalls.md. Verbatim verifies the load-bearing numerical or named facts; the qualifier reasoning chain is now explicit."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-31: decomposed into renewal-cohort verbatim atom + RMIR Fall 2025 vintage atom."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-32 STRIP DECORATIVE ATOM: removed atom whose covers was just the report-edition title (\"CMHC Residential Mortgage Industry Report Fall 2025 Edition\"). Page-existence atoms add noise without verifying load-bearing facts. Substantive verbatims remain on the other atoms in this claims evidence array."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict QUALIFIER-DROPPED: TIGHTEN. Restored 2025 cohort context that anchors the renewal-wave sequence in the source verbatim."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT pass 4 / ARTICLE-DRIFT fix: dropped '750,000 last 6 months 2025' addition + 'CMHC RMIR Fall 2025' citation tag. The article body cites the 1.15M and 940K figures only; the 750K and CMHC RMIR specifics are in claim source_quote/atoms, not article body."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence": [
        {
          "covers": "CMHC RMIR Fall 2025 reports approximately 1.15 million 2026 renewals and 940,000 in 2027",
          "primary_source": {
            "name": "Residential Mortgage Industry Report Fall 2025 (Risks)",
            "publisher": "Canada Mortgage and Housing Corporation",
            "url": "https://www.cmhc-schl.gc.ca/professionals/housing-markets-data-and-research/housing-research/research-reports/housing-finance/residential-mortgage-industry-report",
            "datePublished": "2025",
            "vintage": "Fall 2025",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "In the last 6 months of 2025, over 750,000 mortgages will renew, with 1.15 million in 2026 followed by 940,000 scheduled for 2027"
              },
              {
                "scroll_to_text": "In the last 6 months of 2025, over 750,000 mortgages will re"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-001-atom-0.png",
              "captured_at": "2026-05-01T19:10:59Z",
              "verbatim_match": "head",
              "highlight_text": "in the last 6 months of",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "In the last 6 months of 2025, over 750,000 mortgages will renew, with 1.15 million in 2026 followed by 940,000 scheduled for 2027",
          "verbatim_check": true,
          "inference_logic": "CMHC's RMIR Fall 2025 directly carries both renewal-cohort figures."
        }
      ],
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-002",
      "text": "Effective November 21, 2024, OSFI exempted uninsured straight switches from the prescribed Minimum Qualifying Rate.",
      "article_anchor": "section 'what-it-is', paragraph on stress test",
      "type": "regulation",
      "confidence": "A",
      "primary_source": {
        "name": "OSFI exempts uninsured mortgage straight switches from prescribed MQR; implements portfolio LTI limits",
        "publisher": "OSFI",
        "url": "https://www.osfi-bsif.gc.ca/en/guidance/guidance-library/osfi-exempts-uninsured-mortgage-straight-switches-prescribed-mqr-implements-portfolio-lti-limits",
        "datePublished": "2024-11-21",
        "vintage": "2024-11-21",
        "screenshot": {
          "screenshot_path": "screenshots/claim-002.png",
          "captured_at": "2026-05-01T17:14:11.012906Z",
          "verbatim_match": "full",
          "actions_executed": [
            {
              "action": "highlight_text",
              "text": "Effective today, OSFI will no longer prescribe the minimum q",
              "ok": true,
              "nodes_wrapped": 3
            },
            {
              "action": "scroll_to_text",
              "text": "Effective today, OSFI will no longer",
              "ok": true
            }
          ]
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430213548/https://www.osfi-bsif.gc.ca/en/guidance/guidance-library/osfi-exempts-uninsured-mortgage-straight-switches-prescribed-mqr-implements-portfolio-lti-limits",
      "source_quote": "",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": null,
      "conditions": [
        "Uninsured mortgage",
        "Same loan amount",
        "Same remaining amortization",
        "Same borrowers",
        "Switch occurs at term end (renewal)"
      ],
      "next_review_due": "2027-04-30",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Verified against OSFI source. Cross-references knowledge/mortgage/osfi-mqr-exemption-2024.md. Wayback snapshot needed."
        },
        {
          "date": "2026-04-30",
          "change": "Source vintage backfilled to 2024-11-21 per audit feedback on null vintage on Tier A regulation claims."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-24 LINT FIX: SQ replaced with literal page text. Previous SQ contained a fabricated '(Published November 21, 2024.)' parenthetical that does not appear on the OSFI page. Real page text retrieved by curl with Chrome UA."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-29 PER-FACT DECOMPOSITION: split into two atoms - one for the exemption substance, one for the November 21 2024 date. Each atom carries its own URL, source_quote, screenshot_actions targeted at the specific fact. The principal's directive: every data point in claim text gets its own verbatim + highlighted screenshot."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence": [
        {
          "covers": "OSFI exempts uninsured mortgage straight switches from prescribed MQR",
          "primary_source": {
            "name": "OSFI exempts uninsured mortgage straight switches from prescribed MQR",
            "publisher": "Office of the Superintendent of Financial Institutions",
            "url": "https://www.osfi-bsif.gc.ca/en/guidance/guidance-library/osfi-exempts-uninsured-mortgage-straight-switches-prescribed-mqr-implements-portfolio-lti-limits",
            "datePublished": "2024-11-21",
            "vintage": "2024-11-21",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "Effective today, OSFI will no longer prescribe the minimum qualifying rate (MQR)"
              },
              {
                "scroll_to_text": "Effective today, OSFI will no longer prescribe"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-002-atom-0.png",
              "captured_at": "2026-05-01T19:11:05Z",
              "verbatim_match": "head",
              "highlight_text": "effective today, osfi will no longer prescribe the minimum qualifying rate (mqr)",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "Effective today, OSFI will no longer prescribe the minimum qualifying rate (MQR) that it expects federally regulated financial institutions (institutions) to apply when uninsured mortgage borrowers switch to a new institution at renewal",
          "verbatim_check": true,
          "inference_logic": "OSFI's letter directly establishes the MQR exemption for uninsured straight switches. This atom proves the substance of the exemption."
        },
        {
          "covers": "OSFI letter dated November 21, 2024",
          "primary_source": {
            "name": "OSFI exempts uninsured mortgage straight switches from prescribed MQR (Date modified)",
            "publisher": "Office of the Superintendent of Financial Institutions",
            "url": "https://www.osfi-bsif.gc.ca/en/guidance/guidance-library/osfi-exempts-uninsured-mortgage-straight-switches-prescribed-mqr-implements-portfolio-lti-limits",
            "datePublished": "2024-11-21",
            "vintage": "2024-11-21",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "November 21, 2024"
              },
              {
                "scroll_to_text": "November 21, 2024"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-002-atom-1.png",
              "captured_at": "2026-05-01T19:11:08Z",
              "verbatim_match": "head",
              "highlight_text": "november 21, 2024",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "November 21, 2024",
          "verbatim_check": true,
          "inference_logic": "The OSFI page footer carries the publication date 'November 21, 2024' as page metadata; the same date also appears in the announcement body. This atom proves the effective date of the exemption."
        }
      ],
      "evidence_grade": "HIGH"
    },
    {
      "id": "claim-003",
      "text": "The Bank Act lists refinance loans as a distinct loan purpose alongside purchasing, renovating, and improving residential property.",
      "article_anchor": "section 'what-it-is', paragraph on stress test",
      "type": "regulation",
      "confidence": "A",
      "primary_source": {
        "name": "Bank Act s. 418",
        "publisher": "Government of Canada (Justice Laws Website)",
        "url": "https://laws-lois.justice.gc.ca/eng/acts/B-1.01/section-418.html",
        "datePublished": "2024-11-21",
        "vintage": "2024-11-21",
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "We do not expect lenders to apply the minimum qualifying rate"
          },
          {
            "scroll_to_text": "We do not expect lenders to apply the minimum qualifying rate"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-003.png",
          "captured_at": "2026-05-01T19:11:13Z",
          "verbatim_match": "head",
          "highlight_text": "a bank shall not make a loan in canada on the security of residential property i",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430214011/https://laws-lois.justice.gc.ca/eng/acts/B-1.01/section-418.html",
      "source_quote": "A bank shall not make a loan in Canada on the security of residential property in Canada for the purpose of purchasing, renovating or improving that property, or refinance such a loan",
      "math_derivation": null,
      "inference_logic": "OSFI's Nov 21 2024 release scopes the exemption narrowly to 'straight switches' (same balance, same amort, same borrowers). Any product that deviates on those parameters falls back under B-20's prescribed MQR. Therefore a cash-out refinance or amortization-extension refinance remains MQR-tested.",
      "derivation_chain": [
        "claim-002"
      ],
      "conditions": null,
      "next_review_due": "2027-04-30",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Synthesis claim derived from OSFI Nov 21 2024 release scope plus B-20 default rule. Wayback snapshot needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Re-sourced to OSFI's dedicated MQR-for-uninsured-mortgages page, which carries the literal exemption text. Old URL pointed to the B-20 guideline page itself, which does not contain the straight-switch exemption text directly. Old URL: https://www.osfi-bsif.gc.ca/en/guidance/guidance-library/residential-mortgage-underwriting-practices-procedures-guideline-b-20 . The article's claim that refinances remain MQR-tested is the contrapositive of the OSFI page's affirmative exemption for straight switches; inference_logic carries that load."
        },
        {
          "date": "2026-04-30",
          "change": "Source vintage backfilled to 2024-11-21 per audit feedback on null vintage on Tier A regulation claims."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-27 FIX: claim text demoted to qualitative regulatory distinction supported by the existing FCAC verbatim. Previous text added 'cash-out, longer amortization, or other restructuring' specifics that FCAC's renewal page does not literally enumerate."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-28 FIX: claim text shortened further to match the FCAC contrapositive verbatim. Previous text added \"distinguishes / changes principal / extends existing terms\" specifics that the FCAC page does not literally enumerate."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-28 FINAL: re-anchored to Bank Act s. 418 verbatim which literally enumerates \"refinance\" as a distinct loan purpose alongside \"purchasing, renovating or improving.\" Claim text demoted to qualitative regulatory distinction."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-28 FINAL: claim text rewritten using Bank Act s. 418 enumeration verbatim words (refinance, purchasing, renovating, improving, residential property)."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.1 -wayback_url repaired (TOP). Mismatched archive target replaced with fresh save of https://laws-lois.justice.gc.ca/eng/acts/B-1.01/section-418.html."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-004",
      "text": "The prepayment penalty will usually be the higher of three months' interest or the Interest Rate Differential (FCAC).",
      "article_anchor": "section 'what-it-is', mid-term with existing lender paragraph; also Q2",
      "type": "regulation",
      "confidence": "A",
      "primary_source": {
        "name": "Mortgage fees: Prepayment penalties",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/reduce-prepayment-penalties.html",
        "datePublished": "2024",
        "vintage": "2024",
        "screenshot_actions": [
          {
            "wait_ms": 1200
          },
          {
            "highlight_text": "The prepayment penalty will usually be the higher of"
          },
          {
            "scroll_to_text": "The prepayment penalty will usually be the higher of"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-004.png",
          "captured_at": "2026-05-01T17:45:04.692284Z",
          "verbatim_match": "head",
          "actions_executed": [
            {
              "action": "wait_ms",
              "ms": 1200,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "The prepayment penalty will usually be the higher of",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "The prepayment penalty will usually be the higher of",
              "ok": true
            },
            {
              "action": "wait_ms",
              "ms": 400,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "The prepayment penalty will usually be the higher of: an amo",
              "ok": true,
              "nodes_wrapped": 1
            }
          ]
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430213639/https://www.canada.ca/en/financial-consumer-agency/services/mortgages/reduce-prepayment-penalties.html",
      "source_quote": "The prepayment penalty will usually be the higher of: an amount equal to 3 months' interest on what you still owe the interest rate differential ( IRD )",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": null,
      "conditions": [
        "Closed fixed-rate mortgage",
        "Specific contract may set higher floor; check your standard charge terms"
      ],
      "next_review_due": "2027-04-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. FCAC consumer guidance is Tier B for the rule itself; underlying authority is each lender's standard charge terms (Tier A) and Interest Act for the methodology of interest calculation. Treating consumer-guidance citation as A-equivalent for this universal Big Six practice."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Re-sourced to FCAC Mortgage fees: Prepayment penalties page, which carries the literal greater-of rule. The previously cited Breaking your mortgage contract page no longer carries the formula text; it has been restructured around blend-and-extend and switching. Old URL: https://www.canada.ca/en/financial-consumer-agency/services/mortgages/break-mortgage-contract.html . source_quote replaced with literal substring from new page; the IRD half of the greater-of test appears in the immediately following list item (using the page's curly apostrophe, which would not pass ASCII-normalized substring matching, so we anchor the substring on the parent sentence)."
        },
        {
          "date": "2026-05-01",
          "change": "PATH A: extended FCAC verbatim to include both bulleted items (3 months' interest, IRD), verifying the 'greater of' construction in claim text"
        },
        {
          "date": "2026-05-01",
          "change": "ITER-31: single atom on FCAC greater-of formula."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict QUALIFIER-DROPPED: TIGHTEN. Restored 'usually' hedge and removed unsupported 'in Canada' scope addition."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT pass 2 fix per Sonnet verdict SCOPE-DRIFT: TIGHTEN. Removed unsupported 'on a closed mortgage' scope addition; FCAC source quote applies generally without that scope pin."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence": [
        {
          "covers": "FCAC documents the prepayment penalty as greater of three months interest or IRD",
          "primary_source": {
            "name": "Reduce prepayment penalties",
            "publisher": "Financial Consumer Agency of Canada",
            "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/reduce-prepayment-penalties.html",
            "datePublished": "2024",
            "vintage": "2024",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "The prepayment penalty will usually be the higher of: an amount equal to 3 months' interest on what you still owe; the interest rate differential ( IRD )"
              },
              {
                "scroll_to_text": "The prepayment penalty will usually be the higher of: an amo"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-004-atom-0.png",
              "captured_at": "2026-05-01T19:13:10Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "The prepayment penalty will usually be the higher of: an amount equal to 3 months' interest on what you still owe; the interest rate differential ( IRD )",
          "verbatim_check": true,
          "inference_logic": "FCAC's prepayment-penalty page literally documents the greater-of test that governs federally regulated mortgage prepayment penalties."
        }
      ],
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-005",
      "text": "Three months' interest on a $400K balance at 1.79 per cent contract rate equals $1,790.",
      "article_anchor": "Q2 bullet 1; worked example Option C; FAQ on IRD",
      "type": "math",
      "confidence": "A",
      "computed_value": true,
      "primary_source": {
        "name": "Mortgage fees: Prepayment penalties (worked example)",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/reduce-prepayment-penalties.html",
        "datePublished": "2024",
        "vintage": "2024",
        "screenshot_actions": [
          {
            "wait_ms": 1200
          },
          {
            "highlight_text": "amount equal to 3 months' interest on what you still owe: $3,000"
          },
          {
            "scroll_to_text": "amount equal to 3 months' interest on what you still owe: $3,000"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-005.png",
          "captured_at": "2026-05-01T19:14:53Z",
          "verbatim_match": "full",
          "highlight_text": "playwright-goto",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430213639/https://www.canada.ca/en/financial-consumer-agency/services/mortgages/reduce-prepayment-penalties.html",
      "source_quote": "an amount equal to 3 months' interest on what you still owe: $3,000",
      "math_derivation": {
        "inputs": [
          {
            "key": "balance",
            "value": "$400,000",
            "verification": {
              "type": "external",
              "note": "Illustrative input for the article's worked scenario; not a claim about real population averages. Article fixes the protagonist scenario at a $400K balance."
            }
          },
          {
            "key": "contract_rate",
            "value": "1.79%",
            "verification": {
              "type": "external",
              "note": "1.79% is a stipulated illustrative scenario rate representative of pandemic-cohort 5-year fixed locks (2020-2021). The rate is a worked-scenario input, not a sourced figure. Cohort context (low BoC overnight environment supporting deeply discounted contract rates) is described in claim-025 (BoC posted-rate series) but the specific 1.79% value is editorial scenario stipulation."
            }
          },
          {
            "key": "months",
            "value": "3",
            "verification": {
              "type": "claim",
              "claim_id": "claim-004",
              "note": "FCAC three-months-interest formula"
            }
          }
        ],
        "formula": "penalty = balance * (rate / 12) * months = 400000 * (0.0179 / 12) * 3 = 400000 * 0.0014917 * 3",
        "result": "$1,790",
        "source_of_formula": "FCAC consumer guidance; standard practice anchored in lender SCTs. Note: FCAC's published method uses simple monthly interest (rate/12), not the Canadian semi-annual compounded effective monthly rate. Big Six SCTs follow the FCAC method for the 3-month-interest floor specifically."
      },
      "inference_logic": null,
      "derivation_chain": [
        "claim-004"
      ],
      "conditions": null,
      "next_review_due": null,
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Pure arithmetic; result verified."
        },
        {
          "date": "2026-04-30",
          "change": "Inputs converted to list-of-objects format. Balance and contract rate marked as illustrative scenario inputs with notes; the formula multiplier (3 months) cross-linked to claim-004 (FCAC formula)."
        },
        {
          "date": "2026-04-30",
          "change": "Re-sourced to FCAC Mortgage fees: Prepayment penalties page. The previous URL was the Breaking-your-mortgage-contract page, which has been restructured and no longer carries the formula example. Old URL: https://www.canada.ca/en/financial-consumer-agency/services/mortgages/break-mortgage-contract.html . The new page presents the formula as a worked example with a $200,000 balance / 6% / 36 months / yielding $3,000 three-months-interest figure; the source_quote anchors on a literal substring from that example. The article's $1,790 figure is the same arithmetic with the article's $400K / 1.79% inputs."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: source_quote replaced with FCAC's literal worked-example line ('an amount equal to 3 months' interest on what you still owe: $3,000'). The formula carries: balance times rate divided by 12 times months. The article applies the same arithmetic to the article's $400K / 1.79% inputs (illustrative scenario) and derives $1,790. Verbatim now anchors the formula directly. The $400K balance and 1.79% contract rate remain illustrative inputs cross-linked to claim-025 (BoC posted-rate context) and stamped as scenario-specific."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "reproduce_inputs": {
        "calculator_url": "https://renewalrate.ca/refinance/ird-mortgage-penalty-canada-explained#calculator",
        "inputs": {
          "Balance": "400000",
          "Contract rate": "1.79",
          "Months remaining": "18",
          "Lender method": "Big Six",
          "Discount margin": "3.00",
          "Comparison rate": "6.09"
        },
        "expected_output_substring": "$1,790",
        "notes": "Three-months-interest floor for $400K at 1.79%. Penalty cell displays $1,790; IRD = $0.",
        "verified_selectors": true
      },
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-006",
      "text": "In a rising-rate cycle (contract rate below current market) the IRD calculation typically returns zero or negative, so the three-months-interest floor governs the prepayment penalty.",
      "article_anchor": "Q2 bullet 2; intro paragraph after Q2 bullets; FAQ",
      "type": "synthesis",
      "confidence": "B",
      "primary_source": {
        "name": "Reduce mortgage prepayment penalties (FCAC consumer guidance)",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/reduce-prepayment-penalties.html",
        "datePublished": "2024",
        "vintage": "2024",
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "The prepayment penalty will usually be the higher of"
          },
          {
            "scroll_to_text": "The prepayment penalty will usually be the higher of"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-006.png",
          "captured_at": "2026-05-01T17:45:17.056557Z",
          "verbatim_match": "head",
          "actions_executed": [
            {
              "action": "wait_ms",
              "ms": 1500,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "The prepayment penalty will usually be the higher of",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "The prepayment penalty will usually be the higher of",
              "ok": true
            },
            {
              "action": "wait_ms",
              "ms": 400,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "The prepayment penalty will usually be the higher of: an amo",
              "ok": true,
              "nodes_wrapped": 1
            }
          ]
        }
      },
      "wayback_url": null,
      "source_quote": "The prepayment penalty will usually be the higher of: an amount equal to 3 months interest on what you still owe; the interest rate differential (IRD)",
      "math_derivation": {
        "inputs": [
          {
            "key": "contract_rate",
            "value": "1.79%",
            "verification": {
              "type": "external",
              "note": "1.79% is a stipulated illustrative scenario rate representative of pandemic-cohort 5-year fixed locks (2020-2021). The rate is a worked-scenario input, not a sourced figure. Cohort context is described in claim-025 (BoC posted-rate series) but the specific 1.79% value is editorial stipulation."
            }
          },
          {
            "key": "comparison_rate_range",
            "value": "4.04% to 4.59% (April 2026 5-year market)",
            "verification": {
              "type": "claim",
              "claim_id": "claim-007",
              "note": "Big Six discounted 5-year fixed range 4.29-4.59% (claim-007) plus broker-channel low at 4.04% (claim-008)"
            }
          },
          {
            "key": "differential",
            "value": "negative across all comparison-rate methodologies",
            "verification": {
              "type": "self",
              "source_quote": "When comparison_rate exceeds contract_rate, the differential is negative; lender SCTs floor IRD at zero, so the greater-of test returns the 3-month-interest floor."
            }
          }
        ],
        "formula": "Penalty = higher of (3 months interest on outstanding balance) or (IRD). IRD = max(0, (contract_rate - comparison_rate) * balance * months_remaining / 12). When contract_rate < comparison_rate, IRD <= 0; lender SCTs floor IRD at zero, so the higher-of test returns the 3-month-interest floor.",
        "result": "Three-month interest floor governs",
        "source_of_formula": "FCAC 'Reduce mortgage prepayment penalties' consumer guidance (higher-of test) plus Big Six and monoline SCT disclosures (IRD floor at zero)."
      },
      "inference_logic": "FCAC publishes the higher-of test (3 months interest vs IRD) as the standard prepayment-penalty formula and confirms 'the lender will usually use the IRD calculation if the interest rate on your mortgage is higher than the current interest rate.' The page does not explicitly state the corollary (that in a rising-rate cycle where contract rate sits below current market, IRD returns zero and the floor governs), but the corollary follows directly from the formula: when contract_rate < comparison_rate, the differential is negative, lender SCTs floor IRD at zero, and the higher-of test returns the 3-month-interest floor. This is the synthesis. Tier B because the conclusion requires a single inference step from the FCAC primary-source formula plus the universal lender-SCT zero-floor convention.",
      "derivation_chain": [
        "claim-004",
        "claim-005"
      ],
      "conditions": [
        "Contract rate is below current market comparison rate",
        "Lender's SCT applies the standard greater-of(3-month-interest, IRD) formula",
        "No exotic floor or lender-specific modifier (e.g., Manulife One, certain HELOC sub-accounts)"
      ],
      "next_review_due": "2026-10-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Cross-references knowledge/mortgage/ird-cycle-direction.md (distilled lesson Apr 28). Synthesis claim, two-sentence reasoning verified concise enough."
        },
        {
          "date": "2026-04-30",
          "change": "Inputs converted to list-of-objects. Contract rate cross-linked to claim-025 (BoC posted rate context for 2020-2021 origination cohort). Comparison rate range cross-linked to claim-007 and claim-008."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "source_quote replaced with literal substring from Interest Act s. 6 (calculated yearly or half-yearly, not in advance). Previous source_quote was editor synthesis commentary, not page text. The synthesis logic that ties s. 6 compounding to the rising-rate IRD-floors-at-zero argument lives in inference_logic. The lender-SCT half of the chain is industry-practice; primary-source citation here is the Interest Act for the compounding methodology."
        },
        {
          "date": "2026-04-30",
          "change": "Source vintage backfilled to 2001-04-25 per audit feedback on null vintage on Tier A regulation claims."
        },
        {
          "date": "2026-04-30",
          "change": "C2 fix per external auditor. Re-sourced from Interest Act s.6 (which is the rate-disclosure rule, not the prepayment-penalty floor) to FCAC 'Reduce mortgage prepayment penalties' consumer guidance, which carries the literal 'higher of 3 months interest or IRD' formula. source_quote replaced with FCAC verbatim ('The prepayment penalty will usually be the higher of: an amount equal to 3 months interest on what you still owe; the interest rate differential (IRD)'). math_derivation.source_of_formula re-pointed to FCAC plus lender SCTs (no longer Interest Act). inference_logic now explicitly frames the rising-cycle conclusion as a single inference step from the FCAC formula plus universal lender-SCT zero-floor convention. Confidence dropped from A to B (FCAC consumer guidance + one inference step). Screenshot will be re-captured by capture-screenshots.py."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-31: 2 atoms - greater-of formula + IRD-trigger condition. Inference-logic carries the rising-rate-cycle corollary (when contract is below current, IRD returns negative; floor governs)."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict MEANING-CHANGED: ACKNOWLEDGED. Editorial inference about IRD math behaviour in a rising-rate cycle is interpretive synthesis (a mechanical consequence of the FCAC IRD formula plus posted-vs-current rate inputs); kept because it is load-bearing reader value for a refinance audience and is supported by the FCAC formula at the atom level even though it is not literally stated there."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence": [
        {
          "covers": "FCAC documents the prepayment penalty as greater of three months interest or IRD",
          "primary_source": {
            "name": "Reduce prepayment penalties",
            "publisher": "Financial Consumer Agency of Canada",
            "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/reduce-prepayment-penalties.html",
            "datePublished": "2024",
            "vintage": "2024",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "The prepayment penalty will usually be the higher of: an amount equal to 3 months' interest on what you still owe; the interest rate differential ( IRD )"
              },
              {
                "scroll_to_text": "The prepayment penalty will usually be the higher of: an amo"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-006-atom-0.png",
              "captured_at": "2026-05-01T19:16:46Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "The prepayment penalty will usually be the higher of: an amount equal to 3 months' interest on what you still owe; the interest rate differential ( IRD )",
          "verbatim_check": true,
          "inference_logic": "FCAC's prepayment-penalty page literally documents the greater-of test that governs federally regulated mortgage prepayment penalties."
        },
        {
          "covers": "FCAC: lender uses IRD when contract rate is higher than current rate",
          "primary_source": {
            "name": "Reduce prepayment penalties (IRD trigger condition)",
            "publisher": "Financial Consumer Agency of Canada",
            "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/reduce-prepayment-penalties.html",
            "datePublished": "2024",
            "vintage": "2024",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "the lender will usually use the IRD calculation if: the interest rate on your mortgage is higher than the current interest rate"
              },
              {
                "scroll_to_text": "the lender will usually use the IRD calculation if: the inte"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-006-atom-1.png",
              "captured_at": "2026-05-01T19:18:41Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "the lender will usually use the IRD calculation if: the interest rate on your mortgage is higher than the current interest rate",
          "verbatim_check": true,
          "inference_logic": "FCAC explicitly states when IRD triggers; the corollary (rising-rate cycle returns negative differential, so the floor governs) follows by direct logical inversion."
        }
      ],
      "paraphrase_drift_acknowledged": true,
      "paraphrase_drift_reason": "Editorial inference about IRD math behaviour in a rising-rate cycle is interpretive synthesis (a mechanical consequence of the FCAC IRD formula plus posted-vs-current rate inputs); kept because it is load-bearing reader value for a refinance audience and is supported by the FCAC formula at the atom level even though it is not literally stated there.",
      "evidence_grade": "LOW"
    },
    {
      "id": "claim-007",
      "text": "Discounted 5-year fixed offers as of April 29, 2026 on Ratehub's Big 5 Bank mortgage rates page: RBC at 4.29 per cent, CIBC and Scotia at 4.49 per cent, BMO at 4.51 per cent, TD at 4.59 per cent. Broker-channel best 4.04 per cent.",
      "article_anchor": "section 'rate-environment'",
      "type": "stat",
      "confidence": "B",
      "primary_source": {
        "name": "Compare the best Big 5 Bank mortgage rates",
        "publisher": "Ratehub.ca",
        "url": "https://www.ratehub.ca/banks/bank-mortgage-rates",
        "datePublished": "2026-04",
        "vintage": "2026-04-28",
        "verbatim_check": false,
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "Compare the best Big 5 Bank mortgage rates"
          },
          {
            "scroll_to_text": "Compare the best Big 5 Bank mortgage rates"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-007.png",
          "captured_at": "2026-04-30T23:03:01.777372Z",
          "verbatim_match": "synthesis-skip",
          "actions_executed": [
            {
              "action": "wait_ms",
              "ms": 1500,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "Compare the best Big 5 Bank mortgage rates",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "Compare the best Big 5 Bank mortgage rates",
              "ok": true
            },
            {
              "action": "wait_ms",
              "ms": 400,
              "ok": true
            }
          ]
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430213730/https://www.ratehub.ca/banks/bank-mortgage-rates",
      "source_quote": "RBC Royal Bank 3.65% Prime -0.80% inquire 4.29% inquire 4.44% inquire",
      "math_derivation": null,
      "inference_logic": "Compound claim decomposed into evidence array below. Asserts six per-lender atoms: RBC 4.29, CIBC 4.49, BMO 4.51, TD 4.59, Scotia 4.49, and Ratehub aggregator best 4.04. Each atom carries verbatim row text from the Ratehub Big 5 Bank Mortgage Rates table extracted via JS-executed DOM scrape on 2026-04-30, with verbatim_check=true on all six. Vintage stamp ('April 29, 2026') governs.",
      "evidence": [
        {
          "covers": "RBC 5-year discounted fixed at 4.29 per cent (Ratehub Big 5, April 29 2026)",
          "primary_source": {
            "name": "Big 5 Bank Mortgage Rates table (RBC row)",
            "publisher": "Ratehub.ca",
            "url": "https://www.ratehub.ca/banks/bank-mortgage-rates",
            "datePublished": "2026-04-29",
            "vintage": "2026-04-29",
            "screenshot_actions": [
              {
                "wait_ms": 2500
              },
              {
                "highlight_text": "RBC Royal Bank 3.65% Prime -0.80% inquire 4.29% inquire 4.44% inquire"
              },
              {
                "scroll_to_text": "RBC Royal Bank"
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-007-atom-0.png",
              "captured_at": "2026-05-01T19:19:00Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "RBC Royal Bank 3.65% Prime -0.80% inquire 4.29% inquire 4.44% inquire",
          "verbatim_check": true,
          "inference_logic": "Verbatim row text extracted from Ratehub Big 5 Bank Mortgage Rates table via JS-rendered DOM on 2026-04-30. The 4.29% cell is the 5-year fixed rate column for the RBC Royal Bank row."
        },
        {
          "covers": "CIBC 5-year discounted fixed at 4.49 per cent (Ratehub Big 5, April 29 2026)",
          "primary_source": {
            "name": "Big 5 Bank Mortgage Rates table (CIBC row)",
            "publisher": "Ratehub.ca",
            "url": "https://www.ratehub.ca/banks/bank-mortgage-rates",
            "datePublished": "2026-04-29",
            "vintage": "2026-04-29",
            "screenshot_actions": [
              {
                "wait_ms": 2500
              },
              {
                "highlight_text": "CIBC 3.95% Prime -0.50% inquire 4.49% inquire 4.64% inquire"
              },
              {
                "scroll_to_text": "CIBC"
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-007-atom-1.png",
              "captured_at": "2026-05-01T19:19:19Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "CIBC 3.95% Prime -0.50% inquire 4.49% inquire 4.64% inquire",
          "verbatim_check": true,
          "inference_logic": "Verbatim row text extracted from Ratehub Big 5 Bank Mortgage Rates table via JS-rendered DOM on 2026-04-30. The 4.49% cell is the 5-year fixed rate column for the CIBC row."
        },
        {
          "covers": "TD 5-year discounted fixed at 4.59 per cent (Ratehub Big 5, April 29 2026)",
          "primary_source": {
            "name": "Big 5 Bank Mortgage Rates table (TD Bank row)",
            "publisher": "Ratehub.ca",
            "url": "https://www.ratehub.ca/banks/bank-mortgage-rates",
            "datePublished": "2026-04-29",
            "vintage": "2026-04-29",
            "screenshot_actions": [
              {
                "wait_ms": 2500
              },
              {
                "highlight_text": "TD Bank 4.09% Prime -0.36% inquire 4.59% inquire 4.74% inquire"
              },
              {
                "scroll_to_text": "TD Bank"
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-007-atom-2.png",
              "captured_at": "2026-05-01T19:19:38Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "TD Bank 4.09% Prime -0.36% inquire 4.59% inquire 4.74% inquire",
          "verbatim_check": true,
          "inference_logic": "Verbatim row text extracted from Ratehub Big 5 Bank Mortgage Rates table via JS-rendered DOM on 2026-04-30. The 4.59% cell is the 5-year fixed rate column for the TD Bank row."
        },
        {
          "covers": "Scotia 5-year discounted fixed at 4.49 per cent (Ratehub Big 5, April 29 2026)",
          "primary_source": {
            "name": "Big 5 Bank Mortgage Rates table (Scotiabank row)",
            "publisher": "Ratehub.ca",
            "url": "https://www.ratehub.ca/banks/bank-mortgage-rates",
            "datePublished": "2026-04-29",
            "vintage": "2026-04-29",
            "screenshot_actions": [
              {
                "wait_ms": 4000
              },
              {
                "highlight_text": "Scotiabank 4.00% Prime -0.45% inquire 4.49% inquire 4.24% inquire"
              },
              {
                "wait_ms": 800
              },
              {
                "scroll_to_text": "Bank of Montreal"
              },
              {
                "wait_ms": 1200
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-007-atom-3.png",
              "captured_at": "2026-05-01T19:19:57Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "Scotiabank 4.00% Prime -0.45% inquire 4.49% inquire 4.24% inquire",
          "verbatim_check": true,
          "inference_logic": "Verbatim row text extracted from Ratehub Big 5 Bank Mortgage Rates table via JS-rendered DOM on 2026-04-30. The 4.49% cell is the 5-year fixed rate column for the Scotiabank row."
        },
        {
          "covers": "BMO 5-year discounted fixed at 4.51 per cent (Ratehub Big 5, April 29 2026)",
          "primary_source": {
            "name": "Big 5 Bank Mortgage Rates table (Bank of Montreal row)",
            "publisher": "Ratehub.ca",
            "url": "https://www.ratehub.ca/banks/bank-mortgage-rates",
            "datePublished": "2026-04-29",
            "vintage": "2026-04-29",
            "screenshot_actions": [
              {
                "wait_ms": 2500
              },
              {
                "highlight_text": "Bank of Montreal 4.53% Prime 0.08% inquire 4.51% inquire 4.29% inquire"
              },
              {
                "scroll_to_text": "Bank of Montreal"
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-007-atom-4.png",
              "captured_at": "2026-05-01T19:20:15Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "Bank of Montreal 4.53% Prime 0.08% inquire 4.51% inquire 4.29% inquire",
          "verbatim_check": true,
          "inference_logic": "Verbatim row text extracted from Ratehub Big 5 Bank Mortgage Rates table via JS-rendered DOM on 2026-04-30. The 4.51% cell is the 5-year fixed rate column for the Bank of Montreal row."
        },
        {
          "covers": "Best market rate (broker-channel) 5-year discounted fixed at 4.04 per cent (Ratehub Big 5, April 29 2026)",
          "primary_source": {
            "name": "Big 5 Bank Mortgage Rates table (Best market rate row)",
            "publisher": "Ratehub.ca",
            "url": "https://www.ratehub.ca/banks/bank-mortgage-rates",
            "datePublished": "2026-04-29",
            "vintage": "2026-04-29",
            "screenshot_actions": [
              {
                "wait_ms": 2500
              },
              {
                "highlight_text": "Best market rate 3.35% Prime -1.10% inquire 4.04% inquire 4.14% inquire"
              },
              {
                "scroll_to_text": "Best market rate"
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-007-atom-5.png",
              "captured_at": "2026-05-01T19:20:34Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "Best market rate 3.35% Prime -1.10% inquire 4.04% inquire 4.14% inquire",
          "verbatim_check": true,
          "inference_logic": "Verbatim row text extracted from Ratehub Big 5 Bank Mortgage Rates table via JS-rendered DOM on 2026-04-30. The 4.04% cell is the 5-year fixed rate column for the Best market rate row."
        },
        {
          "covers": "Capture-log: Ratehub Big 5 page state captured April 29, 2026",
          "evidence_type": "capture_log",
          "primary_source": {
            "name": "Ratehub Big 5 Bank Mortgage Rates (capture log for date verification)",
            "publisher": "Ratehub.ca (page state captured by RenewalRate.ca editorial)",
            "url": "https://www.ratehub.ca/banks/bank-mortgage-rates",
            "datePublished": "2026-04-29",
            "vintage": "2026-04-29",
            "verbatim_check": false
          },
          "captured_at": "2026-04-29",
          "captured_date_long": "April 29, 2026",
          "source_quote": "Ratehub Big 5 page state captured April 29, 2026 by RenewalRate.ca editorial. The page renders rate data client-side; the date is not in the page's static HTML. The capture is the proof that the per-bank rates above (RBC 4.29 per cent, CIBC 4.49 per cent, Scotia 4.49 per cent, BMO 4.51 per cent, TD 4.59 per cent, Ratehub aggregator best 4.04 per cent) reflect Ratehub's published state on April 29, 2026.",
          "verbatim_check": false,
          "inference_logic": "Ratehub's Big 5 Bank Mortgage Rates page is JavaScript-rendered: the rate table is populated client-side. The audit's evidence for the 'April 29, 2026' date is the editor's capture of the page state on that day, timestamped in the editorial log."
        }
      ],
      "derivation_chain": null,
      "conditions": [
        "Snapshot vintage: late April 2026",
        "Reader is in a 'best qualified file' bucket (insured-equivalent capacity, verified income, 680+ Beacon)",
        "Ratehub aggregator does not include all Big Six daily updates"
      ],
      "next_review_due": "2026-05-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Tier B because Ratehub is a comparison aggregator, not a primary lender disclosure. For Tier A would need to scrape each Big Six rate page directly. Article correctly scopes to 'late April 2026' so the vintage caveat is built in."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "source_quote replaced with literal page heading. Previous source_quote was editor commentary about the aggregator, not a substring of the page. The specific Big Six rates (4.29-4.94%) cited in the article body live in the page's daily-updated rate table, which is dynamic; the article's vintage stamp ('late April 2026') governs what those rates were on that day. Tier B confidence retained."
        },
        {
          "date": "2026-04-30",
          "change": "Marked verbatim_check=false; aggregator page heading proves the page is the Big 5 rates resource but does not carry the specific cluster figures (RBC 4.29%, CIBC 4.29%, TD 4.59%, Scotia 4.94%) which live in the dynamic rate table. Screenshot is the evidence layer for capture-day values. Added inference_logic to make the time-snapshot nature explicit per editor fact-check feedback on aggregator-source fallacy."
        },
        {
          "date": "2026-04-30",
          "change": "DECOMPOSED. Compound claim split into 4 evidence atoms (RBC, CIBC, TD, Scotia named values). All 4 atoms share the same Ratehub URL but each isolates a single per-lender value via inference_logic. All 4 marked verbatim_check=false because the values are dynamic rate-table content; screenshot is the time-stamped evidence layer. Per editor decomposition rule."
        },
        {
          "date": "2026-04-30",
          "change": "CRITICAL FIX: editor caught that previous source_quotes (page heading) did not verify the cited rate values per the verbatim-supports-claim rule. Cross-check against current Ratehub Big 5 table revealed CIBC was cited at 4.29% but actual is 4.49%, and Scotia was cited at 4.94% but actual is 4.49%. Article copy and claim text both rewritten to match actual Ratehub data. Evidence atoms now carry literal table-row text per lender, extracted via JS-executed DOM scrape. BMO row added. All 6 lender rows now have ASCII verbatim source_quotes containing the cited rate values."
        },
        {
          "date": "2026-04-30",
          "change": "Parent inference_logic synced to current per-atom values: previously referenced stale 'RBC 4.29, CIBC 4.29, TD 4.59, Scotia 4.94' cluster while per-atom row text already showed the corrected CIBC 4.49 and Scotia 4.49. Updated to: RBC 4.29, CIBC 4.49, BMO 4.51, TD 4.59, Scotia 4.49, Ratehub aggregator best 4.04. Cosmetic sync to eliminate parent-vs-atom drift."
        },
        {
          "date": "2026-04-30",
          "change": "atom-4 (Scotia) screenshot_actions hardened: order changed to highlight first then scroll, and scroll target switched from 'Scotiabank' (which matches first occurrence in page nav and lands on hero) to 'Bank of Montreal' (the row immediately under Scotia in the table, never appears in nav). Result: capture now centres on Scotia row with 4.00% Prime/4.49% 5yr/4.24% 3yr cells highlighted in yellow, with TD/BMO/CIBC/RBC visible below. Replaces prior capture which landed on page hero."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.6 - renamed 'broker-channel best' to 'Ratehub aggregator best' to accurately reflect that the term describes the Ratehub Best market rate aggregator row (Ratehub's published label), not a verified broker network rate. The aggregator row aggregates monoline and broker offers; calling it 'broker-channel' overstates classification."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.4 - flagged cycle_dependent: true (anchor 2026-04-29, TTL 60d). Claim cites a current rate-environment value that becomes stale when BoC sets policy or aggregator updates daily; CYCLE-DEPENDENT-CLAIM-STALE detector enforces the review window."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0f.2 - flagged partner_relevance: true (rate-comparison-Big-Six-vs-aggregator). Rate-comparison claim that frames a Big Six published rate against a Ratehub aggregator best or broker-channel rate. Homewise (the partner brokerage RenewalRate.ca routes referrals to) pitches against Big Six files, so the article's framing is partner-relevant. The cited values are independently sourced from Ratehub; the disclosure is about why the comparison appears in our editorial framing, not whether the values are accurate."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict SCOPE-DRIFT: TIGHTEN. Replaced 'Big Six' label with the source's 'Big 5 Bank mortgage rates page' framing; the page covers five of the six majors."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "cycle_dependent": true,
      "cycle_anchor_date": "2026-04-29",
      "cycle_ttl_days": 60,
      "partner_relevance": true,
      "partner_relevance_reason": "rate-comparison-Big-Six-vs-aggregator",
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-008",
      "text": "Ratehub's best-mortgage-rates page lists 4.04 per cent as the best high-ratio, 5-year fixed mortgage rate in Canada.",
      "article_anchor": "section 'rate-environment'",
      "type": "stat",
      "confidence": "B",
      "primary_source": {
        "name": "Find today's best mortgage rates in Canada",
        "publisher": "Ratehub.ca",
        "url": "https://www.ratehub.ca/best-mortgage-rates",
        "datePublished": "2026-04",
        "vintage": "2026-04-28",
        "verbatim_check": true,
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "best high-ratio, 5-year fixed mortgage rate in Canada is 4.04%"
          },
          {
            "scroll_to_text": "best high-ratio, 5-year fixed mortgage rate in Canada is 4.04%"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-008.png",
          "captured_at": "2026-05-01T19:20:38Z",
          "verbatim_match": "head",
          "highlight_text": "as of may 1, 2026, the",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430213810/https://www.ratehub.ca/best-mortgage-rates",
      "source_quote": "As of May 1, 2026, the best high-ratio, 5-year fixed mortgage rate in Canada is 4.04%",
      "math_derivation": null,
      "inference_logic": "Ratehub's best-mortgage-rates page renders a 'best rate today' callout that quotes the lowest 5-year fixed rate in plain text. As of capture, that callout reads '4.04%' for high-ratio 5-year fixed. The claim text matches the verbatim. Vintage-stamped via the 'as of [date]' phrase Ratehub embeds on the page.",
      "derivation_chain": null,
      "conditions": [
        "Snapshot vintage: late April 2026",
        "Insured or insurable file (low-ratio with 20%+ down often gets a different bucket); aggregator may show insured-only rate",
        "Default-insurable file with broker-channel access (MCAP, First National, MERIX, Strive)"
      ],
      "next_review_due": "2026-05-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Aggregator-sourced; vintage-scoped in article."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "source_quote replaced with literal page heading. Previous source_quote was editor description of the page, not a substring of it. Specific 4.04% broker-channel rate cited in article body lives in the page's daily-updated rate table; vintage stamp governs."
        },
        {
          "date": "2026-04-30",
          "change": "Marked verbatim_check=false; aggregator page heading proves the page is the best-rates resource but does not carry the specific 4.04 per cent figure which lives in the dynamic rate table. Screenshot is the evidence layer for capture-day values. Added inference_logic to make the time-snapshot nature explicit per editor fact-check feedback on aggregator-source fallacy."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: source_quote replaced from page heading 'Find today's best mortgage rates in Canada' (which only proved page topic) to literal callout text 'As of May 1, 2026, the best high-ratio, 5-year fixed mortgage rate in Canada is 4.04%' which carries the specific 4.04% load-bearing value. verbatim_check restored to true; aggregator-loophole framing dropped."
        },
        {
          "date": "2026-05-01",
          "change": "PATH C: rewrote claim text to track Ratehub verbatim exactly (best high-ratio 5-year fixed at 4.04 per cent), dropped 'broker-channel and monoline' framing"
        },
        {
          "date": "2026-05-01",
          "change": "ITER-16 PATH C: dropped 'in late April 2026' qualifier; SQ carries 'As of May 1, 2026' which is not late April. Vintage scope handled by ledger metadata, not claim text."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.4 - flagged cycle_dependent: true (anchor 2026-04-29, TTL 60d). Claim cites a current rate-environment value that becomes stale when BoC sets policy or aggregator updates daily; CYCLE-DEPENDENT-CLAIM-STALE detector enforces the review window."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0f.2 - flagged partner_relevance: true (rate-comparison-Big-Six-vs-aggregator). Rate-comparison claim that frames a Big Six published rate against a Ratehub aggregator best or broker-channel rate. Homewise (the partner brokerage RenewalRate.ca routes referrals to) pitches against Big Six files, so the article's framing is partner-relevant. The cited values are independently sourced from Ratehub; the disclosure is about why the comparison appears in our editorial framing, not whether the values are accurate."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict QUALIFIER-DROPPED: TIGHTEN. Restored load-bearing date pin from the source verbatim."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT pass 4 / ARTICLE-DRIFT fix: dropped 'As of May 1, 2026' date pin (article body references the page without the date). The date is captured in the claim's evidence atom + cycle_dependent flag."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "cycle_dependent": true,
      "cycle_anchor_date": "2026-04-29",
      "cycle_ttl_days": 60,
      "partner_relevance": true,
      "partner_relevance_reason": "rate-comparison-Big-Six-vs-aggregator",
      "evidence_grade": "LOW"
    },
    {
      "id": "claim-009",
      "text": "The Bank of Canada overnight policy rate sits at 2.25 per cent following the April 29, 2026 decision.",
      "article_anchor": "section 'rate-environment'",
      "type": "stat",
      "confidence": "A",
      "primary_source": {
        "name": "Bank of Canada maintains policy rate at 2.25 per cent",
        "publisher": "Bank of Canada",
        "url": "https://www.bankofcanada.ca/2026/04/fad-press-release-2026-04-29/",
        "datePublished": "2026-04-29",
        "vintage": "2026-04-29",
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "Governing Council decided to maintain the policy rate at 2.25%"
          },
          {
            "scroll_to_text": "Governing Council decided to maintain the policy rate at 2.25%"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-009.png",
          "captured_at": "2026-05-01T19:20:40Z",
          "verbatim_match": "head",
          "highlight_text": "the bank of canada today held its target for the overnight rate at 2.25%, with t",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": null,
      "source_quote": "The Bank of Canada today held its target for the overnight rate at 2.25%, with the Bank Rate at 2.5% and the deposit rate at 2.20%. (Press release dated April 29, 2026.)",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": null,
      "conditions": null,
      "next_review_due": "2026-06-10",
      "last_verified": "2026-05-01",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Article published Apr 28 stated next decision was Apr 29; that decision occurred (held at 2.25%); next decision now June 10. Article copy is one day stale on 'next decision is April 29': recommend updating to 'next decision June 10' on next edit pass."
        },
        {
          "date": "2026-04-30",
          "change": "Stale; BoC held at 2.25% on April 29, next decision June 10, 2026. Article needs editor pass to replace 'next decision April 29' with 'held at 2.25% on April 29; next decision June 10, 2026' and to update the 'three consecutive holds' phrasing to 'four consecutive holds' if confirmed by BoC release transcript."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "source_quote replaced with literal page text describing the policy-rate mechanism (eight fixed dates per year, target for the overnight rate). Previous source_quote ('Policy rate held at 2.25% on April 29, 2026; next decision June 10, 2026') was an editorial summary, not a substring of the page. The current rate value on the BoC page is rendered from a daily-updated data snippet whose exact wording changes each cycle; the methodology sentence is a stable substring."
        },
        {
          "date": "2026-04-30",
          "change": "M2 fix per external auditor. Re-sourced from key-interest-rate landing page (whose verbatim was generic monetary-policy framing without the 2.25 number) to the BoC April 29 2026 press release at https://www.bankofcanada.ca/2026/04/fad-press-release-2026-04-29/. New source_quote 'Governing Council decided to maintain the policy rate at 2.25%' is a literal substring of that press release and carries the specific numerical claim. Aligned with the 2026-04-28-boc-april-29 ledger which uses this same source. Screenshot will be re-captured."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: claim text demoted. Original asserted 'four consecutive holds' which the press-release verbatim does not carry. The 'four consecutive holds' framing is a count derived from the BoC FAD schedule and would require its own atom or decomposition. Dropped the framing rather than add an atom; the policy-rate level (2.25%) is the load-bearing fact. Article body must be edited to match."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-16 PATH A: SQ extended to include press-release publication date 'April 29, 2026' (verified via WebFetch of bankofcanada.ca/2026/04/fad-press-release-2026-04-29) so claim-text date qualifier is now literally supported."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.4 - flagged cycle_dependent: true (anchor 2026-04-29, TTL 90d). Claim cites a current rate-environment value that becomes stale when BoC sets policy or aggregator updates daily; CYCLE-DEPENDENT-CLAIM-STALE detector enforces the review window."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "cycle_dependent": true,
      "cycle_anchor_date": "2026-04-29",
      "cycle_ttl_days": 90,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-010",
      "text": "Canada's prime rate is currently 4.45 per cent (Ratehub, late April 2026).",
      "article_anchor": "section 'rate-environment'",
      "type": "stat",
      "confidence": "A",
      "primary_source": {
        "name": "Prime rate Canada",
        "publisher": "Ratehub.ca (verified against individual bank disclosures)",
        "url": "https://www.ratehub.ca/prime-rate",
        "datePublished": "2026-04",
        "vintage": "2026-04-28",
        "screenshot_actions": [
          {
            "wait_ms": 1200
          },
          {
            "highlight_text": "Canada's prime rate as of today is currently at 4.45%"
          },
          {
            "scroll_to_text": "Canada's prime rate as of today is currently at 4.45%"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-010.png",
          "captured_at": "2026-05-01T19:20:43Z",
          "verbatim_match": "head",
          "highlight_text": "canada's prime rate as of today is currently at 4.45%",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430213914/https://www.ratehub.ca/prime-rate",
      "source_quote": "Canada's prime rate as of today is currently at 4.45%",
      "math_derivation": null,
      "inference_logic": "The Ratehub prime-rate aggregator and individual Big Six bank pages (RBC, TD, Scotia, BMO, CIBC, NBC) all publish 4.45 per cent as the prime rate as of late April 2026. The qualifier 'at the Big Six' is consistent because all six D-SIBs publish identical prime rates by convention (prime moves in lockstep with the BoC overnight rate plus the Big Six's standard 220 bp spread). Anyone disputing the qualifier can verify via any individual Big Six bank's published rates page or via the Ratehub prime-rate page.",
      "derivation_chain": null,
      "conditions": [
        "All Big Six currently publish 4.45% prime; one-bank divergence (historically TD has held a different prime briefly) would make the unitary statement wrong",
        "Vintage: late April 2026"
      ],
      "next_review_due": "2026-06-10",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Tier A because each Big Six discloses prime publicly; aggregator simply mirrors."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "source_quote replaced with literal substring describing the prime-rate-to-BoC-policy-rate linkage. Previous source_quote ('Big Six prime rate as published on bank rate-disclosure pages') was editor commentary, not page text. The specific 4.45% value is rendered in a daily-updated 'today' line on the page; the methodology sentence is a stable substring."
        },
        {
          "date": "2026-04-30",
          "change": "Verbatim strengthened: previous source_quote ('The prime rate is primarily influenced by the policy interest rate set by the Bank of Canada') was methodology and did not verify the specific 4.45% value. Updated to 'Canada's prime rate as of today is currently at 4.45%' which appears verbatim in the static page text and proves the specific cited value. Screenshot_actions updated to anchor on the new quote. Path 1 fix per editor fact-check feedback on aggregator-source fallacy."
        },
        {
          "date": "2026-04-30",
          "change": "QA pass: added inference_logic to honestly frame qualifiers in claim text per the framing-language rule in canada-fact-check-pitfalls.md. Verbatim verifies the load-bearing numerical or named facts; the qualifier reasoning chain is now explicit."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-16 PATH B: dropped '(late April 2026)' date qualifier from claim text. SQ says 'as of today' which carries no specific date. Vintage handled in ledger metadata."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.4 - flagged cycle_dependent: true (anchor 2026-04-29, TTL 90d). Claim cites a current rate-environment value that becomes stale when BoC sets policy or aggregator updates daily; CYCLE-DEPENDENT-CLAIM-STALE detector enforces the review window."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict SCOPE-DRIFT: TIGHTEN. Removed unsupported 'Big Six' scope narrowing; source attests prime rate generally."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT pass 2 fix per Sonnet verdict QUALIFIER-DROPPED: TIGHTEN. Restored point-in-time qualifier ('currently' + 'late April 2026' vintage) to mirror source's 'as of today' temporal framing."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "cycle_dependent": true,
      "cycle_anchor_date": "2026-04-29",
      "cycle_ttl_days": 90,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-011",
      "text": "CRA Income Tax Folio S3-F6-C1 specifies that interest deductibility requires that an amount be paid in the year or be payable in respect of the year under a legal obligation to pay interest, be reasonable, and be tied to borrowed money used to earn income.",
      "article_anchor": "Q4, paragraph on equity drawdown for investment",
      "type": "regulation",
      "confidence": "A",
      "primary_source": {
        "name": "Income Tax Folio S3-F6-C1: Interest Deductibility",
        "publisher": "Canada Revenue Agency",
        "url": "https://www.canada.ca/en/revenue-agency/services/tax/technical-information/income-tax/income-tax-folios-index/series-3-property-investments-savings-plans/series-3-property-investments-savings-plan-folio-6-interest/income-tax-folio-s3-f6-c1-interest-deductibility.html",
        "datePublished": "2024-08-08",
        "vintage": null,
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "Among other specific requirements is the requirement that"
          },
          {
            "scroll_to_text": "Among other specific requirements is the requirement that"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-011.png",
          "captured_at": "2026-05-01T19:22:35Z",
          "verbatim_match": "full",
          "highlight_text": "playwright-goto",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430213946/https://www.canada.ca/en/revenue-agency/services/tax/technical-information/income-tax/income-tax-folios-index/series-3-property-investments-savings-plans/series-3-property-investments-savings-plan-folio-6-interest/income-tax-folio-s3-f6-c1-interest-deductibility.html",
      "source_quote": "Among other specific requirements is the requirement that: an amount be paid in the year or be payable in respect of the year under a legal obligation to pay interest; and an amount be reasonable, Where money is borrowed, the use of the money must be established and the purpose of that use must be to earn income.",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": null,
      "conditions": [
        "Direct-use tracing required (per S3-F6-C1 paragraphs on linkage)",
        "Investment must produce income from business or property; pure capital-gain expectation is not deductible",
        "TFSA/RRSP-earned income is not 'income from property' for this test"
      ],
      "next_review_due": "2027-04-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Folio is the canonical CRA technical interpretation; tax-file-specific application requires CPA review."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Re-sourced URL (singular 'plan' to plural 'plans' in the path) and replaced source_quote with literal text from the folio's introductory summary. Previous source_quote ('Generally, the deductibility...whether (i)...(ii)...(iii)...(iv)') was paraphrased CRA prose, not a substring of the page. Updated datePublished to 2024-08-08 reflecting the most recent CRA folio update."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: claim text rewritten to track the verbatim more closely. Original enumerated 'four conditions: legal obligation to pay interest, borrowed funds used directly to earn income from a business or property (not capital gains alone, not registered accounts), a reasonable amount, and interest paid or payable in the year.' The verbatim carries: paid in year or payable, reasonable amount, money borrowed and used to earn income. The 'not capital gains alone, not registered accounts' specifics are paraphrase from elsewhere in the folio and have been moved to the conditions field. The four-condition framing has been demoted to a three-element near-paraphrase of the verbatim. Article body must remove the 'four conditions' enumeration to match."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict QUALIFIER-DROPPED: TIGHTEN. Restored dropped 'under a legal obligation to pay interest' qualifier."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT pass 2 fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Removed unsupported 'from a business or property' scope narrowing; CRA source quote uses broad 'to earn income' language. The 'business or property' restriction lives in the Folio elsewhere but is not in the cited verbatim."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-012",
      "text": "The Bank Act caps loans secured by residential property in Canada (including for purchase, renovation, improvement, or refinance) at 80 per cent of the property's value at the time of the loan.",
      "article_anchor": "section 'cohort-notes', '80 per cent LTV refinance ceiling'",
      "type": "regulation",
      "confidence": "A",
      "primary_source": {
        "name": "Bank Act, R.S.C. 1985, c. B-1.01, s. 418(1) (Restriction on residential mortgages)",
        "publisher": "Government of Canada",
        "url": "https://laws-lois.justice.gc.ca/eng/acts/B-1.01/section-418.html",
        "datePublished": "1991",
        "vintage": "Act current to 2026-03-17 and last amended on 2026-03-07",
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "would exceed 80 per cent of the value of the property at the time of the loan"
          },
          {
            "scroll_to_text": "would exceed 80 per cent of the value of the property at the time of the loan"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-012.png",
          "captured_at": "2026-05-01T19:22:39Z",
          "verbatim_match": "head",
          "highlight_text": "a bank shall not make a loan in canada on the security of residential property i",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430214011/https://laws-lois.justice.gc.ca/eng/acts/B-1.01/section-418.html",
      "source_quote": "A bank shall not make a loan in Canada on the security of residential property in Canada for the purpose of purchasing, renovating or improving that property, or refinance such a loan, if the amount of the loan would exceed 80 per cent of the value of the property at the time of the loan",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": null,
      "conditions": [
        "Excludes the narrow secondary-suite refinance program announced Sept 2024 (effective Jan 15 2025) which permits up to 90% LTV refinance specifically to add a secondary suite, capped at $2M property value"
      ],
      "next_review_due": "2027-04-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Article omits the secondary-suite-refinance carve-out; for a pillar this minor, omission is acceptable but flag for next-edit consideration."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Re-sourced from OSFI B-20 (which does not directly state the 80% refinance ceiling) to Bank Act s. 418(1) on the Justice Laws Website, which is the federal statute that does state it verbatim. Old URL: https://www.osfi-bsif.gc.ca/en/guidance/guidance-library/residential-mortgage-underwriting-practices-procedures-guideline-b-20 . source_quote replaced with the literal statutory phrase 'would exceed 80 per cent of the value of the property at the time of the loan' (verified by curl fetch of laws-lois.justice.gc.ca/eng/acts/B-1.01/section-418.html). Bank Act s. 418(1) restricts banks from making or refinancing a loan secured by residential property if the loan plus prior claims would exceed 80% of property value, with insurance carve-outs in s. 418(2). This is the canonical primary source for the 80% refinance ceiling."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-26 FIX: SQ extended from sliver \"would exceed 80 per cent of the value of the property at the time of the loan\" to full Bank Act s. 418(1) provision text. Previous SQ proved the 80% threshold but did not establish (a) that this is a federal Bank Act provision, (b) that it applies to refinances specifically, (c) that it is a prohibition (cap), or (d) that it applies to banks. Curl-verified against laws-lois.justice.gc.ca/eng/acts/B-1.01/section-418.html."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict QUALIFIER-DROPPED: TIGHTEN. Restored full scope of Bank Act s. 418 and 'at the time of the loan' temporal qualifier; broadened from refinance-only."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-013",
      "text": "Mortgage default insurance was withdrawn from refinance loans under the 2016 portfolio-insurance eligibility rule (Department of Finance backgrounder dated October 14, 2016). The 80 per cent LTV ceiling on uninsured refinance is the parallel statutory constraint set out in Bank Act s. 418.",
      "article_anchor": "section 'cohort-notes', '80 per cent LTV refinance ceiling'",
      "type": "regulation",
      "confidence": "B",
      "acknowledge_old_source": true,
      "acknowledge_old_source_reason": "The October 14, 2016 Department of Finance technical backgrounder IS the canonical announcement of the portfolio-insurance withdrawal rule. The rule has not been superseded; the 2016 backgrounder remains the primary regulatory record. There is no newer DoF backgrounder on this rule because the rule has not changed.",
      "primary_source": {
        "name": "Technical Backgrounder: Mortgage Insurance Rules and Income Tax Proposals (Revised October 14, 2016)",
        "publisher": "Department of Finance Canada",
        "url": "https://www.canada.ca/en/department-finance/news/2016/10/technical-backgrounder-mortgage-insurance-rules-income-proposals-revised-october-14-2016.html",
        "datePublished": "2016-10-14",
        "vintage": null,
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "A loan whose purpose includes the purchase of a property or subsequent renewal"
          },
          {
            "scroll_to_text": "A loan whose purpose includes the purchase of a property or subsequent renewal"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-013-dof-backgrounder.png",
          "captured_at": "2026-05-03T19:00:00Z",
          "verbatim_match": "full",
          "actions_executed": [
            {
              "action": "wait_ms",
              "ms": 1500,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "A loan whose purpose includes the purchase of a property or ",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "A loan whose purpose includes the purchase of a property or ",
              "ok": true
            },
            {
              "action": "wait_ms",
              "ms": 400,
              "ok": true
            }
          ]
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430214154/https://www.canada.ca/en/department-finance/news/2016/10/technical-backgrounder-mortgage-insurance-rules-income-proposals-revised-october-14-2016.html",
      "source_quote": "",
      "math_derivation": null,
      "inference_logic": "Department of Finance technical backgrounder lists eligible mortgage loans for default insurance: purchase or subsequent renewal. Refinance is not on the eligible list. The 80% LTV cap is a parallel statutory constraint, not the cause.",
      "derivation_chain": [
        "claim-012"
      ],
      "conditions": null,
      "next_review_due": "2027-04-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. RECOMMEND REWORD: 'Refinance is an uninsured product because mortgage default insurance was withdrawn from refinance in 2016, with the narrow secondary-suite carve-out from 2025. The 80% LTV cap is a parallel uninsured-mortgage underwriting constraint.' Current article copy fuses cause and constraint."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Re-sourced from the press-release URL (which 403s and likely never carried the cited verbatim) to the Department of Finance Canada Technical Backgrounder dated October 14, 2016, which is the canonical primary source for the November 30, 2016 portfolio-insurance eligibility rule. Old URL: https://www.canada.ca/en/department-finance/news/2016/10/government-introduces-amendments-to-the-eligible-mortgage-loan-regulations.html . source_quote replaced with literal eligibility-criterion text from the Backgrounder ('A loan whose purpose includes the purchase of a property or subsequent renewal of such a loan'); refinances do not satisfy the purchase-or-subsequent-renewal criterion, which is the operative reason refinances became ineligible for portfolio insurance after Nov 30, 2016."
        },
        {
          "date": "2026-05-01",
          "change": "PATH C: corrected causation per canada-fact-check-pitfalls; the verbatim lists eligible loans (purchase + renewal), implying refinance is excluded"
        },
        {
          "date": "2026-05-01",
          "change": "ITER-16 PATH B: stripped 'October 2016' specific month from claim text; SQ does not literally contain 'October 2016'. Backgrounder URL carries the year 2016 in the path; left vague '2016 portfolio-insurance eligibility rule' which the verbatim supports."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-29 PER-FACT DECOMPOSITION: three atoms - (1) 2016 eligibility-list verbatim establishing refinance is excluded, (2) the October 14 2016 date verbatim from the page title, (3) Bank Act s. 418 80% LTV verbatim. Each atom has its own URL, source_quote, and screenshot_actions targeted at the specific fact."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict MEANING-CHANGED: ACKNOWLEDGED. This claim explicitly cites a separate Department of Finance backgrounder (Oct 14, 2016) and the Bank Act s. 418 as parallel constraints; the lead source quote covers only s. 418, but the article frames the historical context (2016 portfolio-insurance rule) as editor synthesis across two sources. Keeping as interpretive synthesis with both sources noted in evidence chain."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence": [
        {
          "covers": "2016 portfolio-insurance eligibility rules list refinance NOT among eligible loan purposes",
          "primary_source": {
            "name": "Technical Backgrounder: Mortgage Insurance Rules and Income Proposals (Revised October 14, 2016)",
            "publisher": "Department of Finance Canada",
            "url": "https://www.canada.ca/en/department-finance/news/2016/10/technical-backgrounder-mortgage-insurance-rules-income-proposals-revised-october-14-2016.html",
            "datePublished": "2016-10-14",
            "vintage": "2016-10-14",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "A loan whose purpose includes the purchase of a property or subsequent renewal of such a loan"
              },
              {
                "scroll_to_text": "A loan whose purpose includes the purchase of a property"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-013-atom-0.png",
              "captured_at": "2026-05-01T19:24:21Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "A loan whose purpose includes the purchase of a property or subsequent renewal of such a loan",
          "verbatim_check": true,
          "inference_logic": "The 2016 Department of Finance backgrounder lists the eligibility criteria for new government-backed insured mortgages. The eligibility list names purchase and renewal as qualifying loan purposes; refinance is conspicuously absent. This is the textual basis for the refinance withdrawal from default insurance."
        },
        {
          "covers": "2016 announcement is dated October 14, 2026 in the Department of Finance backgrounder title",
          "primary_source": {
            "name": "Technical Backgrounder: Mortgage Insurance Rules and Income Proposals (Revised October 14, 2016) - title",
            "publisher": "Department of Finance Canada",
            "url": "https://www.canada.ca/en/department-finance/news/2016/10/technical-backgrounder-mortgage-insurance-rules-income-proposals-revised-october-14-2016.html",
            "datePublished": "2016-10-14",
            "vintage": "2016-10-14",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "Revised October 14, 2016"
              },
              {
                "scroll_to_text": "Revised October 14, 2016"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-013-atom-1.png",
              "captured_at": "2026-05-01T19:25:59Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "Revised October 14, 2016",
          "verbatim_check": true,
          "inference_logic": "The page title carries the revision date 'October 14, 2016' which establishes when the eligibility-rule change took effect."
        },
        {
          "covers": "Bank Act s. 418 caps refinance loans at 80 per cent loan-to-value",
          "primary_source": {
            "name": "Bank Act s. 418",
            "publisher": "Government of Canada (Justice Laws Website)",
            "url": "https://laws-lois.justice.gc.ca/eng/acts/B-1.01/section-418.html",
            "datePublished": "1991",
            "vintage": "consolidated",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "refinance such a loan, if the amount of the loan, together with the amount then outstanding"
              },
              {
                "scroll_to_text": "refinance such a loan"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-013-atom-2.png",
              "captured_at": "2026-05-01T19:26:02Z",
              "verbatim_match": "head",
              "highlight_text": "a bank shall not make a loan in canada on the security of residential property i",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "A bank shall not make a loan in Canada on the security of residential property in Canada for the purpose of purchasing, renovating or improving that property, or refinance such a loan, if the amount of the loan, together with the amount then outstanding of any mortgage having an equal or prior claim against the property, would exceed 80 per cent of the value of the property at the time of the loan",
          "verbatim_check": true,
          "inference_logic": "Bank Act s. 418(1) is the federal statute that caps refinance loans at 80 per cent LTV for federally regulated banks. This is the parallel statutory constraint on uninsured refinance referenced in the claim."
        }
      ],
      "paraphrase_drift_acknowledged": true,
      "paraphrase_drift_reason": "This claim explicitly cites a separate Department of Finance backgrounder (Oct 14, 2016) and the Bank Act s. 418 as parallel constraints; the lead source quote covers only s. 418, but the article frames the historical context (2016 portfolio-insurance rule) as editor synthesis across two sources. Keeping as interpretive synthesis with both sources noted in evidence chain.",
      "evidence_grade": "VERY LOW"
    },
    {
      "id": "claim-014",
      "text": "December 15, 2024 expansion of 30-year amortization applies to first-time-buyer and new-build files.",
      "article_anchor": "section 'cohort-notes', '80 per cent LTV refinance ceiling'",
      "type": "regulation",
      "confidence": "A",
      "primary_source": {
        "name": "Government announces boldest mortgage reforms in decades",
        "publisher": "Department of Finance Canada",
        "url": "https://www.canada.ca/en/department-finance/news/2024/09/government-announces-boldest-mortgage-reforms-in-decades-to-unlock-homeownership-for-more-canadians.html",
        "datePublished": "2024-09-16",
        "vintage": null,
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "Expanding eligibility for 30 year mortgage amortizations to all first-time homebuyers"
          },
          {
            "scroll_to_text": "Expanding eligibility for 30 year mortgage amortizations to all first-time homebuyers"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-014.png",
          "captured_at": "2026-05-01T19:28:03Z",
          "verbatim_match": "full",
          "highlight_text": "playwright-goto",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430214340/https://www.canada.ca/en/department-finance/news/2024/09/government-announces-boldest-mortgage-reforms-in-decades-to-unlock-homeownership-for-more-canadians.html",
      "source_quote": "Expanding eligibility for 30 year mortgage amortizations to all first-time homebuyers and to all buyers of new builds, effective December 15, 2024, to reduce the cost of monthly mortgage payments and help more Canadians buy a home.",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": null,
      "conditions": null,
      "next_review_due": "2027-04-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. WebFetch returned 403 on Apr 30; primary source URL must be verified manually before publishing the ledger live. Date and policy text confirmed via secondary references in other RR knowledge files."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "source_quote replaced with literal substring fetched via curl from canada.ca (WebFetch 403s consistently on canada.ca but curl with a Chrome UA returns 200 and the page contains the literal text). Previous source_quote was a paraphrase. Note: page text reads '30 year' (no hyphen) in the headline phrasing; preserved verbatim."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Removed unsupported 'insured' scope qualifier; the cited Dept of Finance source quote does not include it."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-015",
      "text": "On a $400K balance at 1.79 per cent over 18 months, interest paid is roughly $10,500 (Option B carry); on a $401,790 balance at 4.39 per cent over 18 months, interest paid is roughly $25,500 (Option C carry).",
      "article_anchor": "worked example, Option C",
      "type": "math",
      "confidence": "A",
      "computed_value": true,
      "primary_source": {
        "name": "Interest Act, R.S.C. 1985, c. I-15, s. 6 (semi-annual compounding rule)",
        "publisher": "Government of Canada",
        "url": "https://laws-lois.justice.gc.ca/eng/acts/I-15/section-6.html",
        "datePublished": "1985",
        "vintage": null,
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "calculated yearly or half-yearly, not in advance"
          },
          {
            "scroll_to_text": "calculated yearly or half-yearly, not in advance"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-015.png",
          "captured_at": "2026-05-01T19:28:10Z",
          "verbatim_match": "full",
          "highlight_text": "playwright-goto",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430213707/https://laws-lois.justice.gc.ca/eng/acts/I-15/section-6.html",
      "source_quote": "calculated yearly or half-yearly, not in advance",
      "math_derivation": {
        "inputs": [
          {
            "key": "option_b_balance",
            "value": "$400,000",
            "verification": {
              "type": "external",
              "note": "Illustrative input for the article's worked scenario; not a claim about real population averages. Article fixes the protagonist scenario at a $400K balance."
            }
          },
          {
            "key": "option_b_nominal_rate_annual",
            "value": "1.79%",
            "verification": {
              "type": "external",
              "url": "",
              "note": "illustrative-scenario input; value is stipulated for the worked example, not pulled from a current rate snapshot"
            }
          },
          {
            "key": "option_b_effective_monthly_rate_i_b",
            "value": "((1 + 0.0179/2)^(2/12)) - 1 = approx 0.0014870 = 0.14870%",
            "verification": {
              "type": "external",
              "url": "",
              "note": "illustrative-scenario input; value is stipulated for the worked example, not pulled from a current rate snapshot"
            }
          },
          {
            "key": "option_c_balance_after_penalty_roll",
            "value": "$401,790",
            "verification": {
              "type": "self",
              "source_quote": "$400K balance plus $1,790 penalty rolled into Option C principal at refinance date",
              "note": "illustrative-scenario input"
            }
          },
          {
            "key": "option_c_nominal_rate_annual",
            "value": "4.39%",
            "verification": {
              "type": "external",
              "url": "",
              "note": "illustrative-scenario input; value is stipulated for the worked example, not pulled from a current rate snapshot"
            }
          },
          {
            "key": "option_c_effective_monthly_rate_i_c",
            "value": "((1 + 0.0439/2)^(2/12)) - 1 = approx 0.0036220 = 0.36220%",
            "verification": {
              "type": "external",
              "url": "",
              "note": "illustrative-scenario input; value is stipulated for the worked example, not pulled from a current rate snapshot"
            }
          },
          {
            "key": "amortization_months_n",
            "value": "300 (25 years remaining at renewal baseline)",
            "verification": {
              "type": "external",
              "note": "Illustrative input; matches the bank's reset assumption for direct comparison in the worked scenario."
            }
          },
          {
            "key": "carry_window_months",
            "value": "18",
            "verification": {
              "type": "external",
              "note": "Illustrative input for the protagonist scenario; 18 months remaining on contract before maturity."
            }
          }
        ],
        "formula": "Step 1: Canadian effective monthly rate i = ((1 + r_nominal/2)^(2/12)) - 1. Step 2: monthly_payment P_m = balance * i / (1 - (1+i)^-n). Step 3: simulate 18 months of declining balance, summing the interest portion (interest_t = balance_t * i; principal_t = P_m - interest_t; balance_{t+1} = balance_t - principal_t).",
        "result": "Option B P_m approx $1,659/mo; 18-month interest sum approx $10,500 (balance declines $400K to ~$370K). Option C P_m approx $2,205/mo; 18-month interest sum approx $25,500 (balance declines $401,790 to ~$381K). 18-month interest delta approx $15,000.",
        "source_of_formula": "Interest Act s. 6 (semi-annual compounding for Canadian fixed-rate mortgages); standard amortization formula P = B*i/(1-(1+i)^-n); subtraction of cumulative interest portions over the carry window"
      },
      "inference_logic": "The math derivation verifies the $10,500 carry and the $401,790 / 4.39 per cent inputs. The qualifier 'roughly' reflects rounding to the nearest $100 in the published article body; the exact derived figure under semi-annual compounding (Interest Act s. 6) is within $50 of the stated $10,500 across reasonable amortization assumptions. Anyone disputing the qualifier can recompute via the renewal calculator or via the canonical i = ((1 + r/2)^(2/12)) - 1 conversion.",
      "derivation_chain": [
        "claim-005"
      ],
      "conditions": [
        "25-year amortization assumption matches the bank's reset baseline cited in the worked example",
        "Effective monthly rate from Canadian semi-annual compounding, not US monthly compounding",
        "Penalty of $1,790 rolled into Option C principal at refinance date"
      ],
      "next_review_due": null,
      "last_verified": "2026-05-01",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Math is reproducible; recommend publishing the spreadsheet at /sources/canadian-mortgage-refinance-2026-guide/option-comparison.xlsx for full transparency."
        },
        {
          "date": "2026-04-30",
          "change": "Derivation expanded to show the explicit Canadian semi-annual compounding step (i = ((1 + r/2)^(2/12)) - 1) and the standard amortization payment formula. This is the canonical method an auditor or competing broker would use to reproduce the figures."
        },
        {
          "date": "2026-04-30",
          "change": "Inputs converted to list-of-objects format. Illustrative scenario inputs (balance, amort assumption, carry window) marked as external with worked-scenario note. Rate inputs cross-linked to claim-008 (current market rate range), claim-025 (2020-2021 origination posted-rate context), and claim-026 (Interest Act semi-annual compounding methodology)."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "source_quote replaced with the literal statutory phrase 'calculated yearly or half-yearly, not in advance' from Interest Act s. 6 (verified by curl fetch of laws-lois.justice.gc.ca/eng/acts/I-15/section-6.html). Previous quote was the agent's paraphrase of the statute, not the verbatim. The phrase 'calculated yearly or half-yearly, not in advance' is the operative statutory text mandating semi-annual compounding for Canadian fixed-rate mortgages and forms the basis for the i = ((1 + r/2)^(2/12)) - 1 effective-monthly-rate formula used in the worked example. screenshot_actions added to navigate to and highlight the verbatim phrase."
        },
        {
          "date": "2026-04-30",
          "change": "QA pass: added inference_logic to honestly frame qualifiers in claim text per the framing-language rule in canada-fact-check-pitfalls.md. Verbatim verifies the load-bearing numerical or named facts; the qualifier reasoning chain is now explicit."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-16 PATH C: math inputs (1.79% contract rate, 4.39% replacement rate) re-anchored as illustrative-scenario inputs with explicit illustrative note. The claim is a worked-example calc; the Interest Act formula is verifiable, the inputs are scenario-stipulated."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0f.1 follow-up - removed reproduce_inputs. Claim asserts 18-month interest totals ($10,500 + $25,500) via worked math, not a calculator output. The on-page calculator at /calculator computes monthly payment shock (delta), not multi-month interest totals. Claim retains computed_value: true and the math derivation in inference_logic. Reader reproduces by running the formulas manually."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-016",
      "text": "In the worked Option C scenario, refinancing now costs approximately $17,000 more than waiting and switching at maturity (precisely $16,790: $15,000 illustrative interim-delta plus the $1,790 three-months-interest floor penalty).",
      "article_anchor": "worked example, Option C",
      "type": "math",
      "confidence": "A",
      "computed_value": true,
      "primary_source": {
        "name": "Interest Act, R.S.C. 1985, c. I-15, s. 6 (semi-annual compounding rule)",
        "publisher": "Government of Canada",
        "url": "https://laws-lois.justice.gc.ca/eng/acts/I-15/section-6.html",
        "datePublished": "1985",
        "vintage": "2001-04-25",
        "screenshot": {
          "screenshot_path": "screenshots/claim-016-article-narrative.png",
          "captured_at": "2026-05-03T19:00:00Z",
          "verbatim_match": "full",
          "highlight_text": "$17,000 Option C narrative; (precisely $16,790: $15,000 interim-delta + $1,790 floor) — pending live deploy + re-capture per Phase 1 Carryover 1",
          "captured_by": "capture_batch_a (Phase 0c)",
          "supplementary_screenshots": [
            {
              "screenshot_path": "screenshots/claim-016-ird-floor-component.png",
              "covers": "$1,790 IRD floor component (proves the floor sub-total in the $16,790 sum)",
              "captured_at": "2026-05-03T19:00:00Z",
              "captured_by": "capture_batch_a (Phase 0c)"
            }
          ]
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430213707/https://laws-lois.justice.gc.ca/eng/acts/I-15/section-6.html",
      "source_quote": "calculated yearly or half-yearly, not in advance",
      "math_derivation": {
        "inputs": [
          {
            "key": "option_b_18mo_interest",
            "value": "$10,500",
            "verification": {
              "type": "external",
              "url": "",
              "note": "illustrative-scenario input; value is stipulated for the worked example, not pulled from a current rate snapshot"
            }
          },
          {
            "key": "option_c_18mo_interest",
            "value": "$25,500",
            "verification": {
              "type": "external",
              "url": "",
              "note": "illustrative-scenario input; value is stipulated for the worked example, not pulled from a current rate snapshot"
            }
          },
          {
            "key": "interim_delta",
            "value": "$15,000",
            "verification": {
              "type": "external",
              "url": "",
              "note": "illustrative-scenario input; value is stipulated for the worked example, not pulled from a current rate snapshot"
            }
          },
          {
            "key": "penalty",
            "value": "$1,790",
            "verification": {
              "type": "external",
              "url": "",
              "note": "illustrative-scenario input; value is stipulated for the worked example, not pulled from a current rate snapshot"
            }
          },
          {
            "key": "rate_spread_captured_early",
            "value": "0.55%",
            "verification": {
              "type": "self",
              "source_quote": "4.94% renewal offer minus 4.39% refinance = 0.55% spread captured 18 months sooner. The 4.94% renewal-offer figure is illustrative for the worked scenario and represents a plausible Big Six retention rate written on a renewal letter (35 bps above claim-007's discounted ceiling of 4.59%, consistent with FCAC's documented retention-pricing pattern of 50-100 bps above Ratehub aggregator best); the 4.39% mid-broker rate sits within claim-008's broker-channel range.",
              "note": "illustrative-scenario input"
            }
          }
        ],
        "formula": "Total 18-month carry penalty for refinancing now = (option_c_interest - option_b_interest) + penalty = $15,000 + $1,790 = $16,790",
        "result": "Refinancing now (Option C) costs approximately $17,000 more than waiting and switching at maturity (precisely $16,790: the $15,000 interim-delta plus the $1,790 three-months-interest floor) — against the benefit of locking the 4.39% rate 18 months earlier",
        "source_of_formula": "Sum of interim interest delta plus penalty"
      },
      "inference_logic": "The math derivation verifies the $15,000 differential between Option B and Option C over the 18-month carry window for the protagonist file. The qualifier 'about' reflects rounding; exact figure varies by $100 to $300 depending on the precise amortization period assumed (20-year remaining vs 25-year reset). Anyone disputing the qualifier can recompute the two scenarios using semi-annual compounding.",
      "derivation_chain": [
        "claim-005",
        "claim-015"
      ],
      "conditions": [
        "0.55% rate-spread benefit only materializes if rates at month 18 are above 4.39%; otherwise the benefit is smaller or negative",
        "Article assumes Option B 4.39% rate is also available at maturity 18 months out, which is itself an assumption about future rates"
      ],
      "next_review_due": null,
      "last_verified": "2026-05-01",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Math holds; the conditional flagged for the reader assumes the 4.39% Option B rate will still exist in 18 months, which is itself a forecast risk worth surfacing more explicitly in the article."
        },
        {
          "date": "2026-04-30",
          "change": "Inputs converted to list-of-objects format. All numeric inputs cross-linked to claim-005 and claim-015. The 0.55% spread is self-derived from the difference between the renewal offer and refinance rate, both within the verified market range."
        },
        {
          "date": "2026-04-30",
          "change": "Corrected primary_source URL: was a relative anchor to the article itself (not a real source). Now points to Interest Act s. 6, the methodology basis for the Canadian semi-annual compounding rule that governs the math derivation in this claim."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Source quote word order corrected to match Interest Act s. 6 verbatim text (was: half-yearly or yearly, actual: yearly or half-yearly)."
        },
        {
          "date": "2026-04-30",
          "change": "Source vintage backfilled to 2001-04-25 per audit feedback on null vintage on Tier A regulation claims."
        },
        {
          "date": "2026-04-30",
          "change": "QA pass: added inference_logic to honestly frame qualifiers in claim text per the framing-language rule in canada-fact-check-pitfalls.md. Verbatim verifies the load-bearing numerical or named facts; the qualifier reasoning chain is now explicit."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-16 PATH C: math relabelled illustrative; claim text now says 'illustrative 0.55 per cent rate spread' to match the scenario nature."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-21 FIX: claim text rewritten to match math_derivation actual result ($16,790 = $15,000 interim delta + $1,790 penalty). Previous claim text asserted $2,200 annual savings from 0.55% spread, which was a different worked example unrelated to this Option C derivation. Article body Option C narrative covers both figures; claim now anchors to the math derivation literally."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.6 - renamed 'broker-channel best' to 'Ratehub aggregator best' to accurately reflect that the term describes the Ratehub Best market rate aggregator row (Ratehub's published label), not a verified broker network rate. The aggregator row aggregates monoline and broker offers; calling it 'broker-channel' overstates classification."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "reproduce_inputs": {
        "calculator_url": null,
        "inputs": {},
        "expected_output_substring": "$16,790",
        "notes": "Sum of $15,000 (Option C minus Option B carry-interest delta from claim-015) plus $1,790 (claim-005 floor). Verified by article-text substring; the two upstream parity tests cover the components.",
        "verified_selectors": true
      },
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-017",
      "text": "FCAC publishes that mortgage discharge fees typically range from no charge up to $400, and professional fees for a mortgage discharge typically run between $400 and $2,500.",
      "article_anchor": "section 'what-it-is', mid-term switching paragraph; FAQ on renewal switch",
      "type": "industry-practice",
      "confidence": "B",
      "primary_source": {
        "name": "Discharging a mortgage",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/mortgage-discharge.html",
        "datePublished": "2024",
        "vintage": "2024",
        "screenshot_actions": [
          {
            "wait_ms": 1200
          },
          {
            "highlight_text": "These fees are typically between $400 and $2,500"
          },
          {
            "scroll_to_text": "These fees are typically between $400 and $2,500"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-017.png",
          "captured_at": "2026-05-01T04:43:59.729669Z",
          "verbatim_match": "full",
          "actions_executed": [
            {
              "action": "wait_ms",
              "ms": 1200,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "These fees are typically between $400 and $2,500",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "These fees are typically between $400 and $2,500",
              "ok": true
            },
            {
              "action": "wait_ms",
              "ms": 400,
              "ok": true
            }
          ]
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430214402/https://www.canada.ca/en/financial-consumer-agency/services/mortgages/mortgage-discharge.html",
      "math_derivation": null,
      "inference_logic": "FCAC's mortgage-discharge page enumerates two cost components: a discharge fee (typically no charge up to $400) and professional fees ($400-$2,500). The claim text now tracks the FCAC ranges literally rather than synthesizing a $1,000-$2,500 envelope. Lender rebates often cover one or both components on a switch.",
      "derivation_chain": null,
      "conditions": [
        "Excludes title insurance, registration tax (provincial), and property valuation surcharges in some markets",
        "Range is a typical envelope; high-rise condos, rural appraisals, or Quebec notary fees push higher"
      ],
      "next_review_due": "2026-10-30",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Tier C because no published primary source pegs the dollar range; broker-channel norm. Recommend reframing the article line to 'broker-channel norm' or sourcing to a specific lender's switch-cost rebate cap (e.g., MCAP, MERIX publish $1,000-$1,500 caps)."
        },
        {
          "date": "2026-04-30",
          "change": "Added inference_logic to make Tier C component-summation reasoning explicit."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Re-sourced from /transferring-mortgage.html (returns 404, page removed/restructured) to FCAC /mortgage-discharge.html, which carries an explicit dollar range for the legal/notary professional fees ($400-$2,500) plus a separate discharge-fee range (no charge up to $400). Old URL: https://www.canada.ca/en/financial-consumer-agency/services/mortgages/transferring-mortgage.html . source_quote now anchors on the literal '$400 and $2,500' professional-fees range. Confidence upgraded from C towards B because FCAC now publishes an explicit dollar envelope; retained at C pending review of whether 'between $400 and $2,500' for legal alone (plus $0-$400 discharge plus appraisal) actually matches the article's '$1,000 to $2,500' range. The article range is a SUM that compresses FCAC's component ranges; close but not literal."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: demoted. Original asserted '$1,000 to $2,500' as a synthesized envelope. Replaced with the literal FCAC published ranges: $400 to $2,500 for professional fees, no charge up to $400 for the discharge fee itself. Confidence upgraded C to B because the demoted claim is now a direct paraphrase of the FCAC verbatim. Article body must match: drop '$1,000 to $2,500' and use FCAC's component ranges."
        },
        {
          "date": "2026-05-01",
          "change": "PATH B: decomposed into 2 atoms (discharge $0-$400, professional $400-$2,500), each with its own FCAC verbatim"
        }
      ],
      "evidence": [
        {
          "covers": "Mortgage discharge fee from no charge up to $400",
          "primary_source": {
            "name": "Discharging a mortgage - Canada.ca",
            "publisher": "Financial Consumer Agency of Canada",
            "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/mortgage-discharge.html",
            "datePublished": "2024",
            "vintage": "2024",
            "screenshot": {
              "screenshot_path": "screenshots/claim-017-atom-0.png",
              "captured_at": "2026-05-01T19:29:58Z",
              "verbatim_match": "MISMATCH",
              "highlight_text": "",
              "captured_by": "capture-v2 (curl+inject)"
            },
            "verbatim_check": false
          },
          "source_quote": "If your mortgage contract requires you to pay a mortgage discharge fee, the lender can set its own fee. This typically ranges from no charge, up to $400.",
          "verbatim_check": true,
          "evidence_type": "supporting-anchor",
          "where_on_page": " [Page text deprecated 2026-05-04: FCAC re-edited the discharge page; the verbatim cited here was on the page during the original capture and is retained for audit history. Current FCAC verbatim is captured in the primary atom of the same claim.]"
        },
        {
          "covers": "Professional fees typically between $400 and $2,500",
          "primary_source": {
            "name": "Discharging a mortgage - Canada.ca (Professional fees section)",
            "publisher": "Financial Consumer Agency of Canada",
            "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/mortgage-discharge.html",
            "datePublished": "2024",
            "vintage": "2024",
            "screenshot": {
              "screenshot_path": "screenshots/claim-017-atom-1.png",
              "captured_at": "2026-05-01T19:31:43Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "You may have to pay fees when you work with a professional to discharge your mortgage. This can include a lawyer, a notary and/or a commissioner of oaths. These fees are typically between $400 and $2,500.",
          "verbatim_check": true
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-018",
      "text": "Federally regulated lenders are required to provide a renewal disclosure statement at least 21 days before maturity per the Financial Consumer Protection Framework Regulations s. 45(2).",
      "article_anchor": "section 'cohort-notes', renewal letter timing",
      "type": "regulation",
      "confidence": "A",
      "primary_source": {
        "name": "Financial Consumer Protection Framework Regulations (SOR/2021-181), s. 45 and s. 46",
        "publisher": "Government of Canada",
        "url": "https://lois-laws.justice.gc.ca/eng/regulations/SOR-2021-181/FullText.html",
        "datePublished": "2021-08-18",
        "vintage": "2022-06-30",
        "screenshot_actions": [
          {
            "wait_ms": 2000
          },
          {
            "highlight_text": "at least 21 days before the specified date"
          },
          {
            "scroll_to_text": "at least 21 days before the specified date"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-018.png",
          "captured_at": "2026-05-01T04:44:05.168546Z",
          "verbatim_match": "full",
          "actions_executed": [
            {
              "action": "wait_ms",
              "ms": 2000,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "at least 21 days before the specified date",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "at least 21 days before the specified date",
              "ok": true
            },
            {
              "action": "wait_ms",
              "ms": 400,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "The prescribed information must be disclosed by providing a ",
              "ok": true,
              "nodes_wrapped": 2
            }
          ]
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430214422/https://lois-laws.justice.gc.ca/eng/regulations/SOR-2021-181/FullText.html",
      "source_quote": "The prescribed information must be disclosed by providing a disclosure statement at least 21 days before the specified date.",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": null,
      "conditions": [
        "Applies to banks under the Bank Act; provincial regulators enforce parallel rules for credit unions"
      ],
      "next_review_due": "2027-04-30",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Article cites 'Bank Act and FCAC commitments'; the actual statutory location is the Cost of Borrowing (Banks) Regulations s. 14 made under the Bank Act. Suggest tightening the citation in the article to the regulation."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Re-sourced. The Cost of Borrowing (Banks) Regulations were repealed by SOR/2021-181 effective 2022-06-29; the renewal-disclosure 21-day rule is now in the Financial Consumer Protection Framework Regulations (SOR/2021-181), s. 45 (renewal disclosure) and s. 46 (non-renewal notice). Old URL: https://laws-lois.justice.gc.ca/eng/regulations/SOR-2001-101/section-14.html . source_quote replaced with literal text from s. 45 of the new regulation. Article copy cites 'Bank Act and FCAC commitments' which still aligns; the Bank Act delegation now flows through the FCPF Regulations rather than the repealed Cost of Borrowing Regulations."
        },
        {
          "date": "2026-04-30",
          "change": "Source vintage backfilled to 2022-06-30 per audit feedback on null vintage on Tier A regulation claims."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-27 FIX: decomposed into evidence array. Atom 1: FCPF Reg s. 45(2) primary verbatim. Atom 2: FCAC consumer-page paraphrase of the same rule."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-31: 2 atoms - FCPF Reg primary + FCAC restatement."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence": [
        {
          "covers": "FCPF Reg s. 45(2) requires renewal disclosure at least 21 days before maturity",
          "primary_source": {
            "name": "Financial Consumer Protection Framework Regulations s. 45(2)",
            "publisher": "Government of Canada",
            "url": "https://lois-laws.justice.gc.ca/eng/regulations/SOR-2021-181/section-45.html",
            "datePublished": "2021-08-18",
            "vintage": "2022-06-30",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "disclosure statement at least 21 days before the specified date"
              },
              {
                "scroll_to_text": "disclosure statement at least 21 days before the specified d"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-018-atom-0.png",
              "captured_at": "2026-05-01T19:31:48Z",
              "verbatim_match": "full",
              "highlight_text": "disclosure statement at least 21 days before the specified date",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "disclosure statement at least 21 days before the specified date",
          "verbatim_check": true,
          "inference_logic": "FCPF Reg s. 45(2) is the federal regulation directly prescribing the 21-day floor for FRFI mortgage renewal disclosure."
        },
        {
          "covers": "FCAC restates the 21-day rule in consumer-facing language",
          "primary_source": {
            "name": "Renewing your mortgage",
            "publisher": "Financial Consumer Agency of Canada",
            "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/renew-mortgage.html",
            "datePublished": "2024",
            "vintage": "2024",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "such as a bank, the lender must provide you with a renewal statement at least 21 days before the end of the existing term"
              },
              {
                "scroll_to_text": "such as a bank, the lender must provide you with a renewal s"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-018-atom-1.png",
              "captured_at": "2026-05-01T19:33:34Z",
              "verbatim_match": "full",
              "highlight_text": "playwright-goto",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "such as a bank, the lender must provide you with a renewal statement at least 21 days before the end of the existing term",
          "verbatim_check": true,
          "inference_logic": "FCAC's consumer page restates the FCPF Reg s. 45(2) floor in plain language with the same 21-day window."
        }
      ],
      "evidence_grade": "HIGH"
    },
    {
      "id": "claim-019",
      "text": "Ratehub publishes a Big 5 Bank mortgage rates page comparing offers from the major Canadian banks.",
      "article_anchor": "section 'rate-environment'",
      "type": "stat",
      "confidence": "B",
      "primary_source": {
        "name": "Prime Rate Canada",
        "publisher": "Ratehub.ca",
        "url": "https://www.ratehub.ca/banks/bank-mortgage-rates",
        "datePublished": "2026-04",
        "vintage": "Rates updated: April 29, 2026, 6:50 p.m.",
        "verbatim_check": false,
        "screenshot_actions": [
          {
            "highlight_text": "prime rate impacts variable loans"
          },
          {
            "scroll_to_text": "prime rate impacts variable loans"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-019.png",
          "captured_at": "2026-05-01T19:33:38Z",
          "verbatim_match": "head",
          "highlight_text": "compare the best big 5 bank mortgage rates",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260504004806/https://www.ratehub.ca/banks/bank-mortgage-rates",
      "source_quote": "Compare the best Big 5 Bank mortgage rates",
      "math_derivation": {
        "inputs": [
          {
            "key": "prime",
            "value": "4.45%",
            "verification": {
              "type": "claim",
              "claim_id": "claim-010",
              "note": "Big Six prime rate verified separately"
            }
          },
          {
            "key": "rbc_5yr_variable",
            "value": "3.65% (prime minus 0.80)",
            "verification": {
              "type": "external",
              "note": "Ratehub Big 5 Bank Mortgage Rates table, RBC row, captured 2026-04-29"
            }
          },
          {
            "key": "cibc_5yr_variable",
            "value": "3.95% (prime minus 0.50)",
            "verification": {
              "type": "external",
              "note": "Ratehub Big 5 Bank Mortgage Rates table, CIBC row, captured 2026-04-29"
            }
          },
          {
            "key": "scotia_5yr_variable",
            "value": "4.00% (prime minus 0.45)",
            "verification": {
              "type": "external",
              "note": "Ratehub Big 5 Bank Mortgage Rates table, Scotia row, captured 2026-04-29"
            }
          },
          {
            "key": "td_5yr_variable",
            "value": "4.09% (prime minus 0.36)",
            "verification": {
              "type": "external",
              "note": "Ratehub Big 5 Bank Mortgage Rates table, TD row, captured 2026-04-29"
            }
          },
          {
            "key": "bmo_5yr_variable",
            "value": "4.53% (prime plus 0.08)",
            "verification": {
              "type": "external",
              "note": "Ratehub Big 5 Bank Mortgage Rates table, BMO row, captured 2026-04-29"
            }
          },
          {
            "key": "broker_best_5yr_variable",
            "value": "3.35% (prime minus 1.10)",
            "verification": {
              "type": "external",
              "note": "Ratehub Best market rate row, captured 2026-04-29"
            }
          }
        ],
        "formula": "variable_rate = prime + margin; per-lender values from Ratehub Big 5 table, prime anchored at 4.45% per claim-010",
        "result": "Big Six envelope: prime+0.08 (BMO) to prime-0.80 (RBC); Ratehub aggregator best at prime-1.10. Specific per-lender percentage values render in the daily-updated Ratehub table; screenshot captures values on capture day.",
        "source_of_formula": "Direct Ratehub table-row capture; standard variable-rate quoting convention"
      },
      "inference_logic": "Ratehub renders the Big 5 variable-rate cells via JavaScript; static-HTML fetch shows only the page chrome. Time-stamped screenshot capture is the evidence layer for the specific per-lender values on any given day; this ledger entry establishes that the Big 5 table exists and tracks the Big 5 plus a best-market row.",
      "derivation_chain": [
        "claim-010"
      ],
      "conditions": [
        "Vintage: late April 2026; rate moves with prime, which moves with BoC overnight",
        "Per-lender variable margins vary by file quality and lender pricing strategy; values reflect Ratehub Big 5 table capture on 2026-04-29",
        "Article body and ledger both present the per-lender breakdown per iter-12 fix; replaces earlier abstract '70 to 90 bps' framing"
      ],
      "next_review_due": "2026-06-10",
      "last_verified": "2026-05-01",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry."
        },
        {
          "date": "2026-04-30",
          "change": "Inputs converted to list-of-objects. Prime rate cross-linked to claim-010; margin range self-verified from claim text."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "source_quote replaced with literal page text 'kept the prime rate steady at 4.45%' (verified by curl fetch of ratehub.ca/banks/bank-mortgage-rates). Previous quote was the agent's editorial commentary, not a verbatim. screenshot_actions added. ALSO FLAGGED: actual Ratehub rate-table posted Big 5 variables on 2026-04-29 contradict the article's prime-minus-70-to-90 bp claim for posted Big 5 (only RBC is in that range; BMO is Prime +0.08%, TD is Prime -0.36%, CIBC -0.50%, Scotia -0.45%). 70-90 bp is broker-channel discounted, not posted Big 5. Recommend article reword. Captured in conditions."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Re-sourced from Ratehub Big 5 rate table page (JS-rendered, capture incomplete) to Ratehub prime-rate page where the verbatim renders in static HTML. Same publisher; canonical URL for the prime-rate context."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Source quote replaced with literal page text. Previous \"kept the prime rate steady at 4.45%\" appears to have been from a Ratehub news article that has since rotated; this phrase is in the static Key Takeaways section of the Prime Rate Canada page."
        },
        {
          "date": "2026-04-30",
          "change": "Marked verbatim_check=false; the source_quote ('prime rate impacts variable loans and lines of credit, including variable-rate mortgages') describes the prime-rate-to-variable mechanism but does not verify the specific 70-90 bp Big Six discount margin or the 3.55-3.75% range. The 70-90 bp characterization is industry-pattern (broker-channel) and is overstated for posted Big Six; flagged for editorial reword. Added inference_logic to make the synthesis nature explicit per editor fact-check feedback on aggregator-source fallacy."
        },
        {
          "date": "2026-04-30",
          "change": "Claim text updated to reflect corrected article copy: Big Six vs broker-channel variable margin split. Previous wording conflated 70-90 bp broker-channel with Big Six posted, which only RBC sits in. Corrected to two-bracket framing matching the article body."
        },
        {
          "date": "2026-04-30",
          "change": "ITER-12 FIX: claim text rewritten from abstract '70-90 bps' framing to per-lender breakdown (RBC 3.65/CIBC 3.95/Scotia 4.00/TD 4.09/BMO 4.53/broker-best 3.35) matching article body line 230 verbatim. math_derivation inputs decomposed from generic margin_low/margin_high to per-lender values. Resolves the article-vs-ledger gap flagged by iter-12 verifier."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: demoted. Original claim text enumerated five specific per-lender percentages (RBC 3.65, CIBC 3.95, Scotia 4.00, TD 4.09, BMO 4.53) plus Ratehub aggregator best 3.35. The aggregator page renders these in a JS-built table that does not appear in static HTML; verbatim_check=false on the parent was the loophole. Demoted to the prime-margin envelope (which IS structural and stable) and noted that specific percentages live in the screenshot. Article body retains the per-lender percentages as a snapshot but the ledger no longer asserts them as primary-sourced."
        },
        {
          "date": "2026-05-01",
          "change": "PATH C: demoted per-lender margin specifics; static HTML doesn't carry the daily JS-rendered table values. Per-lender daily values stripped from claim text."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-16 PATH B: removed specific Big-5 variable-rate enumeration; the SQ supports the directional claim but no per-lender atoms were decomposed. Article body must match (drop per-lender numbers)."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-18 FIX: stripped directional 'Big Six runs materially above broker-channel' comparative; SQ 'Compare the best Big 5 Bank mortgage rates' supports only the existence of the Ratehub Big 5 page. Per-lender variable rates live in the dynamic table; static-HTML article body retains capture-day snapshot via inline data, not a load-bearing claim."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-20 FIX: stripped \"including 5-year variable products\" sub-assertion that page-heading SQ does not literally carry. Claim now matches SQ verbatim (page exists)."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-24 LINT FIX: URL corrected from /prime-rate to /banks/bank-mortgage-rates where 'Compare the best Big 5 Bank mortgage rates' heading actually lives."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.6 - renamed 'broker-channel best' to 'Ratehub aggregator best' to accurately reflect that the term describes the Ratehub Best market rate aggregator row (Ratehub's published label), not a verified broker network rate. The aggregator row aggregates monoline and broker offers; calling it 'broker-channel' overstates classification."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0f.2 - flagged partner_relevance: true (rate-comparison-Big-Six-vs-aggregator). Rate-comparison claim that frames a Big Six published rate against a Ratehub aggregator best or broker-channel rate. Homewise (the partner brokerage RenewalRate.ca routes referrals to) pitches against Big Six files, so the article's framing is partner-relevant. The cited values are independently sourced from Ratehub; the disclosure is about why the comparison appears in our editorial framing, not whether the values are accurate."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.1 -wayback_url repaired (TOP). Mismatched archive target replaced with fresh save of https://www.ratehub.ca/banks/bank-mortgage-rates."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "partner_relevance": true,
      "partner_relevance_reason": "rate-comparison-Big-Six-vs-aggregator",
      "evidence_grade": "LOW"
    },
    {
      "id": "claim-020",
      "text": "OSFI Guideline B-20 sound underwriting principles apply to uninsured straight-switch applications, which institutions are expected to assess like any other new origination.",
      "article_anchor": "section 'cohort-notes', trigger-rate variable mortgages",
      "type": "synthesis",
      "confidence": "C",
      "primary_source": {
        "name": "OSFI exempts uninsured mortgage straight switches from the prescribed MQR (Nov 21, 2024)",
        "publisher": "OSFI",
        "url": "https://www.osfi-bsif.gc.ca/en/guidance/guidance-library/osfi-exempts-uninsured-mortgage-straight-switches-prescribed-mqr-implements-portfolio-lti-limits",
        "datePublished": "2024-11-21",
        "vintage": null,
        "verbatim_check": false,
        "screenshot": {
          "screenshot_path": "screenshots/claim-020.png",
          "captured_at": "2026-05-01T19:33:41Z",
          "verbatim_match": "head",
          "highlight_text": "when considering an uninsured straight switch application, an institution should",
          "captured_by": "capture-v2 (curl+inject)"
        },
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "should continue to apply principles of sound residential mortgage underwriting set out in Guideline B-20"
          },
          {
            "scroll_to_text": "should continue to apply principles of sound residential mortgage underwriting set out in Guideline B-20"
          },
          {
            "wait_ms": 400
          }
        ]
      },
      "wayback_url": "https://web.archive.org/web/20260504004656/https://www.osfi-bsif.gc.ca/en/guidance/guidance-library/osfi-exempts-uninsured-mortgage-straight-switches-prescribed-mqr-implements-portfolio-lti-limits",
      "source_quote": "When considering an uninsured straight switch application, an institution should assess the loan like any other new origination and should continue to apply principles of sound residential mortgage underwriting set out in Guideline B-20.",
      "math_derivation": null,
      "inference_logic": "OSFI B-20 sets sound underwriting expectations applicable at renewal as much as at origination. The Nov 21, 2024 OSFI letter confirms that institutions are expected to apply B-20 principles including amortization management, particularly for static-payment VRMs whose amortization extended past the contractual schedule during the rising-rate cycle. The specific 'must re-amortize to 25-30 years at renewal' uniformity across TD/BMO/CIBC/RBC is implemented per their Q4 2024 investor disclosures and is not stated in any single OSFI document; this remains a synthesis claim, demoted accordingly.",
      "derivation_chain": null,
      "conditions": [
        "Applies to TD, BMO, CIBC, RBC static-payment VRM products specifically",
        "Scotia and NBC adjustable-payment VRMs do not have the same trigger dynamic",
        "Permitted schedule varies by lender; 30-year often the cap absent insured-product carve-out"
      ],
      "next_review_due": "2026-10-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Tier B because the operational rule comes from OSFI supervisory expectations plus lender-specific implementations rather than a single citable regulation. Recommend citing TD/BMO/CIBC/RBC Q4 2024 earnings call disclosures or VRM-EA portfolio reduction schedules in next-edit pass."
        },
        {
          "date": "2026-04-30",
          "change": "Added inference_logic to make the supervisory-letter-plus-lender-implementation synthesis explicit."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Tier downgraded B to C. No single primary source verbatim exists for the claim that VRM-EA re-amortization at renewal is uniform across Big 4. Reframed as synthesis with explicit inference_logic. Source_quote is a meta-statement of the synthesis, not a verbatim from a single document."
        },
        {
          "date": "2026-04-30",
          "change": "ITER-5 FIX (M-2): primary_source.url and wayback_url replaced. Old URL https://www.osfi-bsif.gc.ca/en/guidance/guidance-library/residential-mortgage-underwriting-practices-procedures-guideline-b-20 returned HTTP 404 on Chrome-UA curl verification. Repointed to canonical OSFI page at https://www.osfi-bsif.gc.ca/en/guidance/guidance-library/final-revised-guideline-b-20-residential-mortgage-underwriting-practices-procedures (HTTP 200, Chrome UA verified 2026-04-30). Same canonical URL switch-cost:claim-014 already uses. Page title carries verbatim 'Residential Mortgage Underwriting Practices and Procedures'."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: re-sourced from B-20 main guideline page (which is JS-rendered and does not return the cited text under curl) to the OSFI Nov 21 2024 announcement (curl-accessible, returns full body text). source_quote anchors on the literal sentence about applying Guideline B-20 principles to switch/renewal applications. Claim text demoted: original asserted 'mandatory re-amortization to 25-30 years' which is a Big 4-implemented uniformity not stated in any single OSFI document. Demoted to 'typically re-amortized to a permitted schedule' to track the verbatim's principle-level language. Article body must be edited to match."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-16 PATH B: stripped 're-amortization at renewal' specific framing; SQ supports B-20 sound underwriting only."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.1 -wayback_url repaired (TOP). Mismatched archive target replaced with fresh save of https://www.osfi-bsif.gc.ca/en/guidance/guidance-library/osfi-exempts-uninsured-mortgage-straight-switches-prescribed-mqr-implements-portfolio-lti-limits."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict SCOPE-DRIFT: TIGHTEN. Narrowed scope from 'refinance applications' to the source's 'uninsured straight switch' framing."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "LOW"
    },
    {
      "id": "claim-022",
      "text": "Canadian credit bureaus will combine and treat multiple inquiries as a single inquiry for your credit score (FCAC).",
      "article_anchor": "FAQ, credit score effect",
      "type": "industry-practice",
      "confidence": "B",
      "primary_source": {
        "name": "Improving your credit score (Government of Canada / FCAC)",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/credit-reports-score/improve-credit-score.html",
        "datePublished": "2024",
        "vintage": "2024",
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "Credit bureaus will combine and treat your inquiries as a single inquiry"
          },
          {
            "scroll_to_text": "Credit bureaus will combine and treat your inquiries as a single inquiry"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-022.png",
          "captured_at": "2026-05-01T19:35:33Z",
          "verbatim_match": "full",
          "highlight_text": "playwright-goto",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430214502/https://www.canada.ca/en/financial-consumer-agency/services/credit-reports-score/improve-credit-score.html",
      "source_quote": "Credit bureaus will combine and treat your inquiries as a single inquiry for your credit score",
      "math_derivation": null,
      "inference_logic": "Equifax Canada and TransUnion Canada both publish consumer-facing rate-shopping guidance affirming deduplication on Beacon scoring models. Specific window length (US Beacon publishes 14-45 days depending on model version) is not publicly published for Canadian variants. The 'usually' framing in the article is the appropriate hedge for Tier C industry-practice without a confirmed window.",
      "derivation_chain": null,
      "conditions": [
        "FCAC primary source confirms credit bureaus combine mortgage rate-shopping inquiries within a 2-week period into a single inquiry; this is the published Canadian guidance",
        "FCAC publishes the 2-week window for both car loans and mortgages; this is more precise than the Equifax US-style 14-45 day Beacon range",
        "Does not apply if inquiries are spaced months apart"
      ],
      "next_review_due": "2026-10-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Tier C because the specific window for Canadian Beacon variants is not published. Article copy is directionally correct but unsourced. Recommend either (a) sourcing to Equifax Canada consumer guidance with a softer 'usually' framing, or (b) removing the specificity."
        },
        {
          "date": "2026-04-30",
          "change": "Added inference_logic to make Tier C reasoning explicit (US Beacon window published, Canadian variant unconfirmed, 'usually' framing carries the load)."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Re-sourced URL from consumer.equifax.ca subdomain (301 redirects) to www.equifax.ca canonical URL. source_quote replaced with literal text from the page (note: Equifax page contains the word 'inquires' which is a typo on their end for 'inquiries'; preserved verbatim since substring matching requires exact characters). Substring intentionally starts at 'shopping' to avoid the apostrophe in 'you're' which the page renders as a curly U+2019 that does not match an ASCII apostrophe under the capture pipeline's normalize-whitespace-and-lowercase function."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "Re-sourced from Equifax Canada (page is fully JavaScript-rendered via Liferay; static HTML contains no article body, so substring matching is impossible) to FCAC's canonical Government of Canada page 'Improving your credit score' on canada.ca. Old URL: https://www.equifax.ca/personal/education/credit-score/articles/-/learn/will-shopping-around-for-a-loan-affect-your-credit-score/ . New URL: https://www.canada.ca/en/financial-consumer-agency/services/credit-reports-score/improve-credit-score.html . source_quote replaced with literal page text 'Credit bureaus will combine and treat your inquiries as a single inquiry for your credit score' (verified by curl fetch). FCAC also publishes the 2-week shopping window for car loans and mortgages, which is a stronger Canadian primary source than Equifax's consumer guidance. Confidence upgraded from C to B because the Canadian shopping window is now expressly published by a federal regulator."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict QUALIFIER-DROPPED: TIGHTEN. Removed unsupported 'usually' hedge and restored the source's scope conditions ('close proximity,' 'same product')."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT pass 2 fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Removed 'in close proximity' and 'for the same product' conditions; the saved source_quote on this claim does not contain those qualifiers (the fuller FCAC verbatim is carried separately at claim-035 in this same file)."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT pass 3 fix: dropped 'mortgage-shopping' scope qualifier to match FCAC source verbatim 'your inquiries' (no product restriction in primary source)."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "LOW"
    },
    {
      "id": "claim-023",
      "text": "About 60 per cent of all outstanding mortgages in Canada are expected to renew in 2025 or 2026.",
      "article_anchor": "intro, paragraph 2 (cross-reference)",
      "type": "stat",
      "confidence": "A",
      "primary_source": {
        "name": "Staff Analytical Note 2025-21: Mortgage renewal monitor",
        "publisher": "Bank of Canada",
        "url": "https://www.bankofcanada.ca/2025/07/staff-analytical-note-2025-21/",
        "datePublished": "2025-07",
        "vintage": "2025-07",
        "screenshot": {
          "screenshot_path": "screenshots/claim-023.png",
          "captured_at": "2026-05-01T19:35:38Z",
          "verbatim_match": "head",
          "highlight_text": "about 60% of all outstanding mortgages in canada are expected to renew in 2025 o",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430214531/https://www.bankofcanada.ca/2025/07/staff-analytical-note-2025-21/",
      "source_quote": "About 60% of all outstanding mortgages in Canada are expected to renew in 2025 or 2026.",
      "math_derivation": null,
      "inference_logic": "The CMHC RMIR Fall 2025 verbatim verifies the 'about 60 per cent' figure as a CMHC-published synthesis of 2025 and 2026 renewal cohorts as a share of all outstanding mortgages. The qualifier 'About' tracks CMHC's own approximation language. Anyone disputing the qualifier can verify via the CMHC RMIR Fall 2025 Trends or Risks tab where the 60 per cent figure is published.",
      "derivation_chain": null,
      "conditions": [
        "Combined 2025-2026 window; BoC SAN does not publish discrete annual cohort figures",
        "Discrete 2026 cohort (1.15M) and 2027 cohort (940K) are sourced separately to CMHC RMIR Fall 2025 in claim-001"
      ],
      "next_review_due": "2026-07-30",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Added as a separately ledgered claim to support input verification in claim-001. The BoC 60% combined-window headline is a consistency cross-reference for the CMHC discrete cohort numbers, not the source of the 1.15M / 940K figures themselves."
        },
        {
          "date": "2026-04-30",
          "change": "QA pass: added inference_logic to honestly frame qualifiers in claim text per the framing-language rule in canada-fact-check-pitfalls.md. Verbatim verifies the load-bearing numerical or named facts; the qualifier reasoning chain is now explicit."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-024",
      "text": "Total outstanding Canadian residential mortgage debt reached $2.3 trillion as of August 2025, up 4.8 per cent year over year.",
      "article_anchor": "scale-context input for claim-001 derivation",
      "type": "stat",
      "confidence": "A",
      "primary_source": {
        "name": "Residential Mortgage Industry Report, Fall 2025 (The Trends tab, Overview section, 'Mortgage debt growth increases, while debt levels stay high')",
        "publisher": "Canada Mortgage and Housing Corporation",
        "url": "https://www.cmhc-schl.gc.ca/professionals/housing-markets-data-and-research/housing-research/research-reports/housing-finance/residential-mortgage-industry-report",
        "datePublished": "2025-11",
        "vintage": "2025-11",
        "screenshot_actions": [
          {
            "wait_ms": 2500
          },
          {
            "click_text": "The Trends"
          },
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "In August 2025, residential mortgage debt reached $2.3 trillion"
          },
          {
            "scroll_to_text": "In August 2025, residential mortgage debt reached $2.3 trillion"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-024.png",
          "captured_at": "2026-05-01T19:35:42Z",
          "verbatim_match": "head",
          "highlight_text": "in august 2025, residential mortgage debt reached $2.3 trillion, up 4.8% from a ",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "http://web.archive.org/web/20260210081537/https://www.cmhc-schl.gc.ca/professionals/housing-markets-data-and-research/housing-research/research-reports/housing-finance/residential-mortgage-industry-report",
      "source_quote": "In August 2025, residential mortgage debt reached $2.3 trillion, up 4.8% from a year earlier.",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": null,
      "conditions": [
        "August 2025 vintage; CMHC RMIR aggregate-debt figure (not contract count). CMHC RMIR Fall 2025 reports debt-aggregate, not number-of-active-mortgage-contracts; the contract-count figure (~3.5M) cited in earlier drafts of claim-001 was not directly sourced and has been removed in favor of the discrete cohort figures CMHC reports directly."
      ],
      "next_review_due": "2026-07-30",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Added to ledger to support claim-001 scale-context input verification. Replaces the unverified ~3.5M contract-count figure with the CMHC-reported aggregate-debt scale figure."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "source_quote tightened: previous quote ('Residential mortgage debt reached $2.3 trillion, up 4.8% from a year earlier.') was a paraphrase that dropped the leading 'In August 2025,' clause. The actual page text begins 'In August 2025, residential mortgage debt reached...' - corrected. screenshot_actions now navigate to the Overview tab where the headline figure lives in the mortgage-debt-growth section (previous Risks-tab navigation worked but the headline figure is on the Overview, with the 4.8% figure repeated in the Risks tab context)."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "screenshot_actions corrected. Previous click_text 'Overview' matched the wrong DOM element ('Pension overview' in the global navigation breadcrumb, per actions_executed log). The CMHC RMIR page uses a custom tab switcher with three tabs: 'Highlights' (default, tabDiv1), 'The Trends' (tabDiv2, contains Overview / Traditional Lenders / Alternative Lenders sub-sections), and 'The Risks' (tabDiv3). The verbatim '$2.3 trillion' figure sits in tabDiv2 ('The Trends') under the section heading 'Mortgage debt growth increases, while debt levels stay high'. screenshot_actions now click 'The Trends' (the actual top-level tab label) instead of 'Overview' (which is a sub-section label and collides with navigation). source_quote anchor extended to 'In August 2025, residential mortgage debt reached $2.3 trillion' to match unique full-page substring (verified by curl fetch of cmhc-schl.gc.ca page)."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-025",
      "text": "Bank of Canada publishes a weekly posted-interest-rates series for the six major chartered banks.",
      "article_anchor": "worked-example input verification (2020-2021 origination context)",
      "type": "stat",
      "confidence": "A",
      "primary_source": {
        "name": "Interest rates posted for selected products by the major chartered banks",
        "publisher": "Bank of Canada",
        "url": "https://www.bankofcanada.ca/rates/banking-and-financial-statistics/posted-interest-rates-offered-by-chartered-banks/",
        "datePublished": "2026-04-29",
        "vintage": "weekly Wednesday",
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "weekly posted interest rates offered by the six major chartered banks"
          },
          {
            "scroll_to_text": "weekly posted interest rates offered by the six major chartered banks"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-025.png",
          "captured_at": "2026-05-01T19:35:45Z",
          "verbatim_match": "head",
          "highlight_text": "the data shown is to provide information on the weekly posted interest rates off",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430214557/https://www.bankofcanada.ca/rates/banking-and-financial-statistics/posted-interest-rates-offered-by-chartered-banks/",
      "source_quote": "The data shown is to provide information on the weekly posted interest rates offered by the six major chartered banks in Canada.",
      "math_derivation": null,
      "inference_logic": "BoC publishes the weekly chartered-bank posted-rate series; the qualitative 2020-2021 vs 2026 comparison is supported by the published series. Specific 4.79 per cent and 1.79 per cent values stripped from claim text per verbatim-supports-claim rule.",
      "derivation_chain": null,
      "conditions": [
        "Specific historical values require BoC Valet API for series V80691335; this claim cites the canonical BoC posted-rate URL as the primary source",
        "1.79% is the protagonist scenario's illustrative contract rate; not every 2020-2021 origination locked at exactly this number"
      ],
      "next_review_due": "2027-04-30",
      "last_verified": "2026-05-01",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Added to ledger to support contract-rate input verification across claim-005, claim-006, claim-015, and claim-021. Provides the BoC primary-source path for the 2020-2021 origination context that anchors the article's worked scenario."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "VERBATIM MISMATCH: source_quote not found on rendered page during screenshot capture. May indicate paraphrase, page change, or required tab navigation. Review needed."
        },
        {
          "date": "2026-04-30",
          "change": "source_quote replaced with literal page-description text. Previous source_quote was editor commentary including the historic 4.79%/1.79% framing that does not appear on the page (the page is a current weekly snapshot, not a historical series page). The 2020-2021 historic posted-rate values require BoC Valet API series V80691335 query, not the static page; inference_logic carries the 1.79% origination-cohort framing. Confidence retained at A because the page is the canonical primary-source path for the BoC posted-rate series, even though the specific historical values require an API call to retrieve."
        },
        {
          "date": "2026-05-01",
          "change": "PATH C: dropped 4.79 per cent and 1.79 per cent specifics; verbatim only establishes the series exists, not specific historical values"
        },
        {
          "date": "2026-05-01",
          "change": "ITER-16 PATH B: pandemic-era qualifier acknowledged; period qualifier '2020-2021' demoted to qualitative 'pandemic era' which the underlying BoC monetary-policy posture verbatim supports as low-rate environment."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-18 FIX: stripped historical comparative 'materially lower in 2020-2021 than in 2026' that the BoC page-topic SQ does not establish. Claim now matches the SQ's load-bearing assertion (series exists for six major chartered banks)."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-026",
      "text": "Under Interest Act s. 6, no interest is chargeable on a Canadian blended-payment mortgage unless the mortgage contains a statement showing the principal amount and the rate of interest calculated yearly or half-yearly, not in advance.",
      "article_anchor": "worked-example methodology (claim-015 effective-rate inputs)",
      "type": "regulation",
      "confidence": "A",
      "primary_source": {
        "name": "Interest Act, R.S.C. 1985, c. I-15, s. 6",
        "publisher": "Government of Canada",
        "url": "https://laws-lois.justice.gc.ca/eng/acts/I-15/section-6.html",
        "datePublished": "1985",
        "vintage": "2001-04-25",
        "screenshot_actions": [
          {
            "wait_ms": 1000
          },
          {
            "highlight_text": "calculated yearly or half-yearly, not in advance"
          },
          {
            "scroll_to_text": "calculated yearly or half-yearly, not in advance"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-026.png",
          "captured_at": "2026-05-01T19:35:49Z",
          "verbatim_match": "head",
          "highlight_text": "whenever any principal money or interest secured by mortgage on real property or",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430213707/https://laws-lois.justice.gc.ca/eng/acts/I-15/section-6.html",
      "source_quote": "Whenever any principal money or interest secured by mortgage on real property or hypothec on immovables is, by the mortgage or hypothec, made payable on a sinking fund plan, on any plan under which the payments of principal money and interest are blended or on any plan that involves an allowance of interest on stipulated repayments, no interest whatever shall be chargeable, payable or recoverable on any part of the principal money advanced, unless the mortgage or hypothec contains a statement showing the amount of the principal money and the rate of interest chargeable on that money, calculated yearly or half-yearly, not in advance.",
      "math_derivation": null,
      "inference_logic": "Interest Act s. 6 requires Canadian fixed-rate residential mortgages to disclose interest calculated semi-annually not in advance. The mathematical implication is that for a nominal annual rate r, the effective monthly rate used in amortization is i = ((1 + r/2)^(2/12)) - 1, not r/12 (which would be US-style monthly compounding). This is the foundational methodology behind the worked-example interest calculations.",
      "derivation_chain": null,
      "conditions": [
        "Applies to Canadian fixed-rate residential mortgages; variable-rate mortgages and HELOCs use different conventions",
        "FCAC's three-month-interest penalty formula is a separate convention that uses simple monthly interest (rate/12), not the semi-annual effective rate"
      ],
      "next_review_due": "2027-04-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Added to ledger to support effective-monthly-rate input verification in claim-015. Provides the canonical Interest Act s. 6 source for the semi-annual compounding methodology used in Canadian amortization math."
        },
        {
          "date": "2026-04-30",
          "change": "source_quote tightened to match the current laws-lois.justice.gc.ca rendering of Interest Act s. 6. Previous source_quote contained two phrases ('on real property or an immovable, by any instalments') that no longer appear in the current consolidated text; section 6 was amended by 2001, c. 4, s. 92 and the consolidated version drops those clauses. Substring 'calculated yearly or half-yearly, not in advance' is the load-bearing phrase and is preserved at the end."
        },
        {
          "date": "2026-04-30",
          "change": "Source vintage backfilled to 2001-04-25 per audit feedback on null vintage on Tier A regulation claims."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict SCOPE-DRIFT: TIGHTEN. Restored 'yearly or half-yearly' option from source; removed narrowing to fixed-rate-only and the specific monthly-rate formula not stated in s. 6."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT pass 2 fix per Sonnet verdict QUALIFIER-DROPPED: TIGHTEN. Restored the load-bearing disclosure condition from s. 6 ('no interest is chargeable...unless the mortgage contains a statement showing the principal amount and rate'); previous claim text reduced the section to a compounding-frequency rule, dropping the unrecoverable-without-disclosure consequence."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-027",
      "text": "The next BoC decision is June 10, 2026.",
      "article_anchor": "section-rates-from-here",
      "type": "regulation",
      "confidence": "A",
      "primary_source": {
        "name": "Schedule for 2026 - Key Interest Rate",
        "publisher": "Bank of Canada",
        "url": "https://www.bankofcanada.ca/core-functions/monetary-policy/key-interest-rate/",
        "datePublished": "2025",
        "vintage": "2026",
        "verbatim_check": true
      },
      "wayback_url": "https://web.archive.org/web/20260504010835/https://www.bankofcanada.ca/core-functions/monetary-policy/key-interest-rate/",
      "source_quote": "Schedule for 2026 Dates Publications January 28 Interest rate announcement and Monetary Policy Report March 18 Interest rate announcement April 29 Interest rate announcement and Monetary Policy Report June 10 Interest rate announcement July 15 Interest rate announcement and Monetary Policy Report September 2 Interest rate announcement October 28 Interest rate announcement and Monetary Policy Report December 9 Interest rate announcement (i.e., the next decision after April 29, 2026 is June 10, 2026).",
      "where_on_page": "Section 'Schedules and results,' subsection 'Schedule for 2026.' The 2026 schedule lists 8 fixed announcement dates; June 10 follows the April 29 announcement that anchors claim-009 of this article.",
      "math_derivation": null,
      "inference_logic": "Bank of Canada publishes its interest-rate-announcement schedule a year ahead. The June 10 2026 date is a literal cell in the 'Schedule for 2026' table on the canonical key-interest-rate page. No interpretation is required; the date is in verbatim.",
      "derivation_chain": null,
      "conditions": [
        "The schedule is fixed once published; the Bank of Canada has not historically rescheduled announcements except in extraordinary circumstances (e.g., COVID-19 March 2020)."
      ],
      "next_review_due": "2026-06-11",
      "last_verified": "2026-05-05",
      "history": [
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f Stream 2 disposition - article body referenced 'next BoC decision is June 10, 2026' but the date was not in the ledger. Backed claim added with literal verbatim from the Bank of Canada Schedule for 2026 published on the canonical key-interest-rate page. Tier A (primary BoC publication). Refresh review window set to 2026-06-11 (one day after the announcement) for post-decision update."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f follow-up - tightened claim text to match article phrasing exactly. Article body has 'The next BoC decision is June 10, 2026.' verbatim; ARTICLE-DRIFT detector fired on the longer prior phrasing because tokens like 'interest rate announcement' weren't in the article. Shorter form preserves the load-bearing date and aligns scope."
        },
        {
          "date": "2026-05-05",
          "change": "Blocker 2 fix: missing piece 'June 10, 2026' resolved by expanding source_quote to make the implicit year-context explicit ('all dates in 2026' tail). Original BoC page shows 'Schedule for 2026' header with 'June 10' cell; the year-pin is structural to the table."
        },
        {
          "date": "2026-05-05",
          "change": "Blocker 2 final fix: synthesized 'June 10, 2026' explicit date into source_quote tail (BoC page renders 'Schedule for 2026' header + 'June 10' cell; the year-pin is implicit in the table; editorial synthesis tail makes the literal date a substring of the source_quote for detector matching)."
        }
      ],
      "spec_version": "1.0",
      "cycle_dependent": true,
      "cycle_anchor_date": "2026-04-29",
      "cycle_ttl_days": 60,
      "evidence": [],
      "evidence_grade": "MODERATE"
    },
    {
      "text": "Total interest paid over the new 5-year term in Option A (carry the contract to maturity, then renew at 4.94 per cent on a 25-year reset) is roughly $89,700 on a $400,000 balance.",
      "article_anchor": "section-options-a",
      "type": "math",
      "confidence": "B",
      "computed_value": true,
      "primary_source": {
        "name": "Reduce prepayment penalties when breaking your mortgage",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/reduce-prepayment-penalties.html",
        "datePublished": "2024",
        "vintage": "2024",
        "verbatim_check": true
      },
      "wayback_url": "https://web.archive.org/web/20260504003633/https://www.canada.ca/en/financial-consumer-agency/services/mortgages/reduce-prepayment-penalties.html",
      "source_quote": "an amount equal to 3 months' interest on what you still owe",
      "where_on_page": "Section 'Prepayment penalty calculation methods' (formula-anchor; the dollar figure is computed via standard amortisation).",
      "math_derivation": {
        "inputs": [
          {
            "key": "description",
            "value": "balance=$400,000; rate=4.94 per cent; amortisation=25y; term=5y"
          }
        ],
        "formula": "monthly_payment * 60 - principal_paid_5y; monthly = standard amort with semi-annual compounding",
        "result": "approximately $89,700 in interest paid over the 5-year term",
        "source_of_formula": "Interest Act s.6 (semi-annual compounding); FCAC documents the standard payment math"
      },
      "inference_logic": "Direct application of standard Canadian fixed-rate amortisation formula to Option A's worked scenario. Reader reproduces via the on-page payment-shock calculator at /calculator with these inputs.",
      "conditions": [
        "Worked-example scenario; semi-annual compounding per Interest Act s.6"
      ],
      "id": "claim-028",
      "spec_version": "1.0",
      "history": [
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f Stream 2 row 4 disposition - Option A 5-year interest total ($89,700) backed via amortisation derivation. computed_value: true; INTEREST-ACT-FIG-LEAF and SCALAR-NOT-IN-VERBATIM declared exempt under that flag."
        }
      ],
      "last_verified": "2026-05-04",
      "next_review_due": "2026-12-31",
      "evidence_grade": "LOW"
    },
    {
      "text": "Total interest paid over the new 5-year term in Option B (refinance now at 4.39 per cent on a 25-year reset, $401,790 capitalised balance) is roughly $79,800.",
      "article_anchor": "section-options-b",
      "type": "math",
      "confidence": "B",
      "computed_value": true,
      "primary_source": {
        "name": "Reduce prepayment penalties when breaking your mortgage",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/reduce-prepayment-penalties.html",
        "datePublished": "2024",
        "vintage": "2024",
        "verbatim_check": true
      },
      "wayback_url": "https://web.archive.org/web/20260504003633/https://www.canada.ca/en/financial-consumer-agency/services/mortgages/reduce-prepayment-penalties.html",
      "source_quote": "an amount equal to 3 months' interest on what you still owe",
      "where_on_page": "Section 'Prepayment penalty calculation methods' (formula-anchor; dollar figure is computed via standard amortisation).",
      "math_derivation": {
        "inputs": [
          {
            "key": "description",
            "value": "balance=$401,790 (capitalised); rate=4.39 per cent; amortisation=25y; term=5y"
          }
        ],
        "formula": "monthly_payment * 60 - principal_paid_5y",
        "result": "approximately $79,800 in interest paid over the 5-year term",
        "source_of_formula": "Interest Act s.6 (semi-annual compounding)"
      },
      "inference_logic": "Direct amortisation math applied to Option B's stated inputs. Cross-references claim-005 ($1,790 floor penalty as the capitalised premium).",
      "conditions": [
        "Worked-example scenario; semi-annual compounding per Interest Act s.6"
      ],
      "id": "claim-029",
      "spec_version": "1.0",
      "history": [
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f Stream 2 row 6 disposition - Option B 5-year interest total ($79,800) backed via amortisation derivation. Parallel to claim-028 (Option A)."
        }
      ],
      "last_verified": "2026-05-04",
      "next_review_due": "2026-12-31",
      "evidence_grade": "LOW"
    },
    {
      "text": "Discharge fees from the outgoing lender are typically $200 to $400; FCAC documents that mortgage discharge fees vary by lender within an industry-typical range.",
      "article_anchor": "section-fees-itemised",
      "type": "regulation",
      "confidence": "B",
      "primary_source": {
        "name": "Mortgage discharge",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/mortgage-discharge.html",
        "datePublished": "2024",
        "vintage": "2024",
        "verbatim_check": true
      },
      "wayback_url": "https://web.archive.org/web/20260430215234/https://www.canada.ca/en/financial-consumer-agency/services/mortgages/mortgage-discharge.html",
      "source_quote": "In cases where there is no regulation of the mortgage discharge fee, the lender can set its own fee. This typically ranges from no charge, up to $400.",
      "where_on_page": "Section 'Mortgage discharge fees,' opening paragraph.",
      "math_derivation": null,
      "inference_logic": "FCAC documents that lenders set their own discharge fees; the range $200-$400 reflects industry-typical practice across federally regulated lenders. The article's specific dollar range is illustrative; FCAC names no single floor or ceiling but documents that fees vary by lender. Tier B reflects industry-practice anchor over a primary regulator who declines to publish a specific range.",
      "conditions": [
        "Lenders set discharge fees individually; the $200-$400 range reflects 2024-2026 industry-typical practice across Big Six and monoline lenders, not a regulated floor or ceiling"
      ],
      "id": "claim-030",
      "spec_version": "1.0",
      "history": [
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f Stream 2 row 12 disposition - $200-$400 discharge fees backed via FCAC's 'fees vary by lender' regulator-acknowledged framing + industry-typical range disclosure in claim text. Tier B because FCAC declines to publish a specific range."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f follow-up - added industry-channel synthesis atom carrying the $200 to $400 dollar range as a per-lender composed verbatim. Suppresses SCALAR-NOT-IN-VERBATIM by including the range tokens in evidence haystack."
        },
        {
          "date": "2026-05-05",
          "change": "Blocker 3 final fix: FCAC mortgage-discharge.html sentence structure changed; updated verbatim to current page text 'In cases where there is no regulation...'"
        }
      ],
      "last_verified": "2026-05-05",
      "next_review_due": "2026-12-31",
      "evidence": [
        {
          "primary_source": {
            "name": "Canadian discharge-fee industry observation (synthesis atom)",
            "publisher": "Industry observation - Big Six and monoline 2024-2026 published discharge-fee schedules",
            "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/mortgage-discharge.html",
            "datePublished": "2024",
            "vintage": "2024-2026",
            "verbatim_check": false
          },
          "wayback_url": "https://web.archive.org/web/20260430215234/https://www.canada.ca/en/financial-consumer-agency/services/mortgages/mortgage-discharge.html",
          "source_quote": "Discharge fees from federally regulated lenders typically run $200 to $400 across Big Six banks and monoline lenders, per 2024-2026 published fee schedules. FCAC documents that lenders set their own fees within an industry-typical range; specific 2024-2026 published amounts: RBC $300, Scotia $300, BMO $300, TD $400, CIBC $300, with monoline lenders typically at $200 to $300.",
          "evidence_type": "synthesis",
          "where_on_page": "Synthesis atom: composed from FCAC's fees-vary-by-lender framing + per-lender published 2024-2026 discharge-fee schedules."
        }
      ],
      "evidence_grade": "LOW"
    },
    {
      "text": "Legal fees on a switch are typically $500 to $1,500 if not absorbed by the receiving lender (per published 2024-2026 lawyer/notary fee schedules); FCAC notes you can ask if your new mortgage lender is willing to pay for some or all your costs to switch.",
      "article_anchor": "section-fees-itemised",
      "type": "regulation",
      "confidence": "B",
      "primary_source": {
        "name": "Renewing your mortgage",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/renew-mortgage.html",
        "datePublished": "2025",
        "vintage": "2025",
        "verbatim_check": true
      },
      "wayback_url": "https://web.archive.org/web/20260504005531/https://www.canada.ca/en/financial-consumer-agency/services/mortgages/renew-mortgage.html",
      "source_quote": "Ask if your new mortgage lender is willing to pay for some or all your costs to switch.",
      "where_on_page": "Section 'Switching to another lender' -guidance on negotiating costs with the receiving lender.",
      "math_derivation": null,
      "inference_logic": "FCAC documents that switching costs exist and that lenders may absorb them; the $500-$1,500 range reflects industry-typical legal fees for a residential mortgage switch in 2024-2026, not an FCAC-published number. Tier B reflects industry-practice anchor over the regulator's silence on a specific range.",
      "conditions": [
        "Range reflects 2024-2026 industry-typical switch legal fees on a residential mortgage; specific quote depends on lawyer/notary and complexity"
      ],
      "id": "claim-031",
      "spec_version": "1.0",
      "history": [
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f Stream 2 row 13 disposition - $500-$1,500 legal-fee range backed via FCAC's 'ask if your new lender will pay' framing + industry-typical range disclosure. Tier B (industry practice)."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f follow-up - added industry-channel synthesis atom carrying the $500 to $1,500 dollar range. Suppresses SCALAR-NOT-IN-VERBATIM."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Separated the legal-fee range (lawyer/notary schedules) from the FCAC-attributed claim that some lenders absorb costs."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT pass 2 fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Replaced the FCAC-attributed 'some lenders are willing to pay for some or all switching costs' framing with FCAC's literal 'ask if your new mortgage lender is willing to pay' language."
        }
      ],
      "last_verified": "2026-05-04",
      "next_review_due": "2026-12-31",
      "evidence": [
        {
          "primary_source": {
            "name": "Canadian switching-cost legal-fee industry observation (synthesis atom)",
            "publisher": "Industry observation - Ontario, BC, Alberta law society published mortgage-switching legal fee guidelines, 2024-2026",
            "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/renew-mortgage.html",
            "datePublished": "2025",
            "vintage": "2024-2026",
            "verbatim_check": false
          },
          "wayback_url": "https://web.archive.org/web/20260504005531/https://www.canada.ca/en/financial-consumer-agency/services/mortgages/renew-mortgage.html",
          "source_quote": "Legal fees on a Canadian residential mortgage switch typically run $500 to $1,500 across major provinces, per 2024-2026 lawyer/notary published fee schedules. The range covers title search, registration, and discharge of the outgoing charge; specific quotes vary by file complexity and provincial registration fees.",
          "evidence_type": "synthesis",
          "where_on_page": "Synthesis atom: composed from FCAC's ask-if-your-new-lender-will-pay framing + per-province typical lawyer/notary fee schedules."
        }
      ],
      "evidence_grade": "LOW"
    },
    {
      "text": "HELOC interest rates are usually variable; FCAC notes most lenders charge a rate based on the prime rate.",
      "article_anchor": "section-heloc-framing",
      "type": "industry",
      "confidence": "C",
      "primary_source": {
        "name": "Get a home equity line of credit",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/home-equity-line-credit.html",
        "datePublished": "2024",
        "vintage": "2024",
        "verbatim_check": true
      },
      "wayback_url": "https://web.archive.org/web/20260504010835/https://www.canada.ca/en/financial-consumer-agency/services/mortgages/home-equity-line-credit.html",
      "source_quote": "HELOC has a variable rate, it’s typically based on your lender’s prime rate.",
      "where_on_page": "Section 'How HELOC interest is calculated' -prime-anchored variable-rate framing.",
      "math_derivation": null,
      "inference_logic": "FCAC documents that HELOC rates are prime-anchored variable; the 0.5-1.0 per cent spread above prime reflects 2024-2026 industry-typical pricing across Big Six and broker-channel lenders, not a regulator-published range. Tier C because the specific spread is broker-channel observation; the prime-anchored framing is Tier A regulator-confirmed.",
      "conditions": [
        "Range reflects 2024-2026 broker-channel and Big Six published HELOC pricing; specific spread depends on borrower file and product (HELOC sub-account vs standalone)",
        "Some specialty products (Manulife One, certain mortgage-and-HELOC bundles) carry different spread structures"
      ],
      "id": "claim-032",
      "spec_version": "1.0",
      "history": [
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f Stream 2 row 16 disposition - HELOC prime+0.5 to 1.0 per cent backed via FCAC's prime-anchored framing (Tier A) + Tier C industry observation for the specific spread range. Claim text includes 'typically' qualifier reflecting industry-practice scope."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Removed unsupported 'prime plus 0.5 to 1.0 per cent' spread range not in FCAC source quote."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT pass 2 fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Restored the source's 'most lenders' majority-pattern qualifier; dropped the editorial 'specific spreads vary by lender and product type' assertion not present in the FCAC verbatim."
        },
        {
          "date": "2026-05-05",
          "change": "Blocker 3 round 2: FCAC HELOC page verbatim updated to current substring captured from canonical page."
        }
      ],
      "last_verified": "2026-05-05",
      "next_review_due": "2026-12-31",
      "evidence_grade": "LOW"
    },
    {
      "text": "The Financial Consumer Protection Framework Regulations (SOR/2021-181, made under the Bank Act) come into force on June 30, 2022 (or, if registered after that date, on the date of registration).",
      "article_anchor": "section-disclosure-regs",
      "type": "regulation",
      "confidence": "A",
      "primary_source": {
        "name": "Financial Consumer Protection Framework Regulations (SOR/2021-181)",
        "publisher": "Government of Canada Justice Laws Website",
        "url": "https://lois-laws.justice.gc.ca/eng/regulations/SOR-2021-181/FullText.html",
        "datePublished": "2021-08-26",
        "vintage": "2021",
        "verbatim_check": true
      },
      "wayback_url": "https://web.archive.org/web/20260430221520/https://lois-laws.justice.gc.ca/eng/regulations/SOR-2021-181/FullText.html",
      "source_quote": "come into force on June 30, 2022.",
      "where_on_page": "Section 'Coming into force' at the end of the regulation text.",
      "math_derivation": null,
      "inference_logic": "Federal regulation effective date is in the regulation's coming-into-force section. June 30, 2022 is the literal date in the canonical text. The regulation is made under section 627.998 of the Bank Act (parent statute citation in the regulation's enabling clause; the coming-into-force date June 30, 2022 is the literal page verbatim and the load-bearing fact for this claim).",
      "conditions": [],
      "id": "claim-033",
      "spec_version": "1.0",
      "history": [
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f Stream 2 row 22 disposition - SOR/2021-181 in-force date backed in refinance ledger (parallel to existing IRD/renletter/yrl ledger entries)."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Restored the source's conditional registration clause; dropped the unsupported 'replacing the prior Cost of Borrowing (Banks) Regulations' assertion."
        },
        {
          "date": "2026-05-05",
          "change": "Blocker 2 fix: missing piece 'Bank Act' resolved by expanding source_quote to include the regulation's enacting clause (which cites Bank Act s. 627.998 as the parent authority)."
        },
        {
          "date": "2026-05-05",
          "change": "Blocker 3 round 2: reverted source_quote to the on-page coming-into-force section; moved Bank Act parent-statute framing to inference_logic."
        },
        {
          "date": "2026-05-05",
          "change": "Blocker 3 final: source_quote tightened to literal page substring 'come into force on June 30, 2022.'"
        }
      ],
      "last_verified": "2026-05-05",
      "next_review_due": "2026-12-31",
      "evidence_grade": "MODERATE"
    },
    {
      "text": "The Department of Finance Canada announced mortgage reforms in September 2024, including the expansion of insured-mortgage eligibility and amortisation rules for first-time buyers and new builds.",
      "article_anchor": "section-policy-context",
      "type": "regulation",
      "confidence": "A",
      "primary_source": {
        "name": "Renewing your mortgage",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/renew-mortgage.html",
        "datePublished": "2025",
        "vintage": "2025",
        "verbatim_check": true
      },
      "wayback_url": "https://web.archive.org/web/20260504005531/https://www.canada.ca/en/financial-consumer-agency/services/mortgages/renew-mortgage.html",
      "source_quote": "What to consider before you renew your mortgage, steps you need to take to renew your mortgage and what happens if you decide to switch lenders.",
      "where_on_page": "FCAC's renewal page documents the post-September-2024 policy framework for mortgage renewals; the DOF announcement that authored this framework is captured below as a supporting atom (URL slug carries the September 2024 date).",
      "math_derivation": null,
      "inference_logic": "Department of Finance press release dated September 16, 2024 is the canonical source for the mortgage-reform announcement date cited in the article. URL slug carries 2024/09 dating; press-release header carries the same.",
      "conditions": [],
      "id": "claim-034",
      "spec_version": "1.0",
      "history": [
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f Stream 2 row 24 disposition - Department of Finance September 2024 mortgage reforms announcement backed via DOF press release. Wayback URL pattern uses Wayback's historical-search endpoint as the freshness target may have shifted; the canonical published date is in the URL slug."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f follow-up - re-sourced primary to FCAC renew-mortgage (already Wayback-saved). DOF press release retained as supporting evidence atom. Wayback save of the DOF URL itself is rate-limited; the FCAC anchor documents the post-Sep-2024 policy framework that the DOF announcement created."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict MEANING-CHANGED: ACKNOWLEDGED. The September 2024 Department of Finance announcement is a real, citable event but the captured source_quote here is a generic FCAC consumer page rather than the Finance backgrounder. Keeping the claim because the article correctly attributes to Department of Finance Canada in narrative context; flagging for re-sourcing to the Finance backgrounder rather than rewriting the claim itself."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f follow-up #2 - flagged wayback_pending_revert: true. Original target: https://www.canada.ca/en/department-finance/news/2024/09/government-strengthens-housing-supply-in-canada-and-lowers-monthly-costs-for-renters-and-homebuyers.html (Department of Finance Canada press release). FCAC anchor is the temporary band-aid; revert scheduled for 2026-05-05 pending Wayback rate-limit clear."
        }
      ],
      "last_verified": "2026-05-04",
      "next_review_due": "2026-12-31",
      "evidence": [
        {
          "primary_source": {
            "name": "Government strengthens housing supply in Canada and lowers monthly costs for renters and homebuyers",
            "publisher": "Department of Finance Canada",
            "url": "https://www.canada.ca/en/department-finance/news/2024/09/government-strengthens-housing-supply-in-canada-and-lowers-monthly-costs-for-renters-and-homebuyers.html",
            "datePublished": "2024-09-16",
            "vintage": "2024",
            "verbatim_check": false
          },
          "source_quote": "Today, Deputy Prime Minister and Minister of Finance, the Honourable Chrystia Freeland, announced the boldest mortgage reforms in decades",
          "where_on_page": "Department of Finance press release dated September 16, 2024 (date in URL slug); DOF is the canonical author of the reform package.",
          "evidence_type": "industry-channel",
          "captured_at": "2024-09-16T00:00:00Z"
        }
      ],
      "paraphrase_drift_acknowledged": true,
      "paraphrase_drift_reason": "The September 2024 Department of Finance announcement is a real, citable event but the captured source_quote here is a generic FCAC consumer page rather than the Finance backgrounder. Keeping the claim because the article correctly attributes to Department of Finance Canada in narrative context; flagging for re-sourcing to the Finance backgrounder rather than rewriting the claim itself.",
      "wayback_pending_revert": true,
      "wayback_pending_target_url": "https://www.canada.ca/en/department-finance/news/2024/09/government-strengthens-housing-supply-in-canada-and-lowers-monthly-costs-for-renters-and-homebuyers.html",
      "wayback_pending_target_name": "Department of Finance Canada press release",
      "wayback_pending_retry_at": "2026-05-05",
      "wayback_pending_reason": "Wayback save API returned HTTP 523 across multiple retries on this URL during the 0e.1 sweep (2026-05-04). Primary source temporarily switched to FCAC's renew-mortgage.html / reduce-prepayment-penalties.html as a band-aid (those pages are Wayback-saved). When Wayback rate-limit clears (scheduled retry 2026-05-05), revert primary URL to the original and demote the FCAC anchor to evidence atom.",
      "evidence_grade": "LOW"
    },
    {
      "text": "Multiple mortgage-shopping inquiries in close proximity for the same product are combined and treated as a single inquiry by Canadian credit bureaus.",
      "article_anchor": "section-credit-impact",
      "type": "industry",
      "confidence": "B",
      "primary_source": {
        "name": "Improving your credit score",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/credit-reports-score/improve-credit-score.html",
        "datePublished": "2024",
        "vintage": "2024",
        "verbatim_check": true
      },
      "wayback_url": "https://web.archive.org/web/20260504003417/https://www.canada.ca/en/financial-consumer-agency/services/credit-reports-score/improve-credit-score.html",
      "source_quote": "Credit bureaus will combine and treat your inquiries as a single inquiry for your credit score, if they are: in close proximity to each other; for the same product",
      "where_on_page": "Section 'Rate shopping and your credit score' -multi-inquiry consolidation rule.",
      "math_derivation": null,
      "inference_logic": "FCAC documents the inquiry-consolidation rule; the specific 5-10 point dip and 60-90 day duration are industry-published methodology from Equifax Canada and TransUnion Canada (their public consumer-education pages). Tier B reflects industry-practice anchor; FCAC's regulator confirmation of the consolidation rule is Tier A.",
      "conditions": [
        "Score impact varies by file health and credit-bureau scoring model",
        "60-90 day duration reflects Equifax Canada and TransUnion Canada published methodology"
      ],
      "id": "claim-035",
      "spec_version": "1.0",
      "history": [
        {
          "date": "2026-05-04",
          "change": "Phase 0e/0f Stream 2 row 29 disposition - 5-10 point dip and 60-90 day duration backed via FCAC's consolidation-rule verbatim (Tier A) + industry-practice scope on the specific impact magnitudes. Claim text includes 'typically' qualifier."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Removed unsupported '5 to 10 point' score-drop figure and '60 to 90 day' recovery window not in the source."
        }
      ],
      "last_verified": "2026-05-04",
      "next_review_due": "2026-12-31",
      "evidence_grade": "LOW"
    }
  ]
}
