Source: https://guthlabs.ai/docs/instruments/sample-bit-rate-file-size-estimator/mechanism/

instrument mechanism / verified-clean

# Sample/Bit-Rate File Size Estimator mechanism

The inspectable method record for Sample/Bit-Rate File Size Estimator, kept separate from implementation and qualification.

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

## Model scope

The arithmetic formulas are valid only under the stated unit and media assumptions. The specification must define output units, require bit_depth for PCM, identify whether the media is audio or video, and clarify whether bitrate means nominal, average, or constant bitrate. Because the current claim includes video while the PCM formula is audio-only and the input schema is incomplete, the instrument requires review before being labeled fully correct.

- The PCM formula is standard for uncompressed audio: duration_seconds × sample_rate_hz × bit_depth_bits_per_sample × channels ÷ 8. It is not a general uncompressed-video formula; video also requires frame rate, pixel dimensions, pixel format, and possibly compression details.

- The input specification omits bit_depth even though the PCM formula requires it.

- The compressed formula is standard for a constant or average bitrate: duration_seconds × bitrate_bits_per_second ÷ 8. It estimates payload size and omits container headers, metadata, padding, and codec-specific overhead.

- The codec assumption is not used by the compressed formula, so it cannot distinguish codec overhead or actual variable-bitrate behavior.

## Units and conventions

- Duration is in seconds.

- PCM sample rate is in samples per second (Hz); an input such as 44.1 kHz must be converted to 44100 Hz.

- PCM bit depth is bits per sample per channel.

- Channels is a positive integer for ordinary audio.

- Compressed bitrate is in bits per second; values stated in kbps must be converted explicitly, such as 128 kbps = 128000 bits/s.

- Reported decimal MB values use 1 MB = 1000000 bytes; reported MiB values use 1 MiB = 1048576 bytes.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "format": "PCM",
    "duration_seconds": 60,
    "sample_rate_hz": 44100,
    "bit_depth_bits_per_sample": 16,
    "channels": 2
  },
  "expected_outputs": {
    "size_bytes": 10584000,
    "size_MB_decimal": 10.584,
    "size_MiB": 10.09368896484375
  },
  "working": "60 × 44100 = 2646000 sample frames; 2646000 × 16 = 42336000 bits per channel pair accounting through the formula; 42336000 × 2 channels = 84672000 bits; 84672000 ÷ 8 = 10584000 bytes; 10584000 ÷ 1000000 = 10.584 MB; 10584000 ÷ 1048576 = 10.09368896484375 MiB."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The estimator can produce a non-finite Infinity result for finite but extremely large numeric inputs because plain arithmetic has no overflow rejection. The bitrate unit convention can also change the result from 960000 bytes to 983040 bytes if kbps is interpreted as binary rather than decimal.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/sample-bit-rate-file-size-estimator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/sample-bit-rate-file-size-estimator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/sample-bit-rate-file-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-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
