PR #162 · SPEC-C3 · Client Polling
feat(ui): SPEC-C3-B fargate-async client polling loop
What
Wires the chat UI to enqueue Fargate-async turns and poll status, plus backend start-turn staging with S3 input and SQS kick.
Why now
Fargate turns take seconds to minutes. Users need a non-blocking UX: 202 queued, status updates, eventual result stream.
What changed
POST /chats/:id/messages returns 202 queued in fargate-async mode; client polling loop with requestId; S3 input.json staging; turn-kick SQS message; graceful degrade to AgentCore when flag off.
Risk / trade-off
UI gated by chatMode and allowlist. Default path unchanged. Misconfigured flag returns 503 if IAM not applied.
Money & ops
Offloads heavy/long turns to Fargate without blocking the chat thread. Improves perceived latency for expensive work.
CEO decision
Approve. Merge after C1/C2. Roll out to allowlist only.