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

instrument / verified-with-binding-errata

Amortization Schedule

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 (educational only — never individualized investment, tax, or legal advice)
Tranche
tranche-3
Evidence ID
t3-008
Ledger rows
1

No ledger note is attached.

Review findings

The core balance iteration is standard under clearly defined periodic-rate and payment conventions, but the specification omits the PMT formula, rate and term frequencies, extra-payment behavior, final-payment handling, rounding policy, and the data needed for a payoff date. One test vector exposed an arithmetic inconsistency in the initial extra-payment working; the corrected period balances are 659.98, 316.56, and 0.00.

Formula and scope findings

  • The iterative formulas are standard only when r is the interest rate per payment period and PMT is the total payment applied in that period.
  • PMT is referenced but no formula or input definition is provided. For a fully amortizing fixed-rate loan, the standard formula is PMT=P*r/(1-(1+r)^(-n)) when r is nonzero, and PMT=P/n when r=0.
  • The treatment of the optional extra payment is undefined: it must specify whether extra-payment is added to PMT every period, applied only to principal, and whether the scheduled term is shortened.
  • The final payment must be capped at the remaining balance plus that period's interest; otherwise the iterative formula can produce a negative balance or overpayment.
  • The payoff date cannot be computed from principal, rate, term, and extra-payment alone; an origination date and payment-calendar convention are required.

Unit assumptions

  • The test vectors use monthly payments and a monthly periodic rate unless explicitly noted.
  • For annual nominal rates, the monthly rate is annual_rate/12; this assumes a nominal rate compounded monthly, not an effective annual rate.
  • Term is measured in payment periods.
  • Amounts are currency units rounded to the nearest cent after each period.
  • PMT is computed using the fixed-payment annuity formula, and the final payment is adjusted downward to exactly clear the balance.
  • No payoff date is expected in these vectors because no origination date or calendar convention is supplied.

Boundary hardening

BREAK_CLAIMED · SELF_FLAGGED

A term of zero makes the payment calculation divide by zero and must be rejected. The specification also omits payment frequency and rate convention, so identical-looking rate and term inputs can produce materially different schedules.

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": 1200,
    "annual_rate": 0,
    "payment_frequency": "monthly",
    "term_periods": 3,
    "extra_payment": 0,
    "rounding": "nearest cent"
  },
  "expected_outputs": {
    "table": [
      {
        "period": 1,
        "interest": 0,
        "principal": 400,
        "balance": 800
      },
      {
        "period": 2,
        "interest": 0,
        "principal": 400,
        "balance": 400
      },
      {
        "period": 3,
        "interest": 0,
        "principal": 400,
        "balance": 0
      }
    ],
    "payoff_period": 3,
    "payoff_date": null
  },
  "working": "Monthly rate r=0.00/12=0.00. PMT=P/n=1200.00/3=400.00. Period 1: interest=1200.00*0.00=0.00; principal=400.00-0.00=400.00; balance=1200.00-400.00=800.00. Period 2: interest=800.00*0.00=0.00; principal=400.00; balance=800.00-400.00=400.00. Period 3: interest=400.00*0.00=0.00; principal=400.00; balance=400.00-400.00=0.00."
}

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-tranche3/tranche3-results.json
  • BOUNDARY_HAZARD_CATALOG.json