feat(sprint6b): блоки D+F — pending_guard, guard-индикаторы в UI, race-condition fix
- _eval_pending_guard() — вычисляет активный guard при незаполненных слотах - pending_guard добавлен в ThreadStateInfo (ответы /chat и /threads/:id) - ValidationEventInfo получил guard_name / missing_slots / guard_description - Sandbox: amber-блок «guard активен», подсветка в validation-событиях - openThread() защищён от race condition: if (activeThreadId !== id) return (исключает отрисовку устаревшего треда после переключения на новый) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -65,6 +65,7 @@ async def get_thread(thread_id: int, session: AsyncSession = Depends(get_session
|
||||
suspended_intent=state.get("suspended_intent"),
|
||||
resumable_step_code=state.get("resumable_step_code"),
|
||||
resumable_slots=state.get("resumable_slots", {}),
|
||||
pending_guard=state.get("pending_guard"),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user