Repository navigation
memory: /catch_up — harvest what was missed since the last ingest - #108
Merged
Merged
Conversation
scripts/catch_up.py: per scope (lensing | interests [--topic] | all), the cutoff is the newest DONE line in the scope's queue sections or the newest commit that adds a bib entry AND touches wiki/<domain>/sources/ (merges diffed against first parent; shallow clones ignored). Harvests swept suggestion lines from git history, open queue lines, and an arXiv gap-fill re-running the Mind digest's query over [cutoff-3d, today], deduped by arXiv id / normalised title against the bib and DONE lines. Network is best-effort: failures are warnings, never crashes. skills/catch_up/: the first organ-owned Memory skill — harvest, curate into intake/cite/queue/skip, one human gate, file via Opus subagents, one PR. skills/ added to the structure allowlist. board.py: "…so… I've been lost for a while" banner above the hero (and atop the markdown) once CATCH_UP_DAYS=7 pass without an ingest, with a copy button for /catch_up lensing; state.json gains days_since_ingest. knowledge_board.yml checks out full history so the banner can date it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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
After time away the suggestion tiers have lapsed, the queue has grown, and the nightly digest skipped 09-17→22 and 09-24→28. This adds one door for catching up.
scripts/catch_up.py(pure + CLI, stdlib):--scope lensing|interests|all [--topic T] [--since D] [--json] [--offline].DONE <date>in the scope's queue sections, or the newest commit that adds an@type{key,bib entry and toucheswiki/<domain>/sources/(merges diffed vs first parent; shallow clones ignored). The 2026-09-17 seed split, which touched sources but added no entry, does not count.git log -p, open reading-queue lines (viaboard._parse_paper), and an arXiv gap-fill that re-runs the Mind digest'sQUERY(imported fromPyAutoMind/.github/scripts, resolved via Brain_repo_paths.py) oversubmittedDate:[cutoff−3d, today]. Id-only lookups fill in missing abstracts. Interests is capped at 300 results, ranked by the digest's scorer, and reported astruncated.skills/catch_up/: the first organ-owned Memory skill. Harvest → curate into intake / cite / queue / skip → one human gate → Opus subagents file with the_read_promptrecipe →make validate→wiki/<domain>/log.md→ one PR.skillsis added toALLOWED_TOP_DIRS.CATCH_UP_DAYS = 7pass without an ingest, a banner appears above the hero and at the top of the markdown: "…so… I've been lost for a while", "N days since papers were last ingested into memory", and a 📋/catch_up lensingbutton.state.jsongainsdays_since_ingest.knowledge_board.ymlnow checks out withfetch-depth: 0so the banner can date the ingest.Live run (lensing, 2026-09-30)
The cutoff is 2026-09-11: the last DONE and the last bib+sources ingest (7e716dd) agree. That makes 19 days lost and 87 candidates: queue 50, history 8, arXiv gap-fill 29. None of them are already in memory.
Test plan
make test: 243 passed (newtests/test_catch_up.pycovers a fixture git repo for the cutoff, dedup, history parsing, and arXiv stubbed; banner tests are intest_board.py)make validategreenpython scripts/board.py --md/--htmlshow the 19-day banner above the heroFollow-ups, outside this repo: the
~/.claude/commands/catch_up.mdsymlink and a BrainCOMMANDS.mdline. Mind'sspawn.pyMEMORY_RULEShas no rule forskills/*, so a spawn dry-run will report it UNMATCHED until a partition rule is added.🤖 Generated with Claude Code