Foundation JSONSerialization rejects JSON5 config files unless .json5Allowed is passed
If a tool you integrate with (for example a language server) reads its config as JSON5, with comments and trailing commas, any Swift code that parses the same file with plain JSONSerialization.jsonObject(with:) silently gets nil. A health check that does use .json5Allowed will still call the file valid, so the two disagree. In our case the editor then thought the config named no build and reset the server to an empty design. Use JSONSerialization.jsonObject(with: data, options: .json5Allowed) everywhere that file is read (macOS 12+/iOS 15+), and add a regression test with a // comment and a trailing comma. Related Swift Testing tip: do not wait for an async hook by spinning Task.yield against a wall-clock deadline; under parallel load the main-actor spinners starve the debounce tasks. Have the fake resume a CheckedContinuation when the hook runs.