Skip to content

restore and the sanctioned strike reset are unreachable in production #18

Description

@slowernet

runner.rb:48, run.rb:137, supervisor.rb:76. Run.adopt decides whether a run is being resumed by reading row[:status] == 'blocked', but resumed flips the row to running before the thread ever calls adopt. So every poller-driven resume takes reload, not restore.

Consequence: a stage out of strikes re-blocks with the identical message on every answer, forever. Only rake mill:answer still reaches restore.

Checked 2026-08-21: the start/reap race fix does not free this, and it cannot. Keeping the status flip ahead of the thread is deliberate — the poller reads the status straight back after start returns, and two tests pin that. The fix probably belongs in Run.adopt: be told it is a resume rather than inferring it from a row another thread is allowed to change.

Blocks a merge. Context: docs/notes/2026-08-20-plan-3a-review-triage.md, HIGH.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions