Files
calctext/_bmad-output/implementation-artifacts/2-5-natural-language-unit-expressions.md
2026-03-16 19:54:53 -04:00

48 lines
1.6 KiB
Markdown

---
epic: 2
story: 2.5
title: "Natural Language Unit Expressions"
status: draft
---
## Epic 2 — Unit Conversion System
**Goal:** Support 200+ units across all major categories with SI prefix support.
### Story 2.5: Natural Language Unit Expressions
As a CalcPad user,
I want to write unit conversions using natural language keywords like "in", "to", and "as" with plural and singular unit names,
So that I can express conversions the way I naturally think about them.
**Acceptance Criteria:**
**Given** the expression `5 inches in cm`
**When** the engine evaluates it
**Then** it recognizes `in` as a conversion operator and `cm` as the target unit
**And** the result is `12.7 cm`
**Given** the expression `100 ft to meters`
**When** the engine evaluates it
**Then** it recognizes `to` as a conversion operator
**And** the result is `30.48 meters`
**Given** the expression `72 kg as pounds`
**When** the engine evaluates it
**Then** it recognizes `as` as a conversion operator
**And** the result is approximately `158.733 pounds`
**Given** the expression `1 foot in inches`
**When** the engine evaluates it
**Then** it recognizes both the singular `foot` and plural `inches`
**And** the result is `12 inches`
**Given** the expression `5 lbs in kilograms`
**When** the engine evaluates it
**Then** it recognizes the abbreviation `lbs` and full name `kilograms`
**And** the result is approximately `2.26796 kilograms`
**Given** the word `in` used in a context that is not a unit conversion (e.g., `5 in + 3 in`)
**When** the engine evaluates it
**Then** it correctly interprets `in` as the unit "inches" rather than a conversion operator
**And** the result is `8 in`