Skip to content

api: persist model-pull jobs to disk (reuse updater disk-mirror) so restart doesn't 404 the poll #626

@thinmintdev

Description

@thinmintdev

What to build

Updater jobs are disk-mirrored to /var/lib/hal0/update-jobs and survive restart; model-pull jobs live only in app.state.model_pull_jobs, so a restart mid-pull 404s the poll — despite the docstring claiming "Mirror of the updater route shape." Extend the same disk-mirror pattern (same make_job primitive) to model-pull jobs.

Pointers: updater.py:114; routes/models.py:1230. Audit Q4.2.

Acceptance criteria

  • Model-pull jobs mirrored to disk like updater jobs
  • Polling a model-pull job after a restart returns status, not 404

Blocked by

None - can start immediately

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingoss-readiness2026-06-07 codebase-audit OSS-readiness backlogready-for-agentPRD is fully scoped and ready for an AFK agent to pick up

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions