pub const ALL_ENV: &[&str];Expand description
Every environment variable this crate reads outside its tests, in one place, so a consumer that carries them across a process or container boundary can assert its list against this one instead of against a count it remembers.
§Why a list, and why here
gunnar’s forge runs gunnar serve inside a podman container, and podman
passes nothing implicitly: a variable set on the host reaches the server
only if the forge names it in its crossing list. On 2026-08-11 five separate
wrong conclusions were drawn on one box from knobs that were “set” and never
arrived — the server ran on its default and the probe reported “no effect”,
a null result shaped exactly like a real one. The forge’s own list was three
entries long against a crate that read four keys, and nothing went red
when this crate grew a key, because the only list that looked was the
consumer’s.
This is the producer’s list. It is the one a consumer asserts against — “my
crossing list plus my named exclusions equals ALL_ENV” — so the day this
crate grows a ninth key, the consumer’s guard is what says so, and the
failure names the key rather than producing a quiet default.
§It is asserted complete, not trusted
every_environment_read_in_this_crate_is_named_in_all_env (in this module’s
tests) walks the crate’s own source and checks that every std::env::var
call outside a #[cfg(test)] region names a key on this list — by literal
or by one of the ENV_* constants above. Grow a read without growing the
list and that test is what goes red.
Three of the eight are arms (they select an implementation and change
what the store promises); the other five are knobs and ceilings that select
nothing. StoreConfig holds the arms and the cache ceiling, and its
Display prints those four; the remaining four are per-process knobs that
never vary between two stores in one process.