Overview
Follow-up polish to #42/PR#43, human-approved from the ship-summary suggestions: make the 231-paper queue navigable at speed (filter box), make new queue entries link straight to their arXiv abstract page (digest refs), and surface whether the queue is draining (read trend).
Plan
- Filter box: self-contained JS
<input> above the reading queue in the html render; live-filters paper rows across sections, auto-expands sections with matches, restores collapsed state when cleared.
- Digest arXiv refs (PyAutoMind, direct-to-main like the original pipeline task): the nightly digest's paste-ready append block writes
Title — <arXiv id> so the dashboard's existing — <ref> parse links each new paper to its abstract page.
- Read trend: from the
DONE <date> history — "N read last 7 / M last 30 days" in the Reading queue header plus a small 8-week bar strip, computed relative to the snapshot generated timestamp (pure, testable).
Detailed implementation plan
Affected Repositories
- PyAutoMemory (primary —
scripts/board.py, tests/test_board.py)
- PyAutoMind (
.github/workflows/arxiv_papers.yml — direct main commit)
Branch Survey
| Repository |
Current Branch |
Dirty? |
| ./PyAutoMemory |
main (synced) |
clean |
| ./PyAutoMind |
main (synced) |
clean |
Suggested branch: feature/dashboard-filter-trend
Worktree: ~/Code/PyAutoLabs-wt/dashboard-filter-trend/
Implementation Steps
board.py html render: <input id="pfilter" type="search"> + flt() (vanilla JS, ES5) filtering ul.papers li text across details.qsec; sections with no match hide; non-empty query opens matching sections, empty query restores.
board.py: pure helper _read_trend(snapshot) parsing done_date across queue papers against snapshot["generated"] → counts for 7/30 days + 8 weekly buckets; render counts in the Reading queue <h2> meta and a mini bar strip (existing .bar/.seg styling pattern); mirror a one-line count in the md render.
tests/test_board.py: fixture gains DONE lines near a pinned generated date; pin the trend counts, the filter markup, and that badge/strip stay byte-identical.
- PyAutoMind
arxiv_papers.yml: append-block format becomes Title — <arXiv id>; YAML validated before push; digest still never commits.
Testing
pytest tests/ + make validate in PyAutoMemory; render --html and check filter behaviour by hand; YAML parse-check the Mind workflow.
Original Prompt
Click to expand starting prompt
See PyAutoMind/draft/feature/pyautomemory/dashboard_filter_trend_digest_refs.md (filed 2026-08-21; human approval: "ok do all 4" on the ship-summary suggestion list).
Overview
Follow-up polish to #42/PR#43, human-approved from the ship-summary suggestions: make the 231-paper queue navigable at speed (filter box), make new queue entries link straight to their arXiv abstract page (digest refs), and surface whether the queue is draining (read trend).
Plan
<input>above the reading queue in the html render; live-filters paper rows across sections, auto-expands sections with matches, restores collapsed state when cleared.Title — <arXiv id>so the dashboard's existing— <ref>parse links each new paper to its abstract page.DONE <date>history — "N read last 7 / M last 30 days" in the Reading queue header plus a small 8-week bar strip, computed relative to the snapshotgeneratedtimestamp (pure, testable).Detailed implementation plan
Affected Repositories
scripts/board.py,tests/test_board.py).github/workflows/arxiv_papers.yml— direct main commit)Branch Survey
Suggested branch:
feature/dashboard-filter-trendWorktree:
~/Code/PyAutoLabs-wt/dashboard-filter-trend/Implementation Steps
board.pyhtml render:<input id="pfilter" type="search">+flt()(vanilla JS, ES5) filteringul.papers litext acrossdetails.qsec; sections with no match hide; non-empty query opens matching sections, empty query restores.board.py: pure helper_read_trend(snapshot)parsingdone_dateacross queue papers againstsnapshot["generated"]→ counts for 7/30 days + 8 weekly buckets; render counts in the Reading queue<h2>meta and a mini bar strip (existing.bar/.segstyling pattern); mirror a one-line count in the md render.tests/test_board.py: fixture gains DONE lines near a pinnedgenerateddate; pin the trend counts, the filter markup, and that badge/strip stay byte-identical.arxiv_papers.yml: append-block format becomesTitle — <arXiv id>; YAML validated before push; digest still never commits.Testing
pytest tests/+make validatein PyAutoMemory; render--htmland check filter behaviour by hand; YAML parse-check the Mind workflow.Original Prompt
Click to expand starting prompt
See
PyAutoMind/draft/feature/pyautomemory/dashboard_filter_trend_digest_refs.md(filed 2026-08-21; human approval: "ok do all 4" on the ship-summary suggestion list).