a42aee9585
Builds on webtecnica's escape-aware _split_key_path (#84152, cherry-picked with authorship preserved; earliest fix in the family was RelaxJonh's #80253 greedy-match approach — both behaviors now ship together): - _greedy_literal_match: when navigating an EXISTING mapping, prefer an existing literal key equal to the dot-join of the next N path segments (longest match wins). Dotted model IDs are the norm, so the common unescaped command (config set providers.p.models.grok-4.6.supports_vision true) now hits the real key across set/get/unset instead of creating a phantom sibling. Plain dotted paths with no dotted-key collision split exactly as before. - _phantom_sibling + ValueError in _set_nested: refuse to CREATE a new intermediate mapping that would shadow an existing dotted literal sibling (Soju06's fail-loudly suggestion on #84064); set_config_value surfaces it as a clean CLI error with the escaped spelling to use. - utils.py::atomic_roundtrip_yaml_update (the second split site, #91607 — /model + TUI persistence) now uses the same escape-aware split + greedy literal matching. - CFG-04 empty-segment guard now splits escape-aware so escaped keys are not misclassified. - Tests for every repro shape in the family: #84064 provider model keys, #80006 Matrix room IDs, #91095 dotted models under custom_providers list index (incl. escaped creation-when-absent), #91607 model_overrides via atomic_roundtrip_yaml_update, #99124 dotted leaf keys; plus backward-compat coverage. Also fixed the carrier's one stale assertion (structured-value coercion landed on main after #84152 branched) and removed its dead _MCP_SECRETS_CONFIG fixture flagged in review. - Docs: 'Dots inside key names' section in website/docs/reference/cli-commands.md. Fixes #84064, fixes #80006, fixes #91095, fixes #91607, fixes #99124