Source: https://guthlabs.ai/docs/instruments/wallpaper-roll-calculator/

instrument / verified-clean

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

## Ledger state

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

**Area**: Everyday & Life

**Tranche**: tranche-3

**Evidence ID**: t3-019

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The instrument cannot honestly claim to provide a waste estimate until a waste formula and its inputs are specified. Clarify whether repeat_waste is a fixed allowance or a pattern-repeat interval, define standard roll dimensions by market, and provide the missing wall-perimeter/roll-width strip-count calculation. Until then, label the result as an estimate of rolls based on precomputed strip count, not an exact requirement.

### Formula and scope findings

- The standard pattern-repeat cut length is usually ceil(wall_height/pattern_repeat)*pattern_repeat, not wall_height+repeat_waste. The stated formula is valid only if repeat_waste is explicitly defined as a fixed additional cut allowance per strip.

- No formula is provided for the claimed waste estimate.

- The formula assumes total_strips_needed is already calculated, but no formula is provided from wall dimensions, roll width, doors, windows, or openings.

- The 10-15% waste buffer in honest_label is not implemented or defined as an input; applying it before or after ceiling can produce different roll counts.

- US double-roll and EU-roll defaults are not universal dimensions, and usable roll length can differ from nominal roll length.

### Unit assumptions

- roll_length, wall_height, and repeat_waste must use the same linear unit before division.

- total_strips_needed must be a nonnegative integer, normally calculated as ceil(wall_perimeter/usable_roll_width) after accounting for openings and layout.

- roll_length must mean usable wallpaper length, excluding packaging, damaged material, or unusable selvage.

- repeat_waste must be a nonnegative length allowance per strip if this formula is retained; it must not be confused with the pattern-repeat interval.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

A zero wall height combined with zero pattern repeat makes the effective strip length zero, causing division by zero and an undefined roll count; the calculator must reject the input.

## 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": {
    "wall_perimeter_m": 16,
    "roll_width_m": 0.53,
    "wall_height_m": 2.4,
    "repeat_waste_m": 0.3,
    "roll_length_m": 10.05,
    "total_strips_needed": 31
  },
  "expected_outputs": {
    "strips_per_roll": 3,
    "rolls_required": 11
  },
  "working": "Cut length per strip = 2.4 + 0.3 = 2.7 m. Strips per roll = floor(10.05 / 2.7) = floor(3.7222...) = 3. Total strips from wall width = ceil(16 / 0.53) = ceil(30.1886...) = 31. Rolls required = ceil(31 / 3) = ceil(10.3333...) = 11."
}
````

## Related workflows

[Home Renovation Estimatorwalls alt](<https://guthlabs.ai/docs/instrument-workflows/home-reno/>)

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

- `BOUNDARY_HAZARD_CATALOG.json`
