- api/ai_gates.py: changing the canvas, using the GPU, downloading and scanning online can each
go ahead, ask first or never (downloads ask by default; anomalous/ai_gates.json). A call that
asks waits on its step (state "asking", what it would do listed) up to 50 s for Allow or No
(with the user's reason for the AI); unanswered, the AI is told to wait and call again, the
later answer reaches it as a message, and the same call after an Allow goes ahead.
- ui_ai_gate.js: the card under a waiting step and the Gates window; a toast while elsewhere.
- ui_ai_flow.js + ai_task_view.flowStages: the task's stages in order, each done, running,
waiting or failed; a stage leads to its first step.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>