Skip to content

v1.5.3 — Review Mode, Activity Center & Paper Freshness

Choose a tag to compare

@neej4 neej4 released this 26 May 13:13
· 12 commits to main since this release

v1.5.3 — Review Mode, Activity Center & Paper Freshness (2026-05-26)

Review Mode (new pipeline)

  • 4th mode: Literature Synthesis — clusters papers by theme, synthesizes findings per cluster, identifies gaps and open questions
  • 6-phase pipeline: Validate → Fetch → Cluster → Synthesize → Cross-cutting → Save
  • Cluster cards in idea grid (not idea cards) — click to see full synthesis
  • Cross-cutting analysis: timeline, active debates, open questions, reading list
  • Review sessions saved to history (visible in Recent tab with proper cluster rendering)
  • Context field required for Review mode (validated on Save and Run)

Activity Center (pipeline visualization popup)

  • Owl Chase pixel art game — owl catches paper dots while pipeline runs
  • Paper drip-feed system: papers spawn one-by-one (600ms interval) for gameplay enjoyment
  • Live graph with hover tooltip (shows category/cluster name + paper count)
  • Dot repositioning when new categories appear (columns rebalance)
  • LLM Chat tab: narrated conversation between Scout and AI
  • Adaptive phase list (5 phases default, 6 phases review)
  • Mini notification bar when Activity Center closed but pipeline running

Paper Freshness System

  • Papers track _used_count in cache — least-used papers prioritized for idea generation
  • When all papers exhausted (used 2+ times): auto-widens date range by 14 days, fetches fresh
  • papers_exhausted SSE event shown as orange notice in console

Threshold Externalization

  • All similarity thresholds moved to config.yamlthresholds: section
  • Config.THRESHOLD_* class attributes read from YAML (7 thresholds total)
  • config.example.yaml created as template for contributors

Security & Quality

  • config.yaml added to .gitignore (API keys no longer at risk of commit)
  • Prompt injection delimiters on paper abstracts passed to LLM
  • 14 new unit tests: test_clusterer.py (7) + test_synthesizer.py (7)
  • Skill loader now searches REVIEW/ folder

Rate Limit Improvements

  • Semantic Scholar: retry reduced from 3x/45s to 2x/10s — skip faster, other sources cover
  • Inter-category delay increased from 4s to 6s (fewer arXiv 429s)
  • OpenAlex: cs.IR moved to keyword search (concept ID was wrong — returned law papers)
  • Polite User-Agent with mailto on S2 requests

UX Polish

  • Profile popup hidden by default (was blocking page on load)
  • Goal selection syncs immediately on card click (no need to click Save first)
  • All alert() replaced with custom toast notifications (slide-in, auto-dismiss)
  • "What's New" section no longer hardcodes version number
  • Transparency panel shows all 8 sources (was hardcoded to 3)
  • Recent tab: review sessions show "X clusters · Y papers" with topic subtitle
  • preview_server.py reads version from VERSION file dynamically

Developer Experience

  • .github/ISSUE_TEMPLATE/ (bug report + feature request)
  • .github/PULL_REQUEST_TEMPLATE.md with version bump checklist
  • CONTRIBUTING.md: removed stale @prompt-auditor reference
  • package-lock.json removed from .gitignore (commit lockfile for reproducibility)

Breaking changes

  • None. Fully backward compatible with v1.5.2 data files.