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

instrument mechanism / verified-clean

NPV Calculator mechanism

The inspectable method record for NPV Calculator, kept separate from implementation and qualification.

Status: VERIFIED_CLEANLifecycle: verified-clean

Model scope

The mathematical formula is correct under the stated timing and unit assumptions, but the instrument needs an explicit initial_outlay input and documented period indexing, rate representation, and rate/cash-flow time-unit matching before release. The honest label should also disclose these timing and compounding assumptions in addition to stating that flows and rates are treated as certain.

  • The formula is standard only if CF_t represents the cash flow at the end of period t, with t starting at 1, and initial_outlay is a separate time-zero amount. The specification does not define this timing convention.
  • initial_outlay appears in the formula but is missing from the listed inputs; it must be an explicit input.
  • The specification does not state whether the discount rate is entered as a decimal or percentage, nor that its compounding period must match the cash-flow periods.

Units and conventions

  • The discount rate is entered as a decimal per cash-flow period, such as 0.10 for 10% per year or 0.01 for 1% per month.
  • Cash flows are equally spaced and indexed t=1,2,...; initial_outlay occurs at t=0 and is entered as a positive amount that is subtracted.
  • The discount rate's time unit and compounding convention match the cash-flow periods; annual rates must not be applied directly to monthly cash flows without conversion.
  • Positive cash flows are inflows and negative cash flows are outflows.

Inspectable vector

One of 4 source-bound review vectors:

{
  "inputs": {
    "discount_rate": 0.1,
    "cash_flows": [
      110,
      121
    ],
    "initial_outlay": 200,
    "period_unit": "year"
  },
  "expected_outputs": {
    "npv": 0,
    "discounted_cf_table": [
      {
        "period": 1,
        "cash_flow": 110,
        "discounted_cash_flow": 100
      },
      {
        "period": 2,
        "cash_flow": 121,
        "discounted_cash_flow": 100
      }
    ]
  },
  "working": "Rate = 0.10. Period 1: 110/(1+0.10)^1 = 110/1.10 = 100. Period 2: 121/(1+0.10)^2 = 121/1.21 = 100. Sum of discounted cash flows = 100 + 100 = 200. NPV = 200 - 200 initial outlay = 0."
}

Failure boundary

BREAK_CLAIMED · SELF_FLAGGED

The input discount_rate=-1 produces zero denominators and therefore undefined NPV and discounted cash flows. The specification does not state input validation, so a plain implementation could incorrectly emit Infinity, NaN, or another non-numeric result. The specification also has no actual piecewise formula branch and leaves the sign convention for initial_outlay potentially ambiguous.

Other records

Sources and evidence

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

  • VERIFIED_LEDGER.json
  • evidence-tranche4/tranche4-results.json
  • BOUNDARY_HAZARD_CATALOG.json