Files
alkcall/docs/reviews/consumer-findings-ledger.md
T

1.6 KiB

Consumer findings ledger — alkhttp consuming alkcall

Findings from writing the first real consumer (alkhttp) against alkcall. alkcall is deliberately minimal; expect missing features and edge-case bugs to surface here first. Extract items into alkcall tasks/reviews as the project sees fit.

Format: date | found-in (alkhttp context) | severity | status.


Open

CF-001 — call_single_stream write-failure maps to non-retryable INTERNAL (2026-08-29)

  • Found in: alkhttp from_wss drop-monitor race tests (WS-02/CON-02, review-001-ws-eof-signal). When the transport mux dies mid-call, the write path fails fast and alkcall's call_single_stream write-failure mapping produces a non-retryable INTERNAL: failed to write request frame — even though the call never reached the producer and a reconnect/retry would be safe.
  • Impact: consumers that drop connections under load (WS EOF, network flaps) get non-retryable errors for in-flight calls that are provably not processed. Callers must either tolerate-or-discriminate two envelope shapes for the same transport-death race, or miss retry opportunities.
  • Suggested direction: classify write failures that occur before any response frame could arrive as retryable (CONNECTION_CLOSED or equivalent) — or expose the distinction so consumers can decide.
  • alkhttp side: the race test tolerates both outcomes for now (asserts retryable only when the call is provably in-flight). If/when alkcall fixes the mapping, alkhttp's ws-eof-signal test should tighten back to retryable-only.
  • Status: open — no alkcall change made.

Resolved

(empty)