[P1][textpipe] Appliquer un budget texte de bout en bout après chaque expansion #23

Open
opened 2026-07-31 21:05:13 +00:00 by mathieu · 1 comment
Owner

Constat

stt.max_text_bytes borne seulement l'assemblage STT. Cleanup, render, plugin et sanitation active peuvent ensuite grossir sans borne (internal/textpipe/pipeline.go:101-141, internal/inject/inject.go:100-126). Le mode marker peut multiplier une entrée newline-heavy par environ six.

Tâche

Propager un budget unique au pipeline, contrôler chaque sortie acceptée et construire la sanitation active sous budget. Saniter une seule fois avant les effets clipboard/injection.

Critères d'acceptation

  • Aucun texte final/sanitisé ne dépasse le budget.
  • Dépassement d'une étape optionnelle garde le texte précédent avec warning typé.
  • Dépassement render/sanitation échoue avant tout effet externe.
  • Les frontières UTF-8 sont testées en octets.

Validation

go test -race ./internal/textpipe ./internal/plugin/markdown ./internal/inject ./internal/sink ./internal/session ./internal/cli

## Constat `stt.max_text_bytes` borne seulement l'assemblage STT. Cleanup, render, plugin et sanitation active peuvent ensuite grossir sans borne (`internal/textpipe/pipeline.go:101-141`, `internal/inject/inject.go:100-126`). Le mode marker peut multiplier une entrée newline-heavy par environ six. ## Tâche Propager un budget unique au pipeline, contrôler chaque sortie acceptée et construire la sanitation active sous budget. Saniter une seule fois avant les effets clipboard/injection. ## Critères d'acceptation - Aucun texte final/sanitisé ne dépasse le budget. - Dépassement d'une étape optionnelle garde le texte précédent avec warning typé. - Dépassement render/sanitation échoue avant tout effet externe. - Les frontières UTF-8 sont testées en octets. ## Validation `go test -race ./internal/textpipe ./internal/plugin/markdown ./internal/inject ./internal/sink ./internal/session ./internal/cli`

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

Correctif proposé et validé dans la PR #45 : https://git.2027a.net/mathieu/murmur/pulls/45.
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#23
No description provided.