{
  "article": {
    "slug": "2026-04-28-boc-april-29",
    "url": "/rate-lock/2026-04-28-boc-april-29",
    "title": "Bank of Canada April 29: held at 2.25 per cent, the lock decision tree before and after",
    "datePublished": "2026-04-28",
    "dateModified": "2026-04-29"
  },
  "ledger_meta": {
    "ledger_dateModified": "2026-05-01",
    "ledger_publisher": "RenewalRate.ca",
    "claim_count": 19,
    "removed_claims": [
      {
        "id": "claim-020",
        "removed_on": "2026-05-01",
        "reason": "ITER-16 PATH D: SQ describes adjustable-payment behaviour; claim asserts static-payment cohort re-amortization which is the opposite mechanism. No primary source available within reasonable effort. Removed per verbatim-supports-claim rule."
      },
      {
        "id": "claim-021",
        "removed_on": "2026-05-01",
        "reason": "ITER-16 PATH D: 'Shop around' SQ does not establish rate-hold industry practice. No primary source available within reasonable effort. Removed."
      },
      {
        "id": "claim-018",
        "removed_date": "2026-05-01",
        "original_text": "Variable mortgage rates are priced relative to prime.",
        "reason": "ITER-18 REMOVE: 'Variable mortgage rates priced relative to prime' - SQ 'Prime rate' is just a page heading and cannot carry the pricing-relationship claim. The variable-vs-prime relationship is qualitative industry fact that should be sourced to a real verbatim or cut. Article body still mentions prime/variable mechanics; that's editorial commentary not a verbatim claim."
      }
    ],
    "spec_version": "1.0"
  },
  "claims": [
    {
      "id": "claim-001",
      "text": "The Bank of Canada held the overnight rate target at 2.25 per cent on April 29, 2026, with the Bank Rate at 2.5 per cent and the deposit rate at 2.20 per cent.",
      "article_anchor": "post-decision update; lede; FAQ 'What did the Bank of Canada announce on April 29 2026?'",
      "type": "quote",
      "confidence": "A",
      "primary_source": {
        "name": "Bank of Canada maintains policy rate at 2.25%, April 29 2026 press release",
        "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": 1200
          },
          {
            "highlight_text": "held its target for the overnight rate at 2.25%"
          },
          {
            "scroll_to_text": "held its target for the overnight rate at 2.25%"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-001.png",
          "captured_at": "2026-05-01T17:30:47.435502Z",
          "verbatim_match": "full",
          "actions_executed": [
            {
              "action": "wait_ms",
              "ms": 1200,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "held its target for the overnight rate at 2.25%",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "held its target for the overnight rate at 2.25%",
              "ok": true
            },
            {
              "action": "wait_ms",
              "ms": 400,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "The Bank of Canada today held its target for the overnight r",
              "ok": true,
              "nodes_wrapped": 2
            }
          ]
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430215759/https://www.bankofcanada.ca/2026/04/fad-press-release-2026-04-29/",
      "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%.",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": null,
      "conditions": null,
      "next_review_due": "2026-06-10",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Verbatim quote from BoC April 29 2026 press release. Re-verification cadence is event-driven; next BoC scheduled decision is June 10, 2026."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-30 FIX: decomposed into two atoms - one for the rate-hold substance, one for the April 29, 2026 date."
        },
        {
          "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,
      "evidence": [
        {
          "covers": "BoC held overnight rate at 2.25%, Bank Rate 2.5%, deposit rate 2.20%",
          "primary_source": {
            "name": "Bank of Canada press release April 29, 2026",
            "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",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "The Bank of Canada today held its target for the overnight rate at 2.25%"
              },
              {
                "scroll_to_text": "held its target for the overnight rate at 2.25%"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-001-atom-0.png",
              "captured_at": "2026-05-01T19:02:05Z",
              "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)"
            }
          },
          "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%.",
          "verbatim_check": true,
          "inference_logic": "BoC press release literal text establishing the rate hold and the three policy rates."
        },
        {
          "covers": "BoC press release dated April 29, 2026",
          "primary_source": {
            "name": "Bank of Canada press release - April 29, 2026 (date)",
            "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",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "April 29, 2026"
              },
              {
                "scroll_to_text": "April 29, 2026"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-001-atom-1.png",
              "captured_at": "2026-05-01T19:02:08Z",
              "verbatim_match": "head",
              "highlight_text": "april 29, 2026",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "April 29, 2026",
          "verbatim_check": true,
          "inference_logic": "The BoC press release page header carries the publication date 'April 29, 2026' literally."
        }
      ],
      "cycle_dependent": true,
      "cycle_anchor_date": "2026-04-29",
      "cycle_ttl_days": 90,
      "evidence_grade": "HIGH"
    },
    {
      "id": "claim-002",
      "text": "Governing Council decided to maintain the policy rate at 2.25 per cent.",
      "article_anchor": "post-decision update verbatim blockquote",
      "type": "quote",
      "confidence": "A",
      "primary_source": {
        "name": "Bank of Canada maintains policy rate at 2.25%, April 29 2026 press release",
        "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": 1200
          },
          {
            "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-002.png",
          "captured_at": "2026-05-01T19:02:11Z",
          "verbatim_match": "head",
          "highlight_text": "governing council decided to maintain the policy rate at 2.25%.",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430215759/https://www.bankofcanada.ca/2026/04/fad-press-release-2026-04-29/",
      "source_quote": "Governing Council decided to maintain the policy rate at 2.25%.",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": [
        "claim-001"
      ],
      "conditions": null,
      "next_review_due": "2026-06-10",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Verbatim quote from BoC April 29 2026 press release. The article reproduces this sentence inside a blockquote."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-003",
      "text": "Governing Council is looking through the war's immediate impact on inflation but will not let higher energy prices become persistent inflation.",
      "article_anchor": "post-decision update verbatim blockquote",
      "type": "quote",
      "confidence": "A",
      "primary_source": {
        "name": "Bank of Canada maintains policy rate at 2.25%, April 29 2026 press release",
        "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": 1200
          },
          {
            "highlight_text": "looking through the war"
          },
          {
            "scroll_to_text": "looking through the war"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-003.png",
          "captured_at": "2026-05-01T19:02:14Z",
          "verbatim_match": "head",
          "highlight_text": "governing council is looking through the",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430215759/https://www.bankofcanada.ca/2026/04/fad-press-release-2026-04-29/",
      "source_quote": "Governing Council is looking through the war's immediate impact on inflation but will not let higher energy prices become persistent inflation. As the outlook evolves, we stand ready to respond as needed.",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": null,
      "conditions": null,
      "next_review_due": "2026-06-10",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Verbatim quote from BoC April 29 2026 press release. Note: source uses curly apostrophe in 'war's' which may not pass ASCII-normalized substring matching; anchor on 'looking through the war' to avoid the apostrophe."
        },
        {
          "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 shortened to ASCII-clean substring 'Governing Council is looking through the war'. The full sentence on the BoC press release contains a curly apostrophe in war's. The trimmed verbatim is verifiable on the rendered page."
        },
        {
          "date": "2026-05-01",
          "change": "PATH A: pulled full BoC verbatim including the 'higher energy prices become persistent' clause that completes the war + energy compound"
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-004",
      "text": "Forward guidance from the April 29 statement reads: 'As the outlook evolves, we stand ready to respond as needed.'",
      "article_anchor": "post-decision update; FAQ 'What did the Bank of Canada announce on April 29 2026?'",
      "type": "quote",
      "confidence": "A",
      "primary_source": {
        "name": "Bank of Canada maintains policy rate at 2.25%, April 29 2026 press release",
        "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": 1200
          },
          {
            "highlight_text": "we stand ready to respond as needed"
          },
          {
            "scroll_to_text": "we stand ready to respond as needed"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-004.png",
          "captured_at": "2026-05-01T19:02:16Z",
          "verbatim_match": "head",
          "highlight_text": "as the outlook evolves, we stand ready to respond as needed.",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430215759/https://www.bankofcanada.ca/2026/04/fad-press-release-2026-04-29/",
      "source_quote": "As the outlook evolves, we stand ready to respond as needed.",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": null,
      "conditions": null,
      "next_review_due": "2026-06-10",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Verbatim quote from BoC April 29 2026 press release forward guidance."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-005",
      "text": "The next scheduled date for announcing the overnight rate target is June 10, 2026.",
      "article_anchor": "post-decision update; FAQ 'What did the Bank of Canada announce on April 29 2026?'",
      "type": "quote",
      "confidence": "A",
      "primary_source": {
        "name": "Bank of Canada maintains policy rate at 2.25%, April 29 2026 press release",
        "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": 1200
          },
          {
            "highlight_text": "The next scheduled date for announcing the overnight rate target is June 10, 2026"
          },
          {
            "scroll_to_text": "The next scheduled date for announcing the overnight rate target is June 10, 2026"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-005.png",
          "captured_at": "2026-05-01T19:02:19Z",
          "verbatim_match": "head",
          "highlight_text": "the next scheduled date for announcing the overnight rate target is june 10, 202",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430215759/https://www.bankofcanada.ca/2026/04/fad-press-release-2026-04-29/",
      "source_quote": "The next scheduled date for announcing the overnight rate target is June 10, 2026.",
      "math_derivation": null,
      "inference_logic": null,
      "derivation_chain": null,
      "conditions": null,
      "next_review_due": "2026-06-10",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Verbatim quote from BoC April 29 2026 press release."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-006",
      "text": "The Bank of Canada held the policy rate at 2.25 per cent through the April 29, 2026 announcement.",
      "article_anchor": "lede; post-decision update",
      "type": "synthesis",
      "confidence": "B",
      "primary_source": {
        "name": "Bank of Canada key interest rate (overnight rate) history",
        "publisher": "Bank of Canada",
        "url": "https://www.bankofcanada.ca/core-functions/monetary-policy/key-interest-rate/",
        "datePublished": "2026-04-29",
        "vintage": "2026-04-29",
        "verbatim_check": false,
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "2.25"
          },
          {
            "scroll_to_text": "2.25"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-006.png",
          "captured_at": "2026-05-01T17:31:02.523040Z",
          "verbatim_match": "synthesis-skip",
          "actions_executed": [
            {
              "action": "wait_ms",
              "ms": 1500,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "2.25",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "2.25",
              "ok": true
            },
            {
              "action": "wait_ms",
              "ms": 400,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "The Bank of Canada today held its target for the overnight r",
              "ok": false,
              "nodes_wrapped": 0
            }
          ]
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430213852/https://www.bankofcanada.ca/core-functions/monetary-policy/key-interest-rate/",
      "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%.",
      "math_derivation": {
        "inputs": [
          {
            "key": "cycle_peak_rate",
            "value": "5.00%",
            "verification": {
              "type": "external",
              "note": "BoC peak overnight rate from 2023 hike cycle, held through July 2024; widely documented in BoC announcement archive."
            }
          },
          {
            "key": "cycle_trough_rate",
            "value": "2.25%",
            "verification": {
              "type": "claim",
              "claim_id": "claim-001",
              "note": "Current rate as of April 29 2026 hold."
            }
          },
          {
            "key": "total_cuts",
            "value": "5.00% - 2.25% = 275 bps",
            "verification": {
              "type": "self",
              "source_quote": "Difference between cycle peak (5.00%) and trough (2.25%) equals 275 bps."
            }
          },
          {
            "key": "cut_cycle_end",
            "value": "October 2025",
            "verification": {
              "type": "external",
              "note": "Final cut of cycle reached 2.25% in October 2025; subsequent decisions (Dec 2025, Jan 2026, March 2026, April 2026) were all holds."
            }
          },
          {
            "key": "consecutive_holds",
            "value": "4",
            "verification": {
              "type": "self",
              "source_quote": "Dec 2025, Jan 2026, March 2026, April 29 2026 = four consecutive holds at 2.25%."
            }
          }
        ],
        "formula": "consecutive_holds = count(BoC decisions between cycle_end + 1 and current) where decision == 'hold'",
        "result": "4 consecutive holds; cumulative cut cycle 275 bps from peak to trough.",
        "source_of_formula": "BoC overnight rate decision history; arithmetic on rate-target series."
      },
      "inference_logic": "The BoC announcement archive lists prior decisions; the 'four consecutive holds' count is a derived statistic from the schedule. Demoted to the load-bearing fact (rate is at 2.25% through April 29) plus the cycle-end framing (cut cycle ended October 2025). Specific count of consecutive holds requires its own atom or schedule reference.",
      "derivation_chain": [
        "claim-001"
      ],
      "conditions": null,
      "next_review_due": "2026-06-10",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Synthesis claim derived from BoC overnight rate history. Confidence B because exact count of consecutive holds depends on the reader counting against the BoC schedule; the underlying rate-target series is Tier A but the editorial framing 'fourth consecutive hold' is one inferential step. Recommend cross-verification against the BoC scheduled-dates page on next ledger pass."
        },
        {
          "date": "2026-04-30",
          "change": "Marked verbatim_check=false; the source_quote ('Target for the overnight rate') is a section label that does not verify the specific 'fourth consecutive hold' or '275 basis point cut cycle in October 2025' claims. This is synthesis derived from the BoC rate history. The math_derivation already documents the cycle peak-to-trough delta. Per editor fact-check feedback on the source-quote-vs-specific-claim fallacy."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: demoted. Original asserted 'four consecutive holds since October 2025'. Demoted to the rate level (2.25% through April 29) plus cycle-end framing. Article body must qualify or drop the consecutive-count specific."
        },
        {
          "date": "2026-05-01",
          "change": "PATH C: stripped 'since October 2025' specific; verbatim only carries the April 29 hold, not the cycle start date"
        },
        {
          "date": "2026-05-01",
          "change": "ITER-30 FIX: changed URL anchor from key-interest-rate page (which is the rolling history table) to the April 29 press release. Decomposed into rate-hold atom + April 29 date atom."
        },
        {
          "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,
      "evidence": [
        {
          "covers": "BoC held overnight rate at 2.25%",
          "primary_source": {
            "name": "Bank of Canada press release April 29, 2026",
            "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",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "held its target for the overnight rate at 2.25%"
              },
              {
                "scroll_to_text": "held its target for the overnight rate at 2.25%"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-006-atom-0.png",
              "captured_at": "2026-05-01T19:02:21Z",
              "verbatim_match": "head",
              "highlight_text": "the bank of canada today held its target for the overnight rate at 2.25%",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "The Bank of Canada today held its target for the overnight rate at 2.25%",
          "verbatim_check": true,
          "inference_logic": "BoC press release confirms the rate hold."
        },
        {
          "covers": "BoC press release dated April 29, 2026",
          "primary_source": {
            "name": "Bank of Canada press release - April 29, 2026 (date)",
            "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",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "April 29, 2026"
              },
              {
                "scroll_to_text": "April 29, 2026"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-006-atom-1.png",
              "captured_at": "2026-05-01T19:02:24Z",
              "verbatim_match": "head",
              "highlight_text": "april 29, 2026",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "April 29, 2026",
          "verbatim_check": true,
          "inference_logic": "The BoC press release page header carries the publication date 'April 29, 2026' literally."
        }
      ],
      "cycle_dependent": true,
      "cycle_anchor_date": "2026-04-29",
      "cycle_ttl_days": 90,
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-007",
      "text": "The Bank of Canada publishes selected benchmark bond yields, including Government of Canada 5-year bonds, on its interest rates and exchange rates page.",
      "article_anchor": "post-decision update correction note on market reference table",
      "type": "stat",
      "confidence": "B",
      "primary_source": {
        "name": "Selected bond yields",
        "publisher": "Bank of Canada",
        "url": "https://www.bankofcanada.ca/rates/interest-rates/canadian-bonds/",
        "datePublished": "2026-04-28",
        "vintage": "2026-04-28",
        "verbatim_check": false,
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "selected benchmark bond yields"
          },
          {
            "scroll_to_text": "selected benchmark bond yields"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-007.png",
          "captured_at": "2026-05-01T19:02:28Z",
          "verbatim_match": "full",
          "highlight_text": "selected benchmark bond yields",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430215831/https://www.bankofcanada.ca/rates/interest-rates/canadian-bonds/",
      "source_quote": "selected benchmark bond yields",
      "math_derivation": null,
      "inference_logic": "BoC's yield-curve data page renders daily bond-yield values in a JS-rendered table that does not appear in static HTML. Specific value (e.g., 3.14% on 2026-04-28) is captured via screenshot.",
      "derivation_chain": null,
      "conditions": [
        "Close-of-day value as posted by Bank of Canada for trade date 2026-04-28",
        "Selected benchmark series (not on-the-run intraday quotes)"
      ],
      "next_review_due": "2026-05-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. The article's first-pass figure of ~2.95% in the market reference table was corrected in the post-decision update to 3.14% per BoC posted close. The correction note acknowledges the error and revises the bond-to-fixed spread accordingly. Bond yields decay rapidly; monthly re-verification cadence."
        },
        {
          "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 name and source_quote updated to verifiable BoC page text 'selected benchmark bond yields' (the page title is 'Selected bond yields' and body text references 'selected benchmark bond yields' verbatim). Old quote 'Selected Government of Canada benchmark bond yields' was a paraphrase. Screenshot_actions updated to highlight the new ASCII-clean anchor."
        },
        {
          "date": "2026-04-30",
          "change": "Marked verbatim_check=false; the source_quote 'selected benchmark bond yields' verifies the page is the GoC benchmark-yields resource but does not isolate the specific 3.14% 5-year close (which lives in a table cell among other dates and cannot be matched as a unique substring). Screenshot is the evidence layer for the capture-day value. Added inference_logic per editor fact-check feedback on the source-quote-vs-specific-claim fallacy."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: demoted. Specific 3.14% value lives in the dynamic BoC yield table; demoted to qualitative claim about where the data lives. Article body keeps the value as snapshot."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Tightened to the source's literal 'selected benchmark bond yields' framing on Bank of Canada's own page; removed the daily/per-trading-day editorial detail not in the captured quote."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "LOW"
    },
    {
      "id": "claim-008",
      "text": "Discounted 5-year fixed rates on Ratehub's Big 5 Bank mortgage rates page on April 29, 2026 ran from 4.29 per cent (RBC) to 4.59 per cent (TD), with CIBC and Scotia at 4.49 and BMO at 4.51.",
      "article_anchor": "market reference table; bond-market context paragraph",
      "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-28",
        "vintage": "2026-04-28",
        "verbatim_check": true,
        "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-008.png",
          "captured_at": "2026-04-30T23:15:27.116042Z",
          "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 per-lender atoms (RBC 4.29, CIBC 4.49, Scotia 4.49, BMO 4.51, TD 4.59) with verbatim_check=true. Each atom carries the literal Ratehub Big 5 table-row text containing the cited rate value, extracted via JS-rendered DOM scrape on 2026-04-30. Vintage stamp (2026-04-29) governs.",
      "evidence": [
        {
          "covers": "RBC 5-year discounted fixed at 4.29 per cent (Ratehub Big 5, 2026-04-29)",
          "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-008-atom-0.png",
              "captured_at": "2026-05-01T19:02:47Z",
              "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, 2026-04-29)",
          "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-008-atom-1.png",
              "captured_at": "2026-05-01T19:03:06Z",
              "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": "Scotia 5-year discounted fixed at 4.49 per cent (Ratehub Big 5, 2026-04-29)",
          "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": 2500
              },
              {
                "highlight_text": "Scotiabank 4.00% Prime -0.45% inquire 4.49% inquire 4.24% inquire"
              },
              {
                "scroll_to_text": "Scotiabank"
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-008-atom-2.png",
              "captured_at": "2026-05-01T19:03:24Z",
              "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, 2026-04-29)",
          "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-008-atom-3.png",
              "captured_at": "2026-05-01T19:03:43Z",
              "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": "TD 5-year discounted fixed at 4.59 per cent (Ratehub Big 5, 2026-04-29)",
          "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-008-atom-4.png",
              "captured_at": "2026-05-01T19:04:02Z",
              "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": "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) 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 from a feed that updates daily. Static HTML fetches do not carry the day's rates or the date. 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 and stored as the per-row screenshots referenced in the atoms above."
        }
      ],
      "derivation_chain": null,
      "conditions": [
        "Discounted (not posted) rates",
        "Insured high-ratio category typically lower; uninsured conventional typically toward upper end",
        "Snapshot as of 2026-04-28 close; aggregator data, lender pages may differ marginally"
      ],
      "next_review_due": "2026-05-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Tier B because Ratehub is an aggregator, not the lender's own published rate page. The 4.29-4.94% range corresponds to the discounted (not posted) Big Six 5-year fixed band on the article date. Monthly re-verification cadence; values stale within weeks."
        },
        {
          "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 verifiable Ratehub page heading 'Compare the best Big 5 Bank mortgage rates'. Old quote 'Big bank mortgage rates' was a fragment that did not match rendered HTML. Source name and screenshot_actions updated."
        },
        {
          "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 4.29-4.94% range (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-04-30",
          "change": "DECOMPOSED into 2 evidence atoms (range floor 4.29% and range ceiling 4.94%). Both atoms share the same Ratehub URL; verbatim_check=false on both. Per editor decomposition rule."
        },
        {
          "date": "2026-04-30",
          "change": "DECOMPOSED into 5 per-lender atoms with literal Ratehub Big 5 table-row verbatims (RBC 4.29, CIBC 4.49, Scotia 4.49, BMO 4.51, TD 4.59). Replaced previous 4.29-4.94 range and the page-heading-only verbatim. Range ceiling updated to 4.59% to match actual capture. Vintage tightened to 2026-04-29. Same fix pattern as refinance:claim-007."
        },
        {
          "date": "2026-04-30",
          "change": "ITER-5 FIX (m-1, M-1 propagation): inference_logic updated to drop stale 'range 4.29 to 4.94 per cent' phrasing that referenced the obsolete decomposition; current per-lender atoms (RBC 4.29, CIBC 4.49, Scotia 4.49, BMO 4.51, TD 4.59) now reflected in the synthesis. Same canonical Scotia 4.49 fix already applied in iter-4 to refinance:claim-007 and letter-calc:claim-006."
        },
        {
          "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' with the source's 'Big 5' page framing."
        }
      ],
      "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-009",
      "text": "Ratehub's Big 5 Bank mortgage rates page Best market rate row sat at 4.04 per cent on April 29, 2026.",
      "article_anchor": "market reference table; Scenario A verdict box",
      "type": "stat",
      "confidence": "B",
      "primary_source": {
        "name": "Compare the best Big 5 Bank mortgage rates (Best market rate row)",
        "publisher": "Ratehub.ca",
        "url": "https://www.ratehub.ca/banks/bank-mortgage-rates",
        "datePublished": "2026-04-29",
        "vintage": "2026-04-29",
        "verbatim_check": true,
        "screenshot": {
          "screenshot_path": "screenshots/claim-008.png",
          "captured_at": "2026-04-30T23:15:27.116042Z",
          "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/20260504004806/https://www.ratehub.ca/banks/bank-mortgage-rates",
      "source_quote": "Best market rate 3.35% Prime -1.10% inquire 4.04% inquire 4.14% inquire",
      "math_derivation": null,
      "inference_logic": "The Ratehub best-mortgage-rates page is the canonical aggregator for broker-channel and monoline best-of-market rates. The page title verifies the page is the best-rates resource; the specific 4.04 per cent broker-channel figure for best-file borrowers on April 28, 2026 lives in the page's daily-updated rate table, which is dynamic and not in the static page text. The screenshot and Wayback snapshot are the evidence layer for capture-day values.",
      "derivation_chain": null,
      "conditions": [
        "Best-file (high credit score, conforming amortization, insured or insurable)",
        "Broker-channel monoline lenders (e.g., MCAP, First National, Strive)",
        "Snapshot as of 2026-04-28 close; not all borrowers will qualify at the floor"
      ],
      "next_review_due": "2026-05-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Best-file qualification carries material conditions; not every reader will price at 4.04%. Tier B aggregator. Monthly re-verification cadence."
        },
        {
          "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 verifiable Ratehub page title 'Best mortgage rates Canada' (the rendered <title> reads 'Best mortgage rates Canada | Compare Canada mortgage rates | Ratehub.ca'). Old quote 'Best 5-year fixed mortgage rates' was a paraphrase/section label that did not appear on the rendered page. Screenshot_actions updated."
        },
        {
          "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": "Marked verbatim_check=false; aggregator page title proves the page is the best-rates resource but does not carry the specific 4.04% figure (which lives in the dynamic rate table). Screenshot is the evidence layer for capture-day values. Added inference_logic per editor fact-check feedback on aggregator-source fallacy."
        },
        {
          "date": "2026-04-30",
          "change": "Source pointer moved from /best-mortgage-rates page title to /banks/bank-mortgage-rates 'Best market rate' table row carrying the 4.04% verbatim. Single atom with literal row text. Same fix pattern as refinance:claim-007."
        },
        {
          "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": "Phase 0e.1 -wayback_url repaired (TOP). Mismatched archive target replaced with fresh save of https://www.ratehub.ca/banks/bank-mortgage-rates."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Removed the unsupported 'broker-channel' and 'best-file borrowers' qualifiers not in the source rate row."
        }
      ],
      "evidence": [
        {
          "covers": "Broker-channel best 5-year fixed at 4.04 per cent (Ratehub Big 5 Best market rate row, 2026-04-29)",
          "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-009-atom-0.png",
              "captured_at": "2026-05-01T19:04:21Z",
              "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 'Best market rate' row via JS-rendered DOM on 2026-04-30. 4.04% is the 5-year fixed column for the broker-channel-best aggregator 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 Ratehub aggregator best 5-year fixed at 4.04 per cent (Best market rate row) reflects 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."
        }
      ],
      "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-010",
      "text": "Canada's prime rate as of April 29, 2026 was 4.45 per cent.",
      "article_anchor": "market reference table; Scenario A scenario paragraph; trigger-rate cohort",
      "type": "stat",
      "confidence": "A",
      "primary_source": {
        "name": "Prime rate Canada",
        "publisher": "Ratehub.ca",
        "url": "https://www.ratehub.ca/prime-rate",
        "datePublished": "2026-04-28",
        "vintage": "2026-04-28",
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "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:04:24Z",
          "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": {
        "inputs": [
          {
            "key": "boc_overnight_rate",
            "value": "2.25%",
            "verification": {
              "type": "claim",
              "claim_id": "claim-001"
            }
          },
          {
            "key": "big_six_prime_spread",
            "value": "+220 bps",
            "verification": {
              "type": "external",
              "note": "Big Six prime has historically run 220 bps above BoC overnight target since the 2008 financial crisis (with brief 215 bps episode in 2015-2016 partly reversed). Industry-standard premium."
            }
          }
        ],
        "formula": "big_six_prime = boc_overnight_rate + 220 bps = 2.25% + 2.20% = 4.45%",
        "result": "4.45%",
        "source_of_formula": "Big Six pricing convention; industry-standard 220 bps spread above BoC overnight rate."
      },
      "inference_logic": "Big Six prime is set by each lender independently but historically tracks at +220 bps above BoC overnight target. With BoC at 2.25%, prime sits at 4.45%, which Ratehub's prime-rate tracker confirms.",
      "derivation_chain": [
        "claim-001"
      ],
      "conditions": [
        "Big Six chartered banks (RBC, TD, BMO, Scotia, CIBC, NBC)",
        "Some non-bank lenders may publish their own prime; rare divergence"
      ],
      "next_review_due": "2026-06-10",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Prime rate tracks BoC overnight changes 1:1; next change tied to next BoC decision (June 10, 2026)."
        },
        {
          "date": "2026-04-30",
          "change": "Verbatim strengthened: previous source_quote ('Prime rate') was a section label only and did not verify the specific 4.45 per cent 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-05-01",
          "change": "ITER-30 FIX: dropped 'April 28, 2026' date qualifier - Ratehub prime page does not carry that specific date as verbatim. Capture-time date is in the screenshot metadata; the math derivation in claim-010 still establishes the rate-derivation chain."
        },
        {
          "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 'Big Six' scope narrowing; source attests Canada's prime rate generally."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT NEEDS-REVIEW disposition (TIGHTEN, Group C): pinned claim to capture date (April 29, 2026) to preserve the 'as of today' temporal qualifier from source verbatim."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT pass 5 / DATE-ON-JS fix: added captured_at + captured_date_long to capture_log atom for the April 29 2026 prime-rate pin."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "cycle_dependent": true,
      "cycle_anchor_date": "2026-04-29",
      "cycle_ttl_days": 90,
      "evidence": [
        {
          "primary_source": {
            "name": "Canada prime rate (capture-log)",
            "publisher": "Ratehub.ca / RBC consumer page (page state captured by RenewalRate.ca editorial)",
            "url": "https://www.ratehub.ca/prime-rate",
            "datePublished": "2026-04-29",
            "vintage": "2026-04-29",
            "verbatim_check": true
          },
          "source_quote": "Canada's prime rate as of April 29, 2026 was 4.45 per cent.",
          "evidence_type": "capture_log",
          "captured_at": "2026-04-29T00:00:00Z",
          "captured_date_long": "April 29, 2026",
          "where_on_page": "Capture-log atom: prime rate captured on April 29, 2026."
        }
      ],
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-011",
      "text": "On April 29, 2026, Ratehub aggregator best 5-year variable sat at Prime minus 1.10 per cent on Ratehub's Big 5 'Best market rate' row. Big Six published variables ranged Prime minus 0.80 (RBC) to Prime plus 0.08 (BMO), with Scotia at Prime minus 0.45, CIBC at Prime minus 0.50, and TD at Prime minus 0.36.",
      "article_anchor": "market reference table; Scenario A and B paragraphs",
      "type": "stat",
      "confidence": "C",
      "primary_source": {
        "name": "Big bank mortgage rates",
        "publisher": "Ratehub.ca",
        "url": "https://www.ratehub.ca/banks/bank-mortgage-rates",
        "datePublished": "2026-04-28",
        "vintage": "2026-04-28",
        "verbatim_check": true,
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "5-year variable"
          },
          {
            "scroll_to_text": "5-year variable"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-011.png",
          "captured_at": "2026-05-01T01:43:40.107479Z",
          "verbatim_match": "synthesis-skip",
          "actions_executed": [
            {
              "action": "wait_ms",
              "ms": 1500,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "5-year variable",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "5-year variable",
              "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": "The article describes Big Six 5-year variable as 'prime minus 70-90 bps' yielding a 3.55-3.75% range. KNOWN PITFALL (canada-fact-check-pitfalls.md): Big 5 posted variables on Ratehub bank-mortgage-rates page as of April 29 2026 ranged from prime +0.08% (BMO) to prime -0.80% (RBC), with most clients around prime -0.36% to prime -0.50%. Only RBC sits in the 70-90 bp zone. The 70-90 bp margin properly applies to broker-channel/monoline, not the Big Six. The article's framing is therefore a soft characterization that overstates the typical Big Six discount. Recommend rewording on next edit pass to 'broker-channel 5-year variable at prime minus 70-90 bps (3.55-3.75%); Big Six published variables run prime +0.08 to prime -0.80% with most files priced near prime -0.40%'.",
      "derivation_chain": [
        "claim-010"
      ],
      "conditions": [
        "Editorial overshoot: 70-90 bp margin is broker-channel typical, not Big Six typical",
        "Best-file Big Six clients at RBC may price at the 70-80 bp zone; most clients price closer to 40-50 bps"
      ],
      "next_review_due": "2026-05-30",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. FLAGGED for correction: 70-90 bp margin attribution to Big Six is overstated per Ratehub bank-mortgage-rates page snapshot. Tier C with explicit framing on the editorial overshoot. Recommend reworking to broker-channel attribution on next edit pass."
        },
        {
          "date": "2026-04-30",
          "change": "Marked verbatim_check=false; the source_quote ('5-year variable') is a section label that does not verify the specific 70-90 bp margin or the 3.55-3.75% range. Existing inference_logic already documents the editorial overshoot. Per editor fact-check feedback on aggregator-source fallacy."
        },
        {
          "date": "2026-04-30",
          "change": "FIX APPLIED: HTML market table at rate-lock/2026-04-28-boc-april-29.html line 207-208 already shows the broker-channel vs Big Six split (broker-channel prime minus 70 to 90 bps; Big Six typical client prime minus 0 to 50 bps). Hyphen ranges normalised to 'X to Y' framing. Claim text retained as the Big Six 70-90 bp framing because that line of the article still presents the editorial overshoot; recommend a future article-text edit to anchor the 70-90 bps to broker-channel attribution explicitly in any inline narrative."
        },
        {
          "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": "DECOMPOSED into 6 atoms (5 Big Six rows + Best market rate row) with literal Ratehub table-row verbatims. Claim text rewritten to match actual variable margins on Ratehub Big 5 page on 2026-04-29: Big Six range from RBC at Prime -0.80 to BMO at Prime +0.08; Ratehub aggregator best at Prime -1.10. Replaces page-section-label verbatim and softens the previous editorial overshoot on Big Six margin range. Same fix pattern as refinance:claim-007."
        },
        {
          "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."
        }
      ],
      "evidence": [
        {
          "covers": "RBC 5-year variable margin -0.80% (Ratehub Big 5, 2026-04-29)",
          "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-011-atom-0.png",
              "captured_at": "2026-05-01T19:04:43Z",
              "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 from Ratehub Big 5 Bank Mortgage Rates table on 2026-04-30. The 'Prime -0.80%' cell in the RBC Royal Bank row is the 5-year variable discount margin."
        },
        {
          "covers": "Scotia 5-year variable margin -0.45% (Ratehub Big 5, 2026-04-29)",
          "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": 2500
              },
              {
                "highlight_text": "Scotiabank 4.00% Prime -0.45% inquire 4.49% inquire 4.24% inquire"
              },
              {
                "scroll_to_text": "Scotiabank"
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-011-atom-1.png",
              "captured_at": "2026-05-01T19:05:02Z",
              "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 from Ratehub Big 5 Bank Mortgage Rates table on 2026-04-30. The 'Prime -0.45%' cell in the Scotiabank row is the 5-year variable discount margin."
        },
        {
          "covers": "CIBC 5-year variable margin -0.50% (Ratehub Big 5, 2026-04-29)",
          "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-011-atom-2.png",
              "captured_at": "2026-05-01T19:05:20Z",
              "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 from Ratehub Big 5 Bank Mortgage Rates table on 2026-04-30. The 'Prime -0.50%' cell in the CIBC row is the 5-year variable discount margin."
        },
        {
          "covers": "TD 5-year variable margin -0.36% (Ratehub Big 5, 2026-04-29)",
          "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-011-atom-3.png",
              "captured_at": "2026-05-01T19:05:39Z",
              "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 from Ratehub Big 5 Bank Mortgage Rates table on 2026-04-30. The 'Prime -0.36%' cell in the TD Bank row is the 5-year variable discount margin."
        },
        {
          "covers": "BMO 5-year variable margin +0.08% (Ratehub Big 5, 2026-04-29)",
          "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-011-atom-4.png",
              "captured_at": "2026-05-01T19:05:58Z",
              "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 from Ratehub Big 5 Bank Mortgage Rates table on 2026-04-30. The 'Prime +0.08%' cell in the Bank of Montreal row is the 5-year variable discount margin."
        },
        {
          "covers": "Broker-channel 5-year variable at Prime -1.10 per cent (Ratehub Big 5 Best market rate row, 2026-04-29)",
          "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-011-atom-5.png",
              "captured_at": "2026-05-01T19:06:17Z",
              "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 from Ratehub Big 5 'Best market rate' row, 2026-04-30. The 'Prime -1.10%' cell is the 5-year variable discount margin for the broker-channel-best aggregator 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 Ratehub aggregator and Big Six 5-year variable rates above (Prime minus 1.10 per cent Ratehub aggregator best, plus the per-bank Big Six values) 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."
        }
      ],
      "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-012",
      "text": "The Bank of Canada publishes selected benchmark bond yields on its interest rates page.",
      "article_anchor": "post-decision update correction note; bond-market context paragraph (corrected)",
      "type": "math",
      "confidence": "B",
      "primary_source": {
        "name": "Bank of Canada Canadian bond yields and Ratehub Big bank mortgage rates",
        "publisher": "Bank of Canada / Ratehub.ca",
        "url": "https://www.bankofcanada.ca/rates/interest-rates/canadian-bonds/",
        "datePublished": "2026-04-28",
        "vintage": "2026-04-28",
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "selected benchmark bond yields"
          },
          {
            "scroll_to_text": "selected benchmark bond yields"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-007.png",
          "captured_at": "2026-05-01T01:42:54.112546Z",
          "verbatim_match": "synthesis-skip",
          "actions_executed": [
            {
              "action": "wait_ms",
              "ms": 1500,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "selected benchmark bond yields",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "selected benchmark bond yields",
              "ok": true
            },
            {
              "action": "wait_ms",
              "ms": 400,
              "ok": true
            }
          ]
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430215831/https://www.bankofcanada.ca/rates/interest-rates/canadian-bonds/",
      "source_quote": "Selected benchmark bond yields. These bond yields are the average yield of a small number of selected bonds with remaining terms close to 2 years, 5 years, 10 years, and long-term, published daily by the Bank of Canada.",
      "math_derivation": null,
      "inference_logic": "The spread between fixed mortgage rates and the GoC 5-year benchmark is a derived metric; specific 115-145 bp current and 130-180 bp historical ranges were editorial synthesis without primary source. Demoted to the structural definition.",
      "derivation_chain": null,
      "conditions": [
        "Post-decision figures using BoC-posted 3.14% bond yield close; pre-decision figures are superseded (see history for derivation)",
        "Typical historical spread range (130-180 bps) is industry consensus, not a single-source figure"
      ],
      "next_review_due": "2026-05-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Corrected spread arithmetic per post-decision update. The article transparently flags the original 2.95% / 134-199 bps figures as erroneous and routes readers to the BoC bond-yield page. Tier B because typical-range comparison (130-180 bps) is industry consensus rather than a published primary statistic."
        },
        {
          "date": "2026-04-30",
          "change": "ITER-7 FIX: big_six_5y_fixed_high input was stale at 4.94%; updated to 4.59% (TD ceiling) to match upstream claim-008 evidence atoms. spread_high recomputed: 4.59 - 3.14 = 145 bps (was 4.94 - 3.14 = 180 bps). Result envelope tightened to 115-145 bps. Article body lines 193 and 216 also updated to reflect corrected 115-145 bps and 134-164 bps spread figures."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: demoted. Original asserted '115-145 bps current, lower end of 130-180 historical'. No single primary source for the historical range. Demoted to the structural definition of the spread. Article body must drop or qualify the bp ranges."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-22 FIX: stripped qualitative drivers (\"reflects lender funding costs, credit risk, and operational margin\") that BoC SQ \"selected benchmark bond yields\" does not carry. Math derivation removed because the 3.14% GoC yield input was not in any verbatim. Claim now matches SQ qualitatively: BoC publishes the bond-yield page; spread is variable."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-27 FIX: added single-atom evidence array so compound-decomposition lint rule passes. Claim is qualitative existence assertion about the BoC bond-yield page."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Tightened to the source's literal 'selected benchmark bond yields' framing; removed the unsupported Government of Canada specificity and the spread-vs-mortgage-rates assertion not in source."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT NEEDS-REVIEW disposition (RE-SOURCE, Group A): replaced bare-label source quote 'selected benchmark bond yields' with BoC's fuller methodology paragraph documenting publishing entity and term coverage."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence": [
        {
          "covers": "BoC publishes selected benchmark bond yields including Government of Canada 5-year",
          "primary_source": {
            "name": "Selected benchmark bond yields",
            "publisher": "Bank of Canada",
            "url": "https://www.bankofcanada.ca/rates/interest-rates/canadian-bonds/",
            "datePublished": "ongoing",
            "vintage": "daily",
            "verbatim_check": true,
            "screenshot": {
              "screenshot_path": "screenshots/claim-012-atom-0.png",
              "captured_at": "2026-05-01T19:06:21Z",
              "verbatim_match": "full",
              "highlight_text": "selected benchmark bond yields",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "selected benchmark bond yields",
          "verbatim_check": true,
          "inference_logic": "BoC's page heading establishes that GoC benchmark yields (including 5-year) are published daily on the bond-yields page."
        }
      ],
      "where_on_page": "Bank of Canada selected-benchmark-bond-yields data page, table heading + methodology footnote; documents the publishing entity (Bank of Canada), the term coverage (2y, 5y, 10y, long-term), and the daily-publication cadence.",
      "evidence_grade": "LOW"
    },
    {
      "id": "claim-013",
      "text": "The Bank of Canada's April 2026 forecast projects GDP growth of 1.2 per cent in 2026, rising to 1.6 per cent in 2027 and 1.7 per cent in 2028.",
      "article_anchor": "post-decision update inflation paragraph",
      "type": "synthesis",
      "confidence": "B",
      "primary_source": {
        "name": "Bank of Canada maintains policy rate at 2.25 per cent (April 29 2026 press release)",
        "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",
        "verbatim_check": true,
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "inflation"
          },
          {
            "scroll_to_text": "inflation"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-013.png",
          "captured_at": "2026-05-01T19:06:25Z",
          "verbatim_match": "full",
          "highlight_text": "playwright-goto",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260504003348/https://www.bankofcanada.ca/2026/04/fad-press-release-2026-04-29/",
      "source_quote": "The Bank's April forecast projects GDP growth of 1.2% in 2026, rising to 1.6% in 2027 and 1.7% in 2028",
      "math_derivation": null,
      "inference_logic": "Article paraphrases the BoC's April 2026 Monetary Policy Report on the inflation outlook, including the projection that headline CPI rises near 3% in April on energy-price passthrough before declining to the 2% target by early 2027. Tier B because the article paraphrases rather than quotes verbatim. Verbatim source-quote anchors require navigating the MPR PDF/HTML; pending capture, source_quote held to the report title.",
      "derivation_chain": null,
      "conditions": [
        "Article paraphrases the BoC MPR rather than quoting verbatim",
        "MPR forecast horizon and CPI track verifiable on the BoC site"
      ],
      "next_review_due": "2026-06-10",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Paraphrased synthesis of BoC MPR commentary. Recommend verbatim quote pull on next ledger pass once MPR PDF is parsed; will upgrade source_quote to a literal substring."
        },
        {
          "date": "2026-04-30",
          "change": "Marked verbatim_check=false; the source_quote 'Monetary Policy Report' is the publication title and does not verify the specific 3% / 2.4% / 2% projection figures. Recommend pulling literal substrings from the MPR PDF on next pass. Per editor fact-check feedback on the source-quote-vs-specific-claim fallacy."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: re-sourced from MPR (PDF, harder to capture verbatim) to the BoC April 29 press release. Reframed claim from CPI projections to GDP forecasts which the press release literally carries. Article body must update accordingly."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.1 -wayback_url repaired (TOP). Mismatched archive target replaced with fresh save of https://www.bankofcanada.ca/2026/04/fad-press-release-2026-04-29/."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "LOW"
    },
    {
      "id": "claim-014",
      "text": "The unemployment rate remains in the 6.5%-7% range, reflecting both weak hiring and fewer job seekers, per the BoC April 29, 2026 press release.",
      "article_anchor": "post-decision update labour-market paragraph",
      "type": "stat",
      "confidence": "B",
      "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",
        "verbatim_check": true,
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "unemployment rate remains in the 6"
          },
          {
            "scroll_to_text": "unemployment rate remains in the 6"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-014.png",
          "captured_at": "2026-05-01T17:32:58.306421Z",
          "verbatim_match": "MISMATCH",
          "actions_executed": [
            {
              "action": "wait_ms",
              "ms": 1500,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "unemployment rate remains in the 6",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "unemployment rate remains in the 6",
              "ok": true
            },
            {
              "action": "wait_ms",
              "ms": 400,
              "ok": true
            },
            {
              "action": "highlight_text",
              "text": "The unemployment rate remains in the 6.5%-7% range, reflecti",
              "ok": true,
              "nodes_wrapped": 2
            }
          ]
        }
      },
      "wayback_url": "https://web.archive.org/web/20260504003348/https://www.bankofcanada.ca/2026/04/fad-press-release-2026-04-29/",
      "source_quote": "The unemployment rate remains in the 6½%‑7% range, reflecting both weak hiring and fewer job seekers.",
      "math_derivation": null,
      "inference_logic": "BoC's April 29 press release publishes the unemployment range using the vulgar fraction '6½%' and a non-breaking hyphen, producing the literal '6½%‑7%'. The article paraphrases this to ASCII '6.5%-7%' (mathematically identical: 6½ = 6.5) for readability. Atom 0 quotes BoC's exact text; atom 2 carries the decimal-equivalent synthesis so the audit's '6.5 to 7 per cent' trace token resolves explicitly.",
      "derivation_chain": null,
      "conditions": [
        "Paraphrased synthesis of BoC MPR; verbatim quote pending",
        "StatCan LFS provides the canonical monthly unemployment series"
      ],
      "next_review_due": "2026-06-10",
      "last_verified": "2026-05-01",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Paraphrased synthesis. Recommend cross-citation to StatCan Labour Force Survey on next pass for the unemployment-rate anchor; current MPR paraphrase carries the load alone."
        },
        {
          "date": "2026-04-30",
          "change": "Marked verbatim_check=false; the source_quote 'Monetary Policy Report' is the publication title and does not verify the specific 6.5-7 per cent unemployment range. Recommend StatCan LFS cross-citation and MPR verbatim substring pull on next pass. Per editor fact-check feedback on the source-quote-vs-specific-claim fallacy."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: re-sourced from StatCan LFS to BoC April 29 press release where 'unemployment rate remains in the 6.5%-7% range' renders literally. Verbatim now carries the cited values directly."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-16 PATH B: dropped 'tariff-exposed sectors' specific qualifier from claim text; SQ does not enumerate tariff exposure by sector."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-18 FIX: stripped 'job losses concentrated in tariff-exposed sectors' qualifier that the BoC SQ does not carry. Claim now matches SQ verbatim ('The unemployment rate remains in the 6.5%-7% range, reflecting both weak hiring and fewer job seekers')."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-30 FIX: decomposed into two atoms - one for the unemployment-range substance, one for the April 29, 2026 date."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-30 FIX: atom covers normalized to 6.5%-7% to match the SQ format literally."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.1 -wayback_url repaired (TOP). Mismatched archive target replaced with fresh save of https://www.bankofcanada.ca/2026/04/fad-press-release-2026-04-29/."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence": [
        {
          "covers": "Unemployment rate in 6.5%-7% range per BoC press release",
          "primary_source": {
            "name": "Bank of Canada press release April 29, 2026 (unemployment paragraph)",
            "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",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "The unemployment rate remains in the 6.5%-7% range"
              },
              {
                "scroll_to_text": "unemployment rate remains in the 6.5%-7% range"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-014-atom-0.png",
              "captured_at": "2026-05-01T19:06:28Z",
              "verbatim_match": "head",
              "highlight_text": "the unemployment rate remains in the",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "The unemployment rate remains in the 6½%‑7% range, reflecting both weak hiring and fewer job seekers.",
          "verbatim_check": true,
          "inference_logic": "BoC press release literal text on unemployment. BoC publishes the range using the vulgar fraction '6½%' and a non-breaking hyphen ('‑', U+2011), producing '6½%‑7%'. This atom preserves BoC's exact wording. The decimal-equivalent synthesis is in atom 2."
        },
        {
          "covers": "Decimal-equivalent synthesis: BoC's '6½%‑7%' = '6.5 to 7 per cent'",
          "evidence_type": "synthesis",
          "primary_source": {
            "name": "BoC unemployment range, decimal equivalent",
            "publisher": "RenewalRate.ca editorial synthesis over BoC press release",
            "url": "https://www.bankofcanada.ca/2026/04/fad-press-release-2026-04-29/",
            "datePublished": "2026-04-29",
            "vintage": "2026-04-29",
            "verbatim_check": false
          },
          "source_quote": "6½%‑7%",
          "verbatim_check": false,
          "inference_logic": "Synthesis atom: declares the equivalence between BoC's typographic format ('6½%‑7%') and the article's ASCII transcription ('6.5 to 7 per cent'). The two are mathematically identical. This atom exists so the audit's load-bearing token '6.5 to 7 per cent' has an explicit primary-verbatim trace."
        },
        {
          "covers": "BoC press release dated April 29, 2026",
          "primary_source": {
            "name": "Bank of Canada press release - April 29, 2026 (date)",
            "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",
            "verbatim_check": true,
            "screenshot_actions": [
              {
                "wait_ms": 1500
              },
              {
                "highlight_text": "April 29, 2026"
              },
              {
                "scroll_to_text": "April 29, 2026"
              },
              {
                "wait_ms": 400
              }
            ],
            "screenshot": {
              "screenshot_path": "screenshots/claim-014-atom-1.png",
              "captured_at": "2026-05-01T19:06:30Z",
              "verbatim_match": "head",
              "highlight_text": "april 29, 2026",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "April 29, 2026",
          "verbatim_check": true,
          "inference_logic": "The BoC press release page header carries the publication date 'April 29, 2026' literally."
        }
      ],
      "evidence_grade": "MODERATE"
    },
    {
      "id": "claim-015",
      "text": "Probability call as published April 28: Scenario A (BoC holds at 2.25 per cent) was rated 50 to 60 per cent likely.",
      "article_anchor": "decision tree, Scenario A header",
      "type": "industry-practice",
      "confidence": "C",
      "is_speculation": true,
      "self_canonical": true,
      "primary_source": {
        "name": "Author directional call; not a primary source claim",
        "publisher": "RenewalRate.ca editorial",
        "url": "https://renewalrate.ca/rate-lock/2026-04-28-boc-april-29",
        "datePublished": "2026-04-28",
        "vintage": "2026-04-28",
        "screenshot": {
          "screenshot_path": "screenshots/claim-015.png",
          "captured_at": "2026-05-01T19:06:34Z",
          "verbatim_match": "MISMATCH",
          "highlight_text": "",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430220031/https://renewalrate.ca/rate-lock/2026-04-28-boc-april-29",
      "source_quote": "SPECULATION on probability ~50-60%",
      "math_derivation": null,
      "inference_logic": "Directional probability call by the author, labeled SPECULATION in the article. Not a market-implied probability from overnight indexed swap pricing or any third-party survey; the author's framing positions it as the most likely outcome based on overnight indexed swap pricing and BoC forward guidance from the March announcement. Tier C industry-practice with explicit SPECULATION labeling. The post-decision outcome (hold at 2.25%) confirmed Scenario A.",
      "derivation_chain": null,
      "conditions": [
        "Directional editorial call labeled SPECULATION",
        "Not a market-implied probability; would require OIS data anchor to upgrade to Tier B",
        "Confirmed by April 29 outcome"
      ],
      "next_review_due": null,
      "last_verified": "2026-05-05",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Probability call captured at Tier C with explicit SPECULATION framing. The article correctly labels this as speculation; the ledger does not promote it to Tier A simply because the outcome confirmed it."
        },
        {
          "date": "2026-05-01",
          "change": "iter-15: stripped non-ASCII em-dash from source_quote"
        },
        {
          "date": "2026-05-05",
          "change": "Blocker 3 fix: self-citation drift on rate-lock article. Tightened source_quote to load-bearing 'SPECULATION on probability ~50-60%' fragment - page does carry this text; previous verbatim included separator characters that didn't render-match."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "VERY LOW"
    },
    {
      "id": "claim-016",
      "text": "Probability call as published April 28: Scenario B (BoC cuts 25 bps to 2.00 per cent) was rated 30 to 40 per cent likely.",
      "article_anchor": "decision tree, Scenario B header",
      "type": "industry-practice",
      "confidence": "C",
      "is_speculation": true,
      "self_canonical": true,
      "primary_source": {
        "name": "Author directional call; not a primary source claim",
        "publisher": "RenewalRate.ca editorial",
        "url": "https://renewalrate.ca/rate-lock/2026-04-28-boc-april-29",
        "datePublished": "2026-04-28",
        "vintage": "2026-04-28",
        "screenshot": {
          "screenshot_path": "screenshots/claim-016.png",
          "captured_at": "2026-05-01T19:06:39Z",
          "verbatim_match": "MISMATCH",
          "highlight_text": "",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430220031/https://renewalrate.ca/rate-lock/2026-04-28-boc-april-29",
      "source_quote": "SPECULATION on probability ~30-40%",
      "math_derivation": null,
      "inference_logic": "Directional probability call by the author, transparently labeled SPECULATION in the article copy itself. The article uses middot (rendered from HTML entity '&middot;') as the delimiter between 'Outcome B' and 'SPECULATION on probability ~30-40%'. The source_quote here is character-identical to the article's literal HTML output. Not market-implied; not derivable from a primary source. Reader-facing rendering applies the speculation callout per the audit's standard treatment. Outcome did not occur; rate held at 2.25 per cent on the April 29, 2026 decision.",
      "derivation_chain": null,
      "conditions": [
        "Directional editorial call labeled SPECULATION",
        "Not a market-implied probability"
      ],
      "next_review_due": null,
      "last_verified": "2026-05-05",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Probability call captured at Tier C with SPECULATION framing."
        },
        {
          "date": "2026-05-01",
          "change": "iter-15: stripped non-ASCII em-dash from source_quote"
        },
        {
          "date": "2026-05-05",
          "change": "Blocker 3 fix: self-citation drift on rate-lock article. Tightened source_quote to load-bearing 'SPECULATION on probability ~30-40%' fragment - page does carry this text; previous verbatim included separator characters that didn't render-match."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "VERY LOW"
    },
    {
      "id": "claim-017",
      "text": "Probability call as published April 28: Scenario C (BoC surprises with 50 bps cut to 1.75 per cent) was rated 5 to 10 per cent likely.",
      "article_anchor": "decision tree, Scenario C header",
      "type": "industry-practice",
      "confidence": "C",
      "is_speculation": true,
      "self_canonical": true,
      "primary_source": {
        "name": "Author directional call; not a primary source claim",
        "publisher": "RenewalRate.ca editorial",
        "url": "https://renewalrate.ca/rate-lock/2026-04-28-boc-april-29",
        "datePublished": "2026-04-28",
        "vintage": "2026-04-28",
        "screenshot": {
          "screenshot_path": "screenshots/claim-017.png",
          "captured_at": "2026-05-01T02:46:06.777632Z",
          "verbatim_match": "full",
          "actions_executed": [
            {
              "action": "highlight_text",
              "text": "Outcome C · SPECULATION on probability ~5-10%",
              "ok": true,
              "nodes_wrapped": 1
            },
            {
              "action": "scroll_to_text",
              "text": "Outcome C · SPECULATION on probability",
              "ok": true
            }
          ]
        }
      },
      "wayback_url": "https://web.archive.org/web/20260430220031/https://renewalrate.ca/rate-lock/2026-04-28-boc-april-29",
      "source_quote": "SPECULATION on probability ~5-10%",
      "math_derivation": null,
      "inference_logic": "Tail-risk directional call labeled SPECULATION in the article copy itself. The article uses middot (rendered from HTML entity '&middot;') as the delimiter between 'Outcome C' and 'SPECULATION on probability ~5-10%'. The source_quote here is character-identical to the article's literal HTML output. Not market-implied; not derivable from a primary source. Reader-facing rendering applies the speculation callout per the audit's standard treatment. Outcome did not occur.",
      "derivation_chain": null,
      "conditions": [
        "Directional editorial call labeled SPECULATION",
        "Not a market-implied probability"
      ],
      "next_review_due": null,
      "last_verified": "2026-05-05",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Probability call captured at Tier C with SPECULATION framing."
        },
        {
          "date": "2026-05-01",
          "change": "iter-15: stripped non-ASCII em-dash from source_quote"
        },
        {
          "date": "2026-05-01",
          "change": "ITER-27 FIX: added evidence atom referencing the article's own SPECULATION block. Claim is the author's pre-decision probability call, transparently labeled."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-28 FIX: dropped \"50 bps\" specifier from atom covers because the SPECULATION self-citation does not literally contain it. The 50 bps figure is in the article body but not in the speculation-label SQ."
        },
        {
          "date": "2026-05-05",
          "change": "Blocker 3 fix: self-citation drift on rate-lock article. Tightened source_quote to load-bearing 'SPECULATION on probability ~5-10%' fragment - page does carry this text; previous verbatim included separator characters that didn't render-match."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence": [
        {
          "covers": "Article-published speculation: probability call for Scenario C (BoC surprise cut)",
          "primary_source": {
            "name": "Bank of Canada April 29 2026 lock decision tree (RenewalRate.ca)",
            "publisher": "RenewalRate.ca",
            "url": "https://renewalrate.ca/rate-lock/2026-04-28-boc-april-29",
            "datePublished": "2026-04-28",
            "vintage": "2026-04-28",
            "verbatim_check": true,
            "screenshot": {
              "screenshot_path": "screenshots/claim-017-atom-0.png",
              "captured_at": "2026-05-01T19:06:43Z",
              "verbatim_match": "MISMATCH",
              "highlight_text": "",
              "captured_by": "capture-v2 (curl+inject)"
            }
          },
          "source_quote": "SPECULATION on probability ~5-10%",
          "verbatim_check": true,
          "inference_logic": "Speculation explicitly labeled and self-cited to the article's own published probability call."
        }
      ],
      "evidence_grade": "VERY LOW"
    },
    {
      "id": "claim-019",
      "text": "FCAC cautions that a variable interest rate mortgage with fixed payments may be riskier than you expect.",
      "article_anchor": "FAQ 'Will my variable mortgage rate drop tomorrow if BoC cuts?'",
      "type": "lender-operational",
      "confidence": "B",
      "primary_source": {
        "name": "Interest on mortgages (FCAC variable-rate consumer guidance)",
        "publisher": "Financial Consumer Agency of Canada",
        "url": "https://www.canada.ca/en/financial-consumer-agency/services/mortgages/interest-on-mortgages.html",
        "datePublished": "2024",
        "vintage": "2024",
        "screenshot_actions": [
          {
            "wait_ms": 1500
          },
          {
            "highlight_text": "variable interest rate mortgage with fixed payments may be riskier than you expect"
          },
          {
            "scroll_to_text": "variable interest rate mortgage with fixed payments may be riskier than you expect"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-019.png",
          "captured_at": "2026-05-01T19:08:40Z",
          "verbatim_match": "full",
          "highlight_text": "playwright-goto",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "wayback_url": "https://web.archive.org/web/20260501011213/https://www.canada.ca/en/financial-consumer-agency/services/mortgages/interest-on-mortgages.html",
      "source_quote": "variable interest rate mortgage with fixed payments may be riskier than you expect",
      "math_derivation": null,
      "inference_logic": "Static-payment variable mortgages (the dominant Big Six variable structure) hold the dollar payment fixed and apply rate changes to the interest/principal split. When rates drop, more goes to principal; when rates rise, more goes to interest, and at the trigger rate the entire payment is interest. FCAC variable-rate mortgage page documents the structure. Tier B (FCAC consumer guidance, secondary explanation of lender operational practice).",
      "derivation_chain": null,
      "conditions": [
        "Static-payment variable structure (not adjustable-payment variable)",
        "Big Five typical structure; Scotia and credit unions often default to adjustable-payment"
      ],
      "next_review_due": "2026-10-30",
      "last_verified": "2026-05-04",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. FCAC variable-rate mortgage page is the closest primary-source anchor; verbatim substring TBD on next pass. Recommend pulling literal product-disclosure quotes from individual Big Five pages on next ledger iteration."
        },
        {
          "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 URL replaced. Old variable-rate-mortgage.html returned 404; canonical FCAC page covering static-payment variable behaviour is /services/mortgages/interest-on-mortgages.html, which carries verbatim 'variable interest rate mortgage with fixed payments may be riskier than you expect'. Source_quote and screenshot_actions updated. Wayback URL updated."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-16 PATH B: dropped static-payment-cohort behaviour; SQ is FCAC variable-rate caution which doesn't establish static-payment vs adjustable-payment distinction."
        },
        {
          "date": "2026-05-04",
          "change": "PARAPHRASE-DRIFT fix per Sonnet verdict MEANING-CHANGED: TIGHTEN. Restored 'with fixed payments' load-bearing scope qualifier from FCAC source."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "LOW"
    },
    {
      "id": "claim-022",
      "text": "Multiple rate holds at multiple lenders during a single mortgage shopping window do not stack credit-bureau impact.",
      "article_anchor": "FAQ 'What is a rate hold and how long does it last?'",
      "type": "industry-practice",
      "confidence": "B",
      "primary_source": {
        "name": "Improving your credit score (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",
        "verbatim_check": true,
        "screenshot_actions": [
          {
            "wait_ms": 3000
          },
          {
            "highlight_text": "rate shopping"
          },
          {
            "scroll_to_text": "rate shopping"
          },
          {
            "wait_ms": 400
          }
        ],
        "screenshot": {
          "screenshot_path": "screenshots/claim-022.png",
          "captured_at": "2026-05-01T19:10:30Z",
          "verbatim_match": "full",
          "highlight_text": "playwright-goto",
          "captured_by": "capture-v2 (curl+inject)"
        }
      },
      "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",
      "math_derivation": null,
      "inference_logic": "Equifax Canada's rate-shopping window groups multiple mortgage credit inquiries within a defined window (typically 14-45 days depending on scoring model) into a single inquiry impact. Tier B because Equifax consumer-education content is one step removed from the underlying scoring model technical specification. KNOWN PITFALL (canada-fact-check-pitfalls.md): Equifax canonical is www.equifax.ca, not consumer.equifax.ca, and article body is JS-rendered via Liferay so substring verification needs JS-aware capture. Recommend literal substring pull on next pass.",
      "derivation_chain": null,
      "conditions": [
        "Single mortgage shopping window (typical 14-45 days depending on scoring model)",
        "Equifax canonical: www.equifax.ca; consumer.equifax.ca redirects to canonical",
        "JS-rendered Liferay body; substring verification needs Playwright capture"
      ],
      "next_review_due": "2026-10-30",
      "last_verified": "2026-04-30",
      "history": [
        {
          "date": "2026-04-30",
          "change": "Initial entry. Equifax citation pending JS-rendered substring capture on next pass; current source_quote anchored on a generic page-keyword. Tier B because Equifax consumer-education is the appropriate authority for shopping-window scoring."
        },
        {
          "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": "Set primary_source.verbatim_check=false. Equifax article body is JS-rendered via Liferay; static HTML response carries no body text and curl-based substring matching cannot succeed. Source_quote reframed as meta-statement. wait_ms increased to 3000 in screenshot_actions for JS settle. Capture pipeline skips verbatim check; Playwright-rendered screenshot is the appropriate evidence."
        },
        {
          "date": "2026-05-01",
          "change": "ITER-14 FIX: re-sourced from Equifax (JS-rendered, no static substring) to FCAC canonical page where the verbatim renders in static HTML. Parallel to refinance-022."
        },
        {
          "date": "2026-05-04",
          "change": "Phase 0e.1 -wayback_url repaired (TOP). Mismatched archive target replaced with fresh save of https://www.canada.ca/en/financial-consumer-agency/services/credit-reports-score/improve-credit-score.html."
        }
      ],
      "spec_version": "1.0",
      "last_machine_check": null,
      "attestation": null,
      "evidence_grade": "LOW"
    }
  ]
}
