Skip to content

cow: ratify or reconcile the retry classification table vs cowprotocol::ApiError::retry_hint #323

Description

@mfw78

Part of #138. Raised (major) by the #138 sweep; the divergence is documented in crates/cow-venue/data/classification.toml but should be ratified.

Problem. shepherd-sdk already depends on cowprotocol, which ships a canonical ApiError::retry_hint() classifier. #236's classification.toml reimplements it by hand and materially diverges (e.g. InvalidEip1271Signature drop-vs-upstream-Retry; balance/allowance/app-data drop-vs-Backoff). It faithfully preserves prior shepherd behaviour (no regression), but reuse-vs-divergence should be a deliberate decision — and PriceExceedsMarketPrice in the table is not in the real CoW errorType enum (dead data).

Scope. Decide: delegate to retry_hint() with shepherd overrides, or keep the table as shepherd's conservative data-of-record with an explicit rationale. Prune dead rows; reconcile against the real cowprotocol error enum.

Acceptance. Classification source-of-truth ratified in an ADR or the table header; no phantom errorTypes remain.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions