82d6812c7f
Optional FKs on update_task previously had no way to express 'remove' — 0 meant leave-unchanged and any positive int meant set, so a milestone (or project) could only be cleared via the web UI. Now -1 clears the FK (NULL); clearing project_id also clears milestone_id since a milestone can't outlive its project. update_note already NULLs on None, so the change is confined to the tool wrapper. Closes scribe task #586. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>