PR #162 · SPEC-C3 · Client Polling

feat(ui): SPEC-C3-B fargate-async client polling loop

Decision ask: approve behind the fargate flag; UI change only for allowlisted users.

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.