[P1][errs] Donner priorité à la classe du fallback effectif #17

Open
opened 2026-07-31 21:05:12 +00:00 by mathieu · 2 comments
Owner

Constat

failedAttempts enveloppe la classe du fallback mais garde les deux causes (internal/stt/stt.go:673-705). errs.Classify cherche d'abord context.DeadlineExceeded (internal/errs/errs.go:64-78): un timeout primaire peut donc masquer un auth_failed fallback alors que le provider effectif reste fallback.

Tâche

Définir une priorité explicite pour les erreurs agrégées de providers, sans modifier la classification des contextes ordinaires.

Critères d'acceptation

  • Timeout primaire + auth/503 fallback prend la classe fallback.
  • ProviderFromError reste cohérent avec la classe.
  • errors.Is retrouve toujours les deux causes.
  • Un deadline nu reste timeout.

Validation

go test -race ./internal/errs ./internal/stt ./internal/session ./internal/cli

## Constat `failedAttempts` enveloppe la classe du fallback mais garde les deux causes (`internal/stt/stt.go:673-705`). `errs.Classify` cherche d'abord `context.DeadlineExceeded` (`internal/errs/errs.go:64-78`): un timeout primaire peut donc masquer un `auth_failed` fallback alors que le provider effectif reste fallback. ## Tâche Définir une priorité explicite pour les erreurs agrégées de providers, sans modifier la classification des contextes ordinaires. ## Critères d'acceptation - Timeout primaire + auth/503 fallback prend la classe fallback. - `ProviderFromError` reste cohérent avec la classe. - `errors.Is` retrouve toujours les deux causes. - Un deadline nu reste `timeout`. ## Validation `go test -race ./internal/errs ./internal/stt ./internal/session ./internal/cli`

Correctif proposé dans la PR #39 (#39). Les validations ciblées et sous race décrites dans la PR passent.

Correctif proposé dans la PR #39 (https://git.2027a.net/mathieu/murmur/pulls/39). Les validations ciblées et sous race décrites dans la PR passent.

Correctif proposé et validé dans la PR #39 : #39.

Correctif proposé et validé dans la PR #39 : https://git.2027a.net/mathieu/murmur/pulls/39.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
mathieu/murmur#17
No description provided.