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

instrument / verified-clean

# Storage Unit Converter

The current ledger marks this instrument verified clean within the source-bound verification corpus.

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

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/storage-unit-converter/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/storage-unit-converter/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/storage-unit-converter/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/storage-unit-converter/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Computing & Information

**Tranche**: tranche-4

**Evidence ID**: t4-028

**Ledger rows**: 1

No ledger note is attached.

## Review findings

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.

### Formula and scope findings

- 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.

### Unit assumptions

- 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.

## Boundary hardening

**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.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "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."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
