Source: https://guthlabs.ai/docs/instruments/savings-goal-planner/

instrument / verified-with-binding-errata

# Savings Goal Planner

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

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **verified-with-binding-errata**

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/savings-goal-planner/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/savings-goal-planner/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/savings-goal-planner/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/savings-goal-planner/qualification/>)

## 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-4

**Evidence ID**: t4-080

**Ledger rows**: 1

No ledger note is attached.

## Review findings

Under the explicit assumptions listed, the core end-of-month annuity-FV calculation is standard and the numerical test vectors are consistent. The instrument remains NEEDS_REVIEW because the deposit timing, rate convention, date-to-period conversion, timeline-chart calculation, and negative-contribution behavior are not specified.

### Formula and scope findings

- The PMT formula is only identified generically as solving an annuity future-value formula; the specification does not state whether deposits occur at the beginning or end of each month. The vectors below assume end-of-month deposits.

- The specification does not define how a target date is converted into the number of monthly periods, including partial months, date-of-month handling, leap years, or whether the current month counts.

- The projected timeline chart has no defined calculation, data structure, or formula, so that output cannot be independently verified.

- A negative computed contribution is possible when current savings are already sufficient; the specification does not say whether to display the negative amount, clamp it to zero, or label the goal as already reached.

### Unit assumptions

- Goal amount and current savings use the same currency and are nominal amounts.

- Rate is an annual nominal rate compounded monthly; monthly rate r = annual_rate / 12.

- The target date is converted to an integer number n of monthly deposit periods.

- Deposits occur at the end of each month, with no fees, taxes, inflation, withdrawals, or contribution limits.

- For annual rate a, current savings compound as current_savings × (1 + a/12)^n.

- For a nonzero monthly rate r, required deposit PMT = (goal_amount - current_savings × (1+r)^n) × r / ((1+r)^n - 1). At r = 0, PMT = (goal_amount - current_savings) / n.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

A zero-month target produces a zero denominator and an undefined deposit, so the instrument must reject it. The displayed annual rate convention is also underspecified: nominal-rate and effective-rate interpretations produce different valid outputs.

## Errata and corrections

### Tranche errata

**required_monthly_deposit** · vector 3

372.798

370.735

1.01^24 hand-power slip (annuity factor 26.824 vs true 26.974); her v1 proves shared convention

## Inspectable example

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

````
{
  "inputs": {
    "goal_amount": 12000,
    "current_savings": 2000,
    "annual_rate": 0.06,
    "months_to_target": 12
  },
  "expected_outputs": {
    "required_monthly_deposit": 800.6643
  },
  "working": "r = 0.06 / 12 = 0.005. Growth factor = (1.005)^12 = 1.0616778119. Future value of current savings = 2000 × 1.0616778119 = 2123.3556238. Remaining future value needed = 12000 - 2123.3556238 = 9876.6443762. Annuity factor = ((1.005)^12 - 1) / 0.005 = 0.0616778119 / 0.005 = 12.33556238. Required deposit = 9876.6443762 / 12.33556238 = 800.6643 per month."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## 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-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
