Fix validate-repo-suggestion stale-base bug#112
Merged
Conversation
validate-repo-suggestion.yml read repos.json from the workflow's local checkout, then committed that content to a branch based on latest main. If any other PR merged to main between checkout and this step (concurrent auto-PR, manual merge, bot push), the local copy was stale — and the later squash-merge silently dropped everything that had landed in the gap. Surfaced by PR #89: keepnotes-ai/keep was added cleanly, but AxDSan/mnemosyne (added by PR #88 during the gap) was overwritten and had to be restored later in PR #94. PR #79 (mem0) is still DIRTY for the same reason and needs manual rebase or workflow re-trigger. Fix: fetch repos.json content via the GitHub API (`ref: 'main'`) right before mutating it, instead of reading from `fs`. The fetched `file.sha` is then used as the parent SHA for createOrUpdateFileContents — same optimistic-concurrency check as before, so if another PR squeaks in between the fetch and the commit, this one fails loudly with a 409 instead of silently dropping content. Removed: the now-redundant second `getContent` call and the unused `require('fs')`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
ellenlivia-mem0
pushed a commit
to ellenlivia-mem0/hermes-ecosystem
that referenced
this pull request
Apr 27, 2026
mem0 is a universal memory layer shipped as an official Hermes Agent memory provider (one-command setup via `hermes memory setup`). Adds the repo to the Memory & Context category on the map and the best-memory-providers list, with a gbrain-style overview summarizing the three auto-invoked tools (mem0_profile, mem0_search, mem0_conclude) and the non-blocking, circuit-breakered retrieval model. Also calls out the OSS / self-hosted path: mem0 is Apache-2.0, so the same provider runs either managed (app.mem0.ai) or fully self-hosted via the Python SDK (`pip install mem0ai`) or Docker Compose stack (Postgres + Qdrant + your own LLM/embedder), pointing Hermes at a local endpoint. Rebased onto latest main to fix the stale-checkout drift flagged by PR ksimback#112 — earlier branch state had silently dropped contributions from PRs ksimback#74, ksimback#80, ksimback#84, ksimback#87, ksimback#88, ksimback#89 plus the ksimback#105–ksimback#114 fixes.
3 tasks
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.
Summary
Active-priorities #3 from the roadmap. The
validate-repo-suggestion.ymlworkflow was readingdata/repos.jsonfrom the workflow's local checkout, then committing that content to a branch based on latest main via the GitHub API. If main moved between checkout and the commit step, the local copy was stale — and the later squash-merge silently dropped everything that had landed in the gap.PR #89 hit this in the wild: keepnotes-ai/keep was added cleanly, but AxDSan/mnemosyne (added moments earlier in PR #88) was overwritten. Had to be restored manually in PR #94.
Fix
Fetch
repos.jsoncontent via the GitHub API (ref: 'main') right before mutating it, instead of reading fromfs. The fetchedfile.shais reused as the parent SHA for the commit — same optimistic-concurrency check as before, so if another PR squeaks in between the API fetch and the commit, this run fails loudly with a 409 instead of silently dropping content.Action item
repo-suggestionto re-fire the workflow. New branch will be based on current main.Recommend option 2 since it exercises the new code path and confirms the fix in production.
Test plan
🤖 Generated with Claude Code