Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument / verified-with-binding-errata

Loan/Mortgage Payment

The current ledger marks this instrument verified with errata that must be applied at binding time.

Status: VERIFIED_WITH_ERRATALifecycle: verified-with-binding-errata

Inspectable records

Ledger state

The current ledger marks this instrument verified with errata that must be applied at binding time.

Area
Finance, Economics & Business
Tranche
tranche-2
Evidence ID
t2-044
Ledger rows
1

No ledger note is attached.

Review findings

The honest educational label is appropriate and correctly identifies excluded taxes, insurance, and PMI, provided those costs are not implied to be included. The catalog entry should define rate convention, payment timing, zero-rate behavior, validation constraints, rounding policy, and explicit formulas for total interest and total paid before release.

Formula and scope findings

  • The payment formula is correct for a fixed-rate, fully amortizing ordinary annuity when r is the periodic rate and n is the total number of payments.
  • The specification does not define the required conversions: n must equal term_years multiplied by payments_per_year, and r must be defined from the annual rate.
  • The formula is undefined at a zero periodic rate because it produces 0/0; the required zero-rate branch is payment = principal/n.
  • Formulas for the stated outputs total interest and total paid are missing. For an unrounded payment, total_paid = payment × n and total_interest = total_paid − principal.
  • The formula assumes payments occur at the end of each period. An annuity-due schedule would require multiplying the ordinary-annuity payment by (1 + r).
  • The formula does not specify whether annual rate means nominal APR, converted by r = annual_rate/payments_per_year, or effective annual rate, converted by r = (1 + annual_rate)^(1/payments_per_year) − 1.

Unit assumptions

  • Annual rate inputs are decimal rates: 6% is entered as 0.06, not 6.
  • For the test vectors, annual rate is treated as a nominal annual rate and periodic rate is annual_rate/payments_per_year.
  • term years is converted to an integer number of periods: n = term_years × payments_per_year.
  • Payments are assumed to be equal, fixed, and made at the end of each period.
  • Expected totals use the unrounded formula payment, with displayed monetary outputs rounded to cents.

Boundary hardening

BREAK_CLAIMED · SELF_FLAGGED

The literal formula produces an undefined 0/0 result at an exactly zero interest rate, even though the mathematically valid limiting payment is principal divided by the number of periods. A zero-term input also produces division by zero and must be rejected. Annual-rate convention ambiguity can materially change the payment.

Errata and corrections

No applied erratum is attached to this unique-name record.

Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

{
  "inputs": {
    "principal": 300000,
    "annual_rate": 0.06,
    "term_years": 30,
    "payments_per_year": 12
  },
  "expected_outputs": {
    "payment": 1798.64,
    "total_interest": 347511.56,
    "total_paid": 647511.56
  },
  "working": "r = 0.06 / 12 = 0.005; n = 30 × 12 = 360. (1+r)^n = 1.005^360 ≈ 6.022575. payment = 300000 × 0.005 × 6.022575 / (6.022575 − 1) ≈ 1798.6432 → 1798.64. total_paid = 1798.6432 × 360 ≈ 647511.5563 → 647511.56. total_interest = 647511.5563 − 300000 ≈ 347511.5563 → 347511.56."
}

Related workflows

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json · VERIFIED_WITH_ERRATA
  • evidence-tranche2/tranche2-results.json
  • BOUNDARY_HAZARD_CATALOG.json