Merged
Fix formatted repository YAML configuration parsing #146
urandonAdd on 28 days ago
Fix formatted repository YAML configuration parsing #146
Merged
urandonAdd on 28 days ago
urandon
urandonCollaborators
28 days ago

Closes #149

Scope and design

Replace the custom line/colon YAML lexer with the pinned yaml.v3 decoder using the shared typed config merge schema. Standard block/flow YAML and repository-doc include lists no longer break effective config loading. Preserve JSON behavior, legacy scalar list notation, quoted numeric/boolean compatibility, existing field provenance and repo-local path restrictions. Keep repository_docs semantics in its dedicated policy parser.

Typed legacy scalar coercion is bounded and copy-on-write for shared anchors. Invalid YAML/types, duplicate known keys, additional documents and cyclic aliases produce sanitized errors without raw scalar content.

Verification

Candidate SHA: f97378943e9f98ded5441b603e51c93780896c63
Base: 646f7e5f1da549d2439cd7b3a5d4fb830502e809

Passed: go test -count=1 ./...; go test -race -count=1 ./internal/config ./cmd/gitcode-mcp; scripts/check-product-docs.sh; git diff --check.

Minimal regression reproduced on the exact base, then passed on the candidate. Public testing polygon at 399d8548ef690b8a897ee0e0d494cf2beeba8298: isolated config show succeeds and offline MCP tools/list exposes search_sources.

Risk, recovery and UX

Shared configuration startup path affects all transports. Regression tests cover standard/legacy forms, aliases/cycles, malformed inputs, scalar redaction, JSON compatibility, merge provenance, path restrictions and CLI/MCP entrypoints. No schema migration, global-cache mutation or new UI cohort. Recovery is a normal revert; no stored config rewrite.

Independent review and exact-SHA required CI are pending and remain merge gates.

likedislike
Pull Request has been successfully merged by urandon.
(Thank you for urandon's contribution.)
urandonurandonCollaborators
28 days ago Associated issue: [Feedback/bug][setup] Repo-local YAML block sequences fail effective config parsing
urandonurandonCollaborators
28 days ago Merged pull request, merge node SHA: 57b2359175b18c0ca08527046c05adf072b06682