A conventions file, versioned with the code

A document describing this codebase’s conventions, read by a tool and by people, kept in the repository.

# Conventions

## Money
Always minor units in an integer. Never a float.
`Money` is a value object; a bare int at a boundary is
acceptable and must be named `*MinorUnits`.

## Persistence
Repositories, not models. `Order` is a domain object.
There is no `Order::find()`.

## Errors
A typed exception per failure. No `Result` objects.
No nullable returns for failure.

The file is the single most effective thing we have done about model-generated code being idiomatic-but-wrong, and it is also the onboarding document — which is the property that keeps it current. A document with one audience rots and a document that two audiences read gets corrected.