Source: https://guthlabs.ai/docs/instruments/storage-unit-converter/mechanism/

instrument mechanism / verified-clean

# Storage Unit Converter mechanism

The inspectable method record for Storage Unit Converter, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The stated decimal and binary scaling formulas are standard under the listed unit assumptions, and the honest-label concern is valid. The specification needs an explicit unit-to-byte table, the reverse bytes-to-bits formula, a precise definition of the required output shape, and rounding/precision rules before it can receive PASS.

- The formulas 1000^n and 1024^n are correct only when n is explicitly mapped to the unit relative to bytes: KB/KiB n=1, MB/MiB n=2, GB/GiB n=3, and TB/TiB n=4.

- The specification does not state the general source-to-target conversion formula: converted_value = value × source_bytes_per_unit ÷ target_bytes_per_unit.

- bytes=bits/8 is correct for bits to bytes, but the claimed bits↔bytes conversion also requires the reverse formula bits=bytes×8.

- The output description 'converted value in both decimal and binary families' is ambiguous: it does not specify whether one target value, parallel decimal and binary values, or both representations of the canonical byte quantity must be returned.

## Units and conventions

- KB, MB, GB, and TB mean decimal units equal to 1000, 1000^2, 1000^3, and 1000^4 bytes respectively.

- KiB, MiB, GiB, and TiB mean binary units equal to 1024, 1024^2, 1024^3, and 1024^4 bytes respectively.

- The base unit for both families is the byte; bits are converted using 8 bits per byte.

- Unit labels are case-sensitive or otherwise normalized explicitly so that decimal GB is never silently treated as binary GiB.

- Conversion results may be fractional unless the product specifies rounding, significant digits, or integer-only behavior.

- Values are assumed to be finite numeric quantities; storage quantities are normally nonnegative.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "value": 5,
    "source_unit": "GB",
    "target_unit": "GiB"
  },
  "expected_outputs": {
    "converted_value": 4.656612873077393,
    "converted_unit": "GiB",
    "canonical_bytes": 5000000000
  },
  "working": "1 GB = 1000^3 bytes = 1,000,000,000 bytes. 5 GB = 5 × 1,000,000,000 = 5,000,000,000 bytes. 1 GiB = 1024^3 = 1,073,741,824 bytes. Target value = 5,000,000,000 ÷ 1,073,741,824 = 4.656612873077393 GiB."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

An extreme finite input overflows plain JavaScript arithmetic to Infinity, and negative storage values require an explicit policy because signed arithmetic returns -2 while a physical storage converter should reject them.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/storage-unit-converter/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/storage-unit-converter/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/storage-unit-converter/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-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
