The engine and the drafter are separate
Not by convention and not by prompt instruction. The computation layer cannot import the model client, and the build fails if it can — the import graph is the boundary, made mechanical rather than reviewed for.
- Rating, weight, free time, duty and currency are pure functions over exact decimals
- The settlement path reaches no model at all and runs at zero token cost
- A validator blocks any rendered amount that has no charge line behind it
- Prompts are versioned data, so a wording change is one diff and the golden set catches what it altered