Files
Maven/internal
claude 59b98d5c4d Merge the config.go sweep (#222)
V-410. internal/config/config.go went from 1827 lines to 484 and is now the
loader and nothing else. Thirteen files each carry their struct, their Default
constants, a normaliseX and a validateX. applyDefaults and validate are ordered
lists of those calls.

The brief's premise did not hold and the agent said so. There are eight
accessors in the package, not forty, and they mean four different things. Three
are pointer-bool with absent meaning on, three are enabled-and-has-its-path, one
converts units. A generic accessor would collapse those and cost the ability to
grep the name. What repeated was the normalise-and-validate shape inlined forty
times, and that is what was extracted.

Five in-code comments had drifted from the code and are fixed. RouterThreshold
said 0.35 and said 0.0 meant permissive, where the default is 0.55 and anything
at or below zero is replaced. PhraserConfig documented three defaults that are
applied nowhere. KiwixConfig still said the ZIMs answer before the network.
NetScanConfig said 50 where the default is 100. Nothing in CLAUDE.md or docs
disagreed with the code.

Filed V-580 rather than fixing it: phraser.n_gpu_layers has no default, so an
omitted key reaches llama-server as CPU-only. deploy/mavend.json sets 99, which
is why nobody noticed. Applying the -1 would change behaviour on any box that
omitted the key, so that is the owner's call.

TestDeployConfigLoads is new. It parses the real deploy/mavend.json through the
Load the daemon calls, because every other test built its own JSON and a renamed
key would have gone unnoticed until startup.

No key removed. make build and go test -race both pass.
2026-08-06 01:43:41 +04:00
..
2026-07-31 16:07:35 +04:00