Source: https://guthlabs.ai/docs/instruments/fence-materials-calculator/mechanism/

instrument mechanism / verified-clean

# Fence Materials Calculator mechanism

The inspectable method record for Fence Materials Calculator, kept separate from implementation and qualification.

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

## Model scope

The instrument is not ready for an honest production label. It currently supports only basic post and picket estimates under explicit straight-run and unit-consistency assumptions; rail, concrete, panel, and gate-aware outputs are unspecified.

- The post formula is valid only for a straight, continuous fence run with posts at both ends and post_spacing treated as the maximum allowable spacing: ceil(total_length/post_spacing)+1.

- The picket formula is valid only when picket_width_spacing means the center-to-center coverage of one picket plus its gap. It does not account for endpoint conventions, gate openings, corners, or partial-width finishing pieces.

- gate_count is listed as an input but is unused. Gate openings should normally reduce panel/picket coverage, while gate structures may require additional posts.

- The specification promises rail/concrete estimates but provides no formulas for rail count, concrete volume, or concrete bag count.

- The specification claims panels/pickets, but no panel-count formula is provided and panel dimensions are not defined.

## Units and conventions

- total_length and post_spacing must use the same length unit before division.

- total_length and picket_width_spacing must use the same length unit before division; mixed units require explicit conversion.

- post_spacing is assumed to be a maximum spacing, not a nominal target that may be exceeded.

- picket_width_spacing is assumed to be picket width plus gap, measured as coverage per picket.

- The post formula assumes one post at each end and no separate treatment for gates, corners, or transitions.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "total_length": 120,
    "post_spacing": 8,
    "picket_width_spacing": 0.5,
    "length_unit": "ft",
    "gate_count": 1
  },
  "expected_outputs": {
    "post_count": 16,
    "picket_count": 240
  },
  "working": "Posts: 120 / 8 = 15; ceil(15) = 15; 15 + 1 = 16. Pickets: 120 / 0.5 = 240; ceil(240) = 240. gate_count is not used by the supplied formulas."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

Zero post spacing or zero picket width-plus-gap produces undefined divisions, so the calculator must reject those inputs. The specification also lacks a formula for rail/concrete estimates and does not define how gate_count affects material counts.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/fence-materials-calculator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/fence-materials-calculator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/fence-materials-calculator/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`
