jetstream v2 in zig stream.waow.tech

runtime: derive flag and environment names from an options struct master

Every option's flag spelling and JETSTREAM_* name now come from its field name rather than a separate list, with an `overrides` declaration as the only way to deviate -- so deviations stay countable instead of accumulating silently. The payload is the equivalence test: it derives the whole option set from ServeOptions and asserts it reproduces environment.zig's hand-written map exactly, entry for entry, including the root-only `serve: false` cases. docs/configuration-parity.md marks the flag inventory unverified precisely because nothing proved those two agreed. Now something does. This is the first half. main.zig still parses by hand; moving it onto ServeOptions is what finally deletes the map rather than merely checking it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>


+212 -2
3 changed files