fix(cli): rendre stdin annulable et doctor non destructif #41

Merged
mathieu merged 2 commits from fix/cli-doctor-cancellation into fix/session-event-invariants 2026-09-11 19:47:42 +00:00
Member

Résumé

  • lecture stdin cleanup bornée et annulable avec contrat CancelRead, sans goroutine laissée en arrière-plan
  • annulation dictate avant STT: abort capture, terminal cancelled, code 1, aucun provider/livraison
  • os.Stdin fermé seulement lorsqu’il est possédé
  • doctor sonde un vrai remplacement atomique via fichier sibling sans ouvrir ni modifier la destination; symlink/FIFO/répertoire refusés et probes nettoyés

Closes #1
Closes #2

Validation

  • tests CLI d’annulation/ownership sous race, 100 répétitions
  • tests doctor de destination/probe sous race, 100 répétitions
  • git diff --check

Signaux foreground

Le chemin dictate distingue maintenant les signaux de premier plan (arrêt puis traitement) d’une annulation de contexte API, avec stdin non bloquant et tests dédiés.

## Résumé - lecture stdin cleanup bornée et annulable avec contrat `CancelRead`, sans goroutine laissée en arrière-plan - annulation dictate avant STT: abort capture, terminal `cancelled`, code 1, aucun provider/livraison - `os.Stdin` fermé seulement lorsqu’il est possédé - doctor sonde un vrai remplacement atomique via fichier sibling sans ouvrir ni modifier la destination; symlink/FIFO/répertoire refusés et probes nettoyés Closes #1 Closes #2 ## Validation - tests CLI d’annulation/ownership sous race, 100 répétitions - tests doctor de destination/probe sous race, 100 répétitions - `git diff --check` ## Signaux foreground Le chemin `dictate` distingue maintenant les signaux de premier plan (arrêt puis traitement) d’une annulation de contexte API, avec stdin non bloquant et tests dédiés.
hermes force-pushed fix/cli-doctor-cancellation from 181b85022f
Some checks failed
CI / amd64 / Go 1.23.12 (push) Has been cancelled
CI / amd64 / Go 1.26.5 (push) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (push) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (push) Has been cancelled
CI / amd64 / Go 1.23.12 (pull_request) Has been cancelled
CI / amd64 / Go 1.26.5 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (pull_request) Has been cancelled
to b484e44c54
Some checks failed
CI / amd64 / Go 1.23.12 (push) Has been cancelled
CI / amd64 / Go 1.26.5 (push) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (push) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (push) Has been cancelled
CI / amd64 / Go 1.23.12 (pull_request) Has been cancelled
CI / amd64 / Go 1.26.5 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (pull_request) Has been cancelled
2026-08-07 17:54:30 +00:00
Compare
hermes changed target branch from main to fix/session-event-invariants 2026-08-07 18:02:08 +00:00
fix(cli): treat foreground signals as dictate stop
Some checks failed
CI / amd64 / Go 1.23.12 (push) Has been cancelled
CI / amd64 / Go 1.26.5 (push) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (push) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (push) Has been cancelled
CI / amd64 / Go 1.23.12 (pull_request) Has been cancelled
CI / amd64 / Go 1.26.5 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (pull_request) Has been cancelled
e5dbc486f0
hermes force-pushed fix/cli-doctor-cancellation from e5dbc486f0
Some checks failed
CI / amd64 / Go 1.23.12 (push) Has been cancelled
CI / amd64 / Go 1.26.5 (push) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (push) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (push) Has been cancelled
CI / amd64 / Go 1.23.12 (pull_request) Has been cancelled
CI / amd64 / Go 1.26.5 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (pull_request) Has been cancelled
to 9d7dae7b73
Some checks failed
CI / amd64 / Go 1.23.12 (push) Has been cancelled
CI / amd64 / Go 1.26.5 (push) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (push) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (push) Has been cancelled
CI / amd64 / Go 1.23.12 (pull_request) Has been cancelled
CI / amd64 / Go 1.26.5 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (pull_request) Has been cancelled
2026-08-07 18:18:04 +00:00
Compare
hermes force-pushed fix/cli-doctor-cancellation from 9d7dae7b73
Some checks failed
CI / amd64 / Go 1.23.12 (push) Has been cancelled
CI / amd64 / Go 1.26.5 (push) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (push) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (push) Has been cancelled
CI / amd64 / Go 1.23.12 (pull_request) Has been cancelled
CI / amd64 / Go 1.26.5 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (pull_request) Has been cancelled
to b5b71dec87
Some checks failed
CI / amd64 / Go 1.23.12 (push) Has been cancelled
CI / amd64 / Go 1.26.5 (push) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (push) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (push) Has been cancelled
CI / amd64 / Go 1.23.12 (pull_request) Has been cancelled
CI / amd64 / Go 1.26.5 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (pull_request) Has been cancelled
2026-08-07 18:28:56 +00:00
Compare
mathieu merged commit 79d3dde933 into fix/session-event-invariants 2026-09-11 19:47:42 +00:00
mathieu deleted branch fix/cli-doctor-cancellation 2026-09-11 19:47:42 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
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
2027a/murmur!41
No description provided.