Source: https://guthlabs.ai/docs/instruments/uptime-sla-availability-calculator/

instrument / verified-clean

# Uptime / SLA Availability Calculator

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/uptime-sla-availability-calculator/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/uptime-sla-availability-calculator/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/uptime-sla-availability-calculator/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/uptime-sla-availability-calculator/qualification/>)

## Ledger state

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

**Area**: Computing & Information

**Tranche**: tranche-5

**Evidence ID**: t5-048

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The core formulas are standard: downtime = period × (1 - availability_fraction) and availability_fraction = 1 - downtime/period. Verdict is NEEDS_REVIEW because the specification does not resolve the exact ambiguity between percentage values and normalized fractions, and it does not define the period conventions or nines-classification rules.

### Formula and scope findings

- The formulas are mathematically correct when availability is represented as a fraction from 0 to 1. The specification says availability percentage, but does not state whether the engine converts 99.9% to 0.999; applying the formulas directly to 99.9 produces an invalid result.

- The nines classification table is underspecified: it must define whether classifications are exact thresholds, minimum availability thresholds, or rounded labels, and how 100% availability is classified.

### Unit assumptions

- Availability input expressed as a percentage must be divided by 100 before use: 99.9% becomes 0.999.

- Availability must be within 0% to 100%; downtime must be nonnegative and no greater than the selected period for observed availability.

- The period and downtime must use matching units before division or multiplication.

- A year is assumed to contain 365 days in the examples; leap years require an explicit separate convention.

- A month is not a fixed duration unless the instrument explicitly selects a calendar month or a fixed 30-day month.

- A week is assumed to contain 7 days and a day 24 hours.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The reverse-calculation path accepts a zero-length period mathematically presented as an input, producing an undefined division unless it rejects the input. The annual calculation also has a convention-sensitive result when the meaning of year is not specified.

## 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": {
    "mode": "allowed_downtime",
    "availability_percent": 99.9,
    "period_days": 365
  },
  "expected_outputs": {
    "availability_fraction": 0.999,
    "allowed_downtime_days": 0.365,
    "allowed_downtime_hours": 8.76,
    "allowed_downtime_minutes": 525.6
  },
  "working": "1. Convert percentage: 99.9% / 100 = 0.999. 2. Compute unavailable fraction: 1 - 0.999 = 0.001. 3. Compute downtime: 365 days × 0.001 = 0.365 days. 4. Convert to hours: 0.365 × 24 = 8.76 hours. 5. Convert to minutes: 8.76 × 60 = 525.6 minutes."
}
````

## Related workflows

[Network Plannerreliability](<https://guthlabs.ai/docs/instrument-workflows/network-planner/>)

## 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-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
