After importing a brief via JSON paste, edit appeared not to work — the
textarea would either be empty or silently revert as React Query refetched
on window focus (every refetch fired the prefill useEffect, blowing away
whatever the user had typed). On top of that, if the server's `full` field
wasn't returned for any reason the textarea stayed permanently empty.
Fixes:
- Initialise the textarea exactly once via a useRef seed flag. Subsequent
data refetches don't overwrite user-typed content.
- When `full` is missing, fall back to reconstructing the BRIEF_INPUT shape
from public columns (client_name, brand positioning, kpis, quality floor,
etc.) so the user has something to edit. Surfaces an amber banner noting
competitors/audience/geo are blank and need re-entering.
- New "Reset to saved" link in the header to deliberately discard local
changes and reload from the server.
- Disable Save when the textarea is empty.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>