Source: https://guthlabs.ai/docs/instruments/typing-wpm-accuracy-calculator/implementation/

instrument implementation / implementation-contract

# Typing WPM / Accuracy Calculator implementation

A source-bound implementation contract for Typing WPM / Accuracy Calculator; deployment and executable qualification remain separate.

Status: **VERIFIED_CLEAN**Lifecycle: **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-clean

**Evidence ID**: t5-062

**Effect**: Computation or source lookup only

## Input and validation requirements

Zero elapsed time makes both gross WPM and net WPM undefined, so the instrument must reject that input. The specification also does not state the elapsed-time unit and does not explicitly define correct_chars from error_count, creating additional ambiguity.

## Required corrections

No binding erratum is attached to this unique-name record. Implementers must still preserve the declared units, domain, and failure behavior.

## Inspectable interface fixture

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

````
{
  "inputs": {
    "characters_typed": 300,
    "elapsed_time_seconds": 120,
    "error_count": 15
  },
  "expected_outputs": {
    "gross_WPM": 30,
    "net_WPM": 22.5,
    "accuracy_percent": 95
  },
  "working": "minutes = 120 / 60 = 2; gross_WPM = (300 / 5) / 2 = 60 / 2 = 30; correct_chars = 300 − 15 = 285; accuracy = (285 / 300) × 100 = 0.95 × 100 = 95%; net_WPM = 30 − (15 / 2) = 30 − 7.5 = 22.5."
}
````

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/typing-wpm-accuracy-calculator/>)[02**Mechanism**](<https://guthlabs.ai/docs/instruments/typing-wpm-accuracy-calculator/mechanism/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/typing-wpm-accuracy-calculator/qualification/>)

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