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

instrument implementation / implementation-contract

Declining Balance / Double-Declining Depreciation implementation

A source-bound implementation contract for Declining Balance / Double-Declining Depreciation; deployment and executable qualification remain separate.

Status: VERIFIED_WITH_ERRATALifecycle: implementation-contract

Binding contract

This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.

Record owner
Guth Instruments
Lifecycle
verified-with-binding-errata
Evidence ID
t5-138
Effect
Computation or source lookup only

Input and validation requirements

A useful_life input of zero causes division by zero in rate = multiplier/useful_life, producing an undefined rate and invalid schedule. The instrument should reject the input rather than emit numeric results.

Required corrections

[
  {
    "vector": "1,2",
    "field": "depreciation[2:] / ending_book_value[2:]",
    "wrong": "v1 866.67×3, v2 1343.75×2",
    "correct": "v1 1440/864/296, v2 1757.81/929.69 (greater-of rule as stated in inputs)",
    "cause": "switched to straight-line while DB was still GREATER, violating the switch rule stated in her own inputs"
  }
]

Inspectable interface fixture

The sample below is evidence for interface and validation tests, not a production implementation.

{
  "inputs": {
    "cost": 10000,
    "salvage": 1000,
    "useful_life": 5,
    "multiplier": 2,
    "period_unit": "years",
    "switch_rule": "use the greater of declining-balance and remaining-life straight-line depreciation, capped at salvage"
  },
  "expected_outputs": {
    "rate": 0.4,
    "depreciation": [
      4000,
      2400,
      866.6666666667,
      866.6666666667,
      866.6666666666
    ],
    "ending_book_value": [
      6000,
      3600,
      2733.3333333333,
      1866.6666666666,
      1000
    ]
  },
  "working": "Rate = 2 / 5 = 0.4. Year 1: DB depreciation = 10000 x 0.4 = 4000; ending book value = 10000 - 4000 = 6000. Year 2: DB depreciation = 6000 x 0.4 = 2400; ending book value = 6000 - 2400 = 3600. At the start of Year 3, DB = 3600 x 0.4 = 1440. Remaining-life SL = (3600 - 1000) / 3 = 2600 / 3 = 866.6666666667, so switch to SL. Year 3 ending book value = 3600 - 866.6666666667 = 2733.3333333333. Year 4 depreciation = (2733.3333333333 - 1000) / 2 = 866.6666666667; ending book value = 1866.6666666666. Year 5 depreciation = (1866.6666666666 - 1000) / 1 = 866.6666666666; ending book value = 1000."
}

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-tranche5/tranche5-results.json
  • tranche errata record