Skip to content

fix: the snapshot follows the run; the GPU probe reads total_memory - #206

Merged
pskeshu merged 1 commit into
developmentfrom
fix/snapshot-and-mypy
Sep 26, 2026
Merged

pskeshu merged 1 commit into
developmentfrom
fix/snapshot-and-mypy

Conversation

@pskeshu

@pskeshu pskeshu commented Sep 26, 2026

Copy link
Copy Markdown
Collaborator

Two of the standby items.

The snapshot follows the run. conversation.json was written only after a conversation turn, so a run driven from the Operate pane with nobody talking to the agent left it where the last chat ended (on the rig: embryo counts at t1 while the run was at t15), and nothing wrote it when the process went away: Ctrl-C, the desktop shell's quit and SIGTERM all reach the same finally block, which stopped the server without saving. Now a landing volume saves it, off the event loop and at most once a minute (it is one JSON write of the whole conversation), and shutdown saves it before the server stops. The checkpoint (timelapse.yaml) still wins on resume, as #203 made it; this just stops the snapshot lying.

The GPU probe. props.total_mem → props.total_memory. The old name raised AttributeError into the blanket except, so the node never listed its GPU. This was also the one standing mypy error, so uv run mypy . is now clean.

Five tests in tests/test_snapshot_follows_the_run.py.

🤖 Generated with Claude Code

Two of the standby items.

The session snapshot (conversation.json) was written only after a
conversation turn, so a run driven from the Operate pane with nobody
talking to the agent left it where the last chat ended — on the rig, at
t1 while the run was at t15 — and nothing wrote it when the process went
away: Ctrl-C, the desktop shell's quit and SIGTERM all reach the same
finally block, and it stopped the server without saving. Now a landing
volume saves it, off the loop and at most once a minute (it is one JSON
write of the whole conversation), and shutdown saves it before the
server stops.

The mesh GPU probe read props.total_mem; torch's attribute is
total_memory. The AttributeError fell into the blanket except, so the
node never listed its GPU. This was also the one standing mypy error.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@pskeshu
pskeshu merged commit cab5c9c into development Sep 26, 2026
2 checks passed
@pskeshu
pskeshu deleted the fix/snapshot-and-mypy branch September 26, 2026 14:27
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