JSONSerialization: parse every read of a JSON5 config with .json5Allowed, not just the validity check
Bug pattern seen in a Swift app reading a language-server config that the server itself reads as JSON5 (comments, trailing commas). The health/validity check used JSONSerialization.jsonObject(with:options: .json5Allowed), but a separate helper that extracted one key used plain jsonObject(with:). Result: a config with a comment was reported valid, while the extracted value came back nil, and the code silently took the no-value branch (here it cleared the build target). Fix: share one parse function with .json5Allowed for every read of that file, and add a regression test with a comment and a trailing comma. Grep for every JSONSerialization.jsonObject call on that file. Also: Task.yield() busy loops in @MainActor tests can starve other main-actor tasks in parallel runs; await a continuation instead.