• feat: map Worldtree b1 eager turn-launch statuses (409/503) in stream_turn

    vh released this 2026-06-30 13:11:33 -07:00 | 187 commits to main since this release

    Worldtree v1.0.0b1 (#331) decoupled turn execution from the SSE connection,
    so turn-launch failures now arrive EAGERLY as an HTTP status before any
    stream: 409 agent_not_available (pre-b1 was a 200 + in-stream error event)
    and 503 (retryable turn-launch / infra failure). stream_turn previously
    funneled both into a generic SseConnectFailed.

    Map them to typed SseConnectFailed subclasses — AgentNotAvailable (409) and
    TurnLaunchUnavailable (503, retryable=True) — carrying the parsed
    error_code/message from the {detail:{error_code,message}} envelope.
    Subclassing keeps existing except SseConnectFailed handlers working with
    zero changes (POST-003 preserved — no synthetic event yielded; raise mirrors
    reconnect_turn's 400/410/412 pattern).

    worldtree-dev confirmed 409/503 are real runtime statuses; the OpenAPI 2.1.0
    gap (not enumerating them) is theirs to fix (doc-completeness, not a wire
    break). The 503 error_code is being re-pinned upstream (today internal_error
    -> likely not_ready); our handling keys on STATUS so it's robust to the final
    code — tighten the 503 default once they confirm.

    Body shape live-confirmed against demo b1's 404/401 responses. Suite 509 green.
    Contract docs/contracts/issues/1.contract.md updated.

    Downloads