Source: https://guthlabs.ai/docs/instruments/factor-of-safety-allowable-stress-calculator/

instrument / verified-clean

# Factor of Safety / Allowable Stress 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/factor-of-safety-allowable-stress-calculator/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/factor-of-safety-allowable-stress-calculator/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/factor-of-safety-allowable-stress-calculator/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/factor-of-safety-allowable-stress-calculator/qualification/>)

## Ledger state

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

**Area**: Mechanical, Civil & Structural Engineering — Statics/Dynamics, Strength of Materials, Machine Design, Civil, HVAC, Vibration

**Tranche**: tranche-5

**Evidence ID**: t5-185

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The two stated formulas are arithmetically standard under explicit strength-selection and unit-consistency assumptions, but the spec is incomplete because it claims required-section sizing without a sizing formula and does not define the yield-versus-ultimate criterion. The empty honest_label should be replaced with a limitation statement identifying this as a basic stress-ratio calculator, not a complete structural or machine-design sizing/code-compliance tool.

### Formula and scope findings

- SF=σ_strength/σ_actual is the standard basic factor-of-safety formula when σ_strength is explicitly selected as yield or ultimate strength and both stresses use the same basis and units.

- σ_allow=σ_yield/SF is correct for an allowable stress based on yield strength; using ultimate strength instead requires an explicitly selected design criterion and may not be appropriate for ductile-material yielding checks.

- The claimed 'required section' computation has no formula or required inputs for load, geometry, section properties, or stress relationship, so that capability is unspecified and cannot be verified.

- The spec does not unambiguously define whether the strength input is yield strength or ultimate strength, nor which criterion is the default.

### Unit assumptions

- σ_strength and σ_actual must represent the same stress type and use compatible units; the units cancel in SF.

- For σ_allow, σ_yield and target SF must be supplied with a positive target SF; σ_allow has the same stress units as σ_yield.

- No automatic conversion between Pa, kPa, MPa, psi, or other stress units is stated.

- Stress sign conventions and whether tensile, compressive, shear, or equivalent stress is intended are unspecified.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

A zero target safety factor produces division by zero and must be rejected. The signed-stress probe also exposes a convention hazard: literal arithmetic gives a negative safety factor, whereas the usual engineering interpretation uses stress magnitude.

## 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": "SF",
    "strength_type": "yield",
    "strength": 250,
    "strength_unit": "MPa",
    "actual_stress": 100,
    "actual_stress_unit": "MPa"
  },
  "expected_outputs": {
    "SF": 2.5
  },
  "working": "SF = σ_yield / σ_actual = 250 MPa / 100 MPa = 2.5. The MPa units cancel."
}
````

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

- `BOUNDARY_HAZARD_CATALOG.json`
