Source: https://guthlabs.ai/docs/instruments/bill-split-calculator/mechanism/

instrument mechanism / verified-clean

# Bill Split Calculator mechanism

The inspectable method record for Bill Split Calculator, kept separate from implementation and qualification.

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

## Model scope

The core even formula is standard, and the proportional-allocation interpretation used in the test vectors is mathematically valid. The specification requires review because the itemized tax/tip basis, allocation semantics, shared-item behavior, percentage units, and rounding policy are not fully defined. The educational-only limitation is appropriate; no individualized financial, tax, or legal advice is implied.

- The even formula total/n_people is correct only when total is already the complete amount to split and n_people is a positive integer.

- The itemized formula is underspecified: it does not explicitly define whether tax and tip are calculated from the item subtotal, whether tip is applied before or after tax, or how tax/tip are allocated among people.

- The itemized formula does not define handling for shared items, unassigned items, duplicate assignments, or items assigned to nonexistent people.

- No currency-rounding or cent-reconciliation rule is specified, so displayed per-person amounts may not sum exactly to the bill.

## Units and conventions

- total and item prices are monetary amounts in one currency, represented in major currency units such as dollars.

- n_people is a positive whole number.

- tax % and tip % are entered as percentage points, so 8 means 8% and is converted by dividing by 100.

- For the test vectors, tax and tip are calculated from the item subtotal and allocated proportionally to each person's assigned-item subtotal.

- Expected outputs are shown to two decimal places for currency; the implementation needs a defined rounding and reconciliation policy.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "mode": "even",
    "total": 96,
    "n_people": 4
  },
  "expected_outputs": {
    "amount_owed_per_person": {
      "person_1": 24,
      "person_2": 24,
      "person_3": 24,
      "person_4": 24
    }
  },
  "working": "96.00 / 4 = 24.00. Each person owes 24.00."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The calculator has an undefined-result trap when n_people is zero and should reject that input. Its percentage fields also have a convention ambiguity: interpreting 10 as 10% gives 115 per person in the probe, while interpreting it as a raw multiplier gives 1600 per person.

## Other records

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

- `BOUNDARY_HAZARD_CATALOG.json`
