Part 5 · Reference
Environment and commands
Every key, what it turns on, what happens without it, and every command.
01What it is
The environment variables the product reads, grouped by what they enable, with the behaviour when each is absent. Plus the commands for running and checking the project.
02Why it exists
Every unkeyed integration has a working local adapter, so the product runs on a fresh clone with no secrets. Knowing which key turns on which capability is the difference between "the product is broken" and "this feature is off".
The rule for an absent key is that the feature says it is off. A public endpoint that writes returns a 503 rather than accepting anything.
03How to use it
- 01Find the capability you want and set the keys it names.
- 02Run the model check after setting a model key. Ids retire without notice.
- 03Expect deterministic local output where no model key is set. It is honest rather than pretending.
04What good looks like
- You give it
- No model key on a fresh clone.
- You get
- The product runs. Content generation says the key is missing rather than letting a gate rejection read as a judgement of your writing.
- Why
- Availability is checked before generation, so an absent key is reported as an absent key.
Derived from the rules in the code
05What weak looks like, and what it costs
- You give it
- Writing a model id into a config file.
- You get
- It works until the provider retires the id, then everything using it fails at once.
- Why
- Ids resolve from environment variables and are verified with the model check command. This has broken the project once already.
Derived from the rules in the code