fix(journey): atomic memory writes + desktop lint fixups (follow-up to #55859) - #55863
Merged
Conversation
The merged #55859 left the star-map NodeContextMenu import and the canvas onContextMenu prop out of perfectionist's required order, failing `npm run lint` in the desktop workspace. Reorder both.
learning_mutations re-implemented the §-delimited read/write that tools/memory_tool already owns, and its writer used a plain write_text (truncate-then-write) — reintroducing exactly the partial-file race that MemoryStore._write_file engineered away with atomic temp-file + rename. Reuse MemoryStore._read_file/_write_file so the format is single-sourced, the write is atomic against concurrent readers, and journey indices stay aligned with the graph.
Assert a journey edit leaves MEMORY.md byte-identical to MemoryStore's own §-join (no trailing-newline drift) and round-trips through MemoryStore._read_file, so the two surfaces can never diverge on format.
OutThisLife
enabled auto-merge
June 30, 2026 20:16
waefrebeorn
pushed a commit
to waefrebeorn/slermes
that referenced
this pull request
Jul 2, 2026
…it-delete-followup fix(journey): atomic memory writes + desktop lint fixups (follow-up to NousResearch#55859)
habarmc1223-sudo
pushed a commit
to habarmc1223-sudo/hermes-agent-fluxmem
that referenced
this pull request
Jul 8, 2026
…it-delete-followup fix(journey): atomic memory writes + desktop lint fixups (follow-up to NousResearch#55859)
santhreal
pushed a commit
to santhreal/hermes-agent
that referenced
this pull request
Jul 13, 2026
…it-delete-followup fix(journey): atomic memory writes + desktop lint fixups (follow-up to NousResearch#55859)
Gravezzz
pushed a commit
to Gravezzz/hermes-agent
that referenced
this pull request
Jul 21, 2026
…it-delete-followup fix(journey): atomic memory writes + desktop lint fixups (follow-up to NousResearch#55859)
19 tasks
leewenjie
pushed a commit
to leewenjie/hermes-agent
that referenced
this pull request
Aug 7, 2026
…it-delete-followup fix(journey): atomic memory writes + desktop lint fixups (follow-up to NousResearch#55859)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fast-follow to #55859 (merged). Three small, independent fixes surfaced in review.
Summary
#55859left twoperfectionistsort violations inapps/desktop/.../star-map.tsx(theNodeContextMenuimport + the canvasonContextMenuprop), failingnpm run lintin the desktop workspace. Reordered both.agent/learning_mutations.pyhad re-implemented the§-delimited read/write thattools/memory_toolalready owns, and its writer used a plainwrite_text(truncate-then-write), reintroducing the partial-file race thatMemoryStore._write_filedeliberately avoids with atomic temp-file + rename. Now routes both reads and writes throughMemoryStore._read_file/_write_file— atomic against concurrent readers, single-sourced format, indices still aligned with the graph.MEMORY.mdbyte-identical toMemoryStore's own§-join and round-trips through_read_file, so the two surfaces can't drift.Test plan
scripts/run_tests.sh tests/agent/test_learning_mutations.py(14 pass)apps/desktoptypecheck +eslint(no new errors; the two remaining are pre-existing inprojects.ts/titlebar-overlay-width.cjs, untouched here)