Skip to content

Remove resume functionality#671

Draft
rtibbles wants to merge 1 commit into
learningequality:mainfrom
rtibbles:progress_pickling
Draft

Remove resume functionality#671
rtibbles wants to merge 1 commit into
learningequality:mainfrom
rtibbles:progress_pickling

Conversation

@rtibbles

@rtibbles rtibbles commented Jun 4, 2026

Copy link
Copy Markdown
Member

Summary

RestoreManager pickled itself — including the channel tree — at every chef step, which crashed runs when the tree contained unpicklable objects such as threading.local (which the file pipeline now embeds). The resume feature this supported is not actively used, so remove it entirely rather than chase picklability:

  • Delete managers/progress.py (RestoreManager and the Status enum)
  • Remove the --resume and --step CLI arguments
  • Rewrite uploadchannel as a plain linear flow using local variables instead of pickle-backed step gating
  • Remove the restore-path plumbing from config.py (PROGRESS_MANAGER, RESTORE_DIRECTORY, FILE_STORE_LOCATION, get_restore_path, init_file_mapping_store) and the mid-upload set_uploading checkpoint in managers/tree.py
  • Update docs that referenced --resume/--step and the restore/ directory

References

Extracted from in-progress spreadsheet chef work; no linked issue.

Reviewer guidance

uv run --group test pytest — full suite passes. tests/test_argparse.py was updated to drop the resume/step cases.

The integration chef (tests/test_chef_integration.py) was run against production Studio and completed a full upload through the new linear flow.

Behavioral notes worth weighing:

  • Chef invocations that pass --resume or --step will now fail with an argparse error rather than being silently ignored.
  • The restore/ directory is no longer created or cleaned.

AI usage

I used Claude Code to implement the removal and update the tests and docs; I reviewed the final diff.

🤖 Generated with Claude Code

RestoreManager pickled itself - including the channel tree - at every
chef step, which crashed runs when the tree contained unpicklable
objects such as threading.local (which the file pipeline now embeds).
The resume feature it supported is not actively used, so remove it
entirely: delete RestoreManager and the Status enum, drop the --resume
and --step CLI arguments, and rewrite uploadchannel as a plain linear
flow using local variables instead of pickle-backed step gating.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rtibbles rtibbles force-pushed the progress_pickling branch from 641a8dd to 27ab601 Compare June 5, 2026 17:45
@rtibbles rtibbles changed the title Stop pickling chef progress in RestoreManager Remove resume functionality Jun 5, 2026
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.

1 participant