Skip to content

feat(research): daily arXiv + leapmodel research pipeline#367

Draft
nolanmak wants to merge 1 commit into
mainfrom
feat/daily-research-pipeline
Draft

feat(research): daily arXiv + leapmodel research pipeline#367
nolanmak wants to merge 1 commit into
mainfrom
feat/daily-research-pipeline

Conversation

@nolanmak

Copy link
Copy Markdown
Owner

What

New augmentagent research subcommand + daily schedule. Each day it:

  1. Pulls recent arXiv AI/agent papers (cs.AI/MA/CL/LG, keyword-filtered, deduped against a new research_seen table).
  2. Pulls the latest leapmodel commits via gh api.
  3. Compares both against our agent process (README + schema/*.md) using a swappable LLM driver (RESEARCH_LLM_CMD, default claude -p).
  4. Files GitHub issues for the top gaps (capped, default 3/day) in RESEARCH_GH_REPO.
  5. Posts a digest to Discord (reuses post_digest_to_discord).

Swappable engine

The LLM is an external command: prompt on stdin, {"gaps":[…]} JSON on stdout. Swap claude -p for codex exec, ollama run, or an OpenAI-compatible shim with zero pipeline changes. Every stage is best-effort and degrades gracefully (a failed arXiv/leapmodel/LLM step logs a warning and the run continues).

Files

  • crates/augmentagent-store/src/store.rsresearch_seen table + helpers
  • crates/augmentagent-cli/src/research.rsnew pipeline module
  • crates/augmentagent-cli/src/main.rsmod research, Research subcommand + dispatch, pub(crate) on Discord fn
  • crates/augmentagent-cli/Cargo.tomlquick-xml
  • .env.exampleRESEARCH_* block
  • scripts/{daily-research,install-research,uninstall-research}.sh — new (08:00 timer, modeled on digest)
  • scripts/check-for-updates.sh — auto-register the timer

Verified ✅

  • arXiv fetch+parse (6 real papers), leapmodel fetch (30 commits), dedup (distinct seen-count 5→10→12)
  • Real claude driver produced actionable gaps incl. a leapmodel→agent transfer ("read-the-peak" adaptive halt)
  • cat stub → graceful degradation
  • cargo build --release clean; 5 unit tests pass

NOT yet fired (outward-facing) — tracked in #364

  • One real gh issue create (mechanism mirrors GhCliIssueRunner)
  • One real Discord post

Remaining work

Notes for reviewer

New `augmentagent research` subcommand runs a daily pipeline: pull recent
arXiv AI/agent papers (cs.AI/MA/CL/LG, keyword-filtered + deduped) and the
latest leapmodel commits, compare them against our agent process via a
swappable LLM driver (RESEARCH_LLM_CMD, default 'claude -p'), file GitHub
issues for the top gaps, and post a digest to Discord.

- store: research_seen dedup table + research_seen()/mark_research_seen()
- cli: research.rs pipeline module, Research subcommand, quick-xml dep
- scripts: daily-research.sh + install/uninstall + auto-updater registration
  (systemd timer fires 08:00, modeled on the existing digest job)
- .env.example: RESEARCH_* config block

The LLM is invoked as an external command (prompt on stdin, {"gaps":[...]}
JSON on stdout) so it can be swapped for codex/ollama/an OpenAI-compatible
shim without touching the pipeline. Every stage is best-effort and degrades
gracefully. Issue-create and Discord posting reuse existing proven paths.
@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9a96bb3e-290b-4b06-887a-2f47bc5ad9ae

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/daily-research-pipeline

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant