fix: recover Forgejo task claims after lost fetch responses #7

Closed
thesimplekid wants to merge 0 commits from recover_loss into main
Owner

Persist a fetch request key before contacting Forgejo and reuse it after
transport or decoding failures and controller restarts. Clear the journal
only after every returned claim is checkpointed, and reconcile recorded
claims without executing them again. Make the HTTP timeout configurable,
with a 30-second default and matching NixOS option.

Publish logs with a nonempty terminal diagnostic before reporting task
completion. Persist publication progress so failures and lost responses
can retry across restarts, including jobs with no workflow output. Mark
unexecuted steps as skipped when the engine never reported execution.

Validate with the full Rust test suite, strict Clippy, formatting, the
NixOS module check, and flake evaluation. Tests model Forgejo 15.0.9 fetch
recovery and log publication behavior; live deployment was not tested.
Historical claims made without request keys still need server-side care.

Refs: #5

Persist a fetch request key before contacting Forgejo and reuse it after transport or decoding failures and controller restarts. Clear the journal only after every returned claim is checkpointed, and reconcile recorded claims without executing them again. Make the HTTP timeout configurable, with a 30-second default and matching NixOS option. Publish logs with a nonempty terminal diagnostic before reporting task completion. Persist publication progress so failures and lost responses can retry across restarts, including jobs with no workflow output. Mark unexecuted steps as skipped when the engine never reported execution. Validate with the full Rust test suite, strict Clippy, formatting, the NixOS module check, and flake evaluation. Tests model Forgejo 15.0.9 fetch recovery and log publication behavior; live deployment was not tested. Historical claims made without request keys still need server-side care. Refs: https://git.cashu.dev/thesimplekid/rith/issues/5
Persist a fetch request key before contacting Forgejo and reuse it after
transport or decoding failures and controller restarts. Clear the journal
only after every returned claim is checkpointed, and reconcile recorded
claims without executing them again. Make the HTTP timeout configurable,
with a 30-second default and matching NixOS option.

Publish logs with a nonempty terminal diagnostic before reporting task
completion. Persist publication progress so failures and lost responses
can retry across restarts, including jobs with no workflow output. Mark
unexecuted steps as skipped when the engine never reported execution.

Validate with the full Rust test suite, strict Clippy, formatting, the
NixOS module check, and flake evaluation. Tests model Forgejo 15.0.9 fetch
recovery and log publication behavior; live deployment was not tested.
Historical claims made without request keys still need server-side care.

Refs: #5
thesimplekid closed this pull request 2026-10-18 14:36:25 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
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
thesimplekid/rith!7
No description provided.