Page actions
instrument mechanism / verified-clean
NPV Calculator mechanism
The inspectable method record for NPV Calculator, kept separate from implementation and qualification.
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.jsonevidence-tranche4/tranche4-results.jsonBOUNDARY_HAZARD_CATALOG.json