Support --env config files with CLI override #51

Merged
weichen merged 4 commits from feature/svc-envfile into main 2026-09-30 12:00:34 +00:00
4 Commits
Author SHA1 Message Date
weichen 53fbfd7efd Record the sync checkpoint
ci / test (pull_request) Failing after 17m24s
2026-09-30 12:00:26 +00:00
weichen 52d0e45c81 Record the svc-envfile task card results 2026-09-30 12:00:25 +00:00
weichen 2460e49157 Support --env config files with CLI override
Why: per-environment bring-up needs a persistent file for the SVC_*
knobs (model keys, addresses, tavily pool) instead of relying on shell
history or the single global .svc.env; CLI flags must still win for
one-off overrides like a different port.

Evidence: live matrix - .env.dev parsed (comments, paired quotes,
export prefix) with its address and model values applied and seeded;
--port 8831 overrode the file's port while keeping its 0.0.0.0 host;
missing file fails fast; .svc.env and --env layer correctly (overlap
keys resolve to --env, disjoint keys merge).

Impact: --env FILE / --env=FILE anywhere on the command line; dotenv
parsed safely line-by-line (valid identifiers only, never sourced);
precedence CLI > --env file > .svc.env > OS env > defaults; help and
make svc ARGS examples updated.

Refs: feature/svc-envfile task card.
2026-09-30 12:00:25 +00:00
weichen 78fe0201e9 Record the task card for feature-svc-envfile 2026-09-30 11:59:27 +00:00