Source: https://guthlabs.ai/docs/instruments/qr-code-payload-size-estimator/implementation/

instrument implementation / implementation-contract

# QR Code Payload Size Estimator implementation

A source-bound implementation contract for QR Code Payload Size Estimator; 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**: t7-028

**Effect**: Computation or source lookup only

## Input and validation requirements

The specification does not state how text is converted to bytes in byte mode, so the same payload can produce different byte lengths and margins. The estimator must also reject out-of-domain error-correction levels such as X.

## 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": {
    "payload_text": "12345678901234567890123456789012345678901",
    "encoding_mode": "numeric",
    "error_correction_level": "L"
  },
  "expected_outputs": {
    "minimum_version": 1,
    "grid_modules": 21,
    "capacity_margin": 0,
    "capacity_margin_unit": "numeric characters (not bytes)",
    "selected_version_capacity": 41
  },
  "reference_data": {
    "source_convention": "ISO/IEC 18004:2015 QR capacity table",
    "rows": [
      {
        "version": 1,
        "error_correction_level": "L",
        "numeric_capacity": 41
      },
      {
        "version": 2,
        "error_correction_level": "L",
        "numeric_capacity": 77
      }
    ]
  },
  "working": "Count the payload: 4 groups of 10 digits plus 1 digit = 4 x 10 + 1 = 41 numeric characters. Version 1-L capacity = 41, so margin = 41 - 41 = 0. Version 1 is sufficient and therefore minimal; no smaller QR version exists. Grid = 4 x 1 + 17 = 21 modules per side."
}
````

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/qr-code-payload-size-estimator/>)[02**Mechanism**](<https://guthlabs.ai/docs/instruments/qr-code-payload-size-estimator/mechanism/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/qr-code-payload-size-estimator/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-tranche7/tranche7-results.json`
