Skip to content

Execute Workshop streaming finalization safely - #864

Merged
dcellison merged 1 commit into
mainfrom
feat/workshop-streaming-finalization-worker
Aug 12, 2026
Merged

Execute Workshop streaming finalization safely#864
dcellison merged 1 commit into
mainfrom
feat/workshop-streaming-finalization-worker

Conversation

@dcellison

Copy link
Copy Markdown
Owner

Summary

  • add a production-unused Telegram adapter that executes immutable streaming-finalization edit and send operations
  • add a separate worker fixed to conversation replies under the streaming_finalization execution contract
  • preserve confirmed operation progress across retry and restart
  • classify uncertain lease recovery by edit versus send operation
  • document the completed execution foundation and require another explicit cutover review before production registration

Telegram behavior

  • edit the exact persisted preview message in the canonical Telegram binding
  • use Markdown first and retry once as plain text, matching Kai's established presentation behavior
  • accept Telegram's explicit message is not modified response as confirmation that the terminal snapshot already exists
  • require successful edit evidence to identify the exact target message
  • fail permanently when a preview was deleted or cannot be edited; never replace it with an automatic duplicate send
  • execute continuation sends only after the edit has been durably confirmed

Recovery and ambiguity

  • confirmed edits and sends are skipped after retry or process restart
  • definitive rate limits release only the current operation for bounded retry
  • timeout, network ambiguity, invalid success evidence, cancellation, or lease expiry after entering sending becomes terminal uncertainty
  • an uncertain edit is reported as delivery_edit_uncertain; an uncertain send retains delivery_send_uncertain
  • neither ambiguous operation is automatically retried

Isolation and production safety

  • the new worker claims only conversation_reply + streaming_finalization + Telegram text work
  • it cannot claim qualification rows or legacy send_fragments work
  • the existing worker remains unable to claim streaming-finalization work
  • no production handler, startup path, runtime registration, CLI command, or live delivery route uses the new classes
  • current Telegram replies, media, voice, commands, schedules, GitHub/generic webhooks, files, and notification-group delivery remain unchanged

Verification

  • make check
  • make typecheck
  • focused finalization adapter/worker tests: 19 passed
  • focused Workshop delivery and lifecycle suite: 107 passed
  • full suite: 5,383 passed, 1 skipped

@dcellison
dcellison merged commit a4a8dae into main Aug 12, 2026
1 check passed
@dcellison
dcellison deleted the feat/workshop-streaming-finalization-worker branch August 12, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants