prefer-discriminated-union
Flag flat result objects with a required positive boolean status and optional success/failure payloads.
Why
When success and failure are mutually exclusive outcomes, a boolean plus optional branch data permits contradictory and incomplete states.
Fix
If the outcomes are mutually exclusive, represent each branch as a discriminated union member with its required payload.
Examples
type Result = { ok: boolean; data?: string; error?: string };type Result = { ok: true; data: string } | { ok: false; error: string };