Skip to content

feature: dashboard paper filter, read trend + digest arXiv refs #46

Description

@Jammy2211

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

  1. 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.
  2. 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.
  3. 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.
  4. 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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions