Skip to content

feat: daily arXiv researcher — scan papers for gh-aw improvement opportunities - #49609

Merged
pelikhan merged 2 commits into
mainfrom
copilot/create-daily-agentic-workflow
Aug 1, 2026
Merged

feat: daily arXiv researcher — scan papers for gh-aw improvement opportunities#49609
pelikhan merged 2 commits into
mainfrom
copilot/create-daily-agentic-workflow

Conversation

CopilotAI commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Daily Claude workflow that skims latest arXiv papers (cs.AI/SE/LG), extracts actionable gh-aw improvement opportunities, creates a research discussion when findings exist, and maintains a permanent per-paper ledger in repo-memory.

New files

  • .github/workflows/daily-arxiv-researcher.md — daily scheduled workflow (Claude engine, max-ai-credits: 250)
  • .github/scripts/arxiv-fetch-and-filter.py — DataOps helper: parses arXiv Atom XML, deduplicates against cache-memory before agent starts; extracted to a separate file to avoid YAML/Python indentation conflicts in heredoc blocks
  • .github/workflows/daily-arxiv-researcher.lock.yml — compiled output

Optimization design

TechniqueWhat it buys
DataOps step: curl + Python parseZero AI credits for HTTP fetch and XML parsing
cache-memory dedup (90-day key)Already-seen paper IDs are skipped across daily runs
paper-screener sub-agent (model: small)Parallel cheap relevance filter; frontier model never sees irrelevant papers
opportunity-extractor sub-agent (model: large, max 8)Strong reasoning bounded to survivors only
Staged noop exitsStops at the first stage with nothing to do
Abstract truncated to 1,200 charsBounds per-paper input cost without losing signal
repo-memory on memory/arxiv-paper-ledgerIndefinite, Git-auditable ledger of every investigated paper

Flow

schedule daily ~8:00 UTC
step: curl export.arxiv.org → 40 papers (cs.AI + cs.SE + cs.LG)
step: parse Atom XML, filter seen IDs
agent:
├─ 0 new → noop
├─ paper-screener × N (small, parallel)
│ └─ none relevant → update ledger + noop
├─ opportunity-extractor × ≤8 (large)
├─ update repo-memory ledger (all processed papers)
└─ create-discussion with opportunities OR noop

Security

  • ANTHROPIC_API_KEY: standard Claude engine secret, used by other Claude workflows in this repo
  • export.arxiv.org: public read-only API, no credentials sent

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
CopilotAI changed the title feat: daily-arxiv-researcher — scan arXiv papers for gh-aw improvement opportunitiesfeat: daily arXiv researcher — scan papers for gh-aw improvement opportunitiesAug 1, 2026
CopilotAI requested a review from pelikhanAugust 1, 2026 19:06
@@ -0,0 +1,94 @@
"""

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot use JavaScript/github-script inlined into the AW, then remove this file

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 85e3b9b. The Python script has been removed and its logic is now inlined as an actions/github-script@v9.0.0 step in the workflow. The JavaScript uses Node.js built-in https and fs to fetch and parse the arXiv Atom XML, with the same dedup logic against cache-memory. The export.arxiv.org entry was also dropped from network: since custom steps run outside the AWF firewall sandbox.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
CopilotAI requested a review from pelikhanAugust 1, 2026 19:43
@pelikhan
pelikhan marked this pull request as ready for review August 1, 2026 19:44
CopilotAI review requested due to automatic review settings August 1, 2026 19:44
@pelikhan
pelikhan merged commit 10e21b7 into mainAug 1, 2026
1 check passed
@pelikhan
pelikhan deleted the copilot/create-daily-agentic-workflow branch August 1, 2026 19:44

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a daily Claude workflow to discover arXiv research relevant to gh-aw improvements.

Changes:

  • Fetches, parses, and deduplicates recent arXiv papers.
  • Uses sub-agents to screen papers and extract opportunities.
  • Persists a research ledger and creates discussions for findings.
Show a summary per file
FileDescription
.github/workflows/daily-arxiv-researcher.mdDefines fetching, analysis, memory, and reporting behavior.
.github/workflows/daily-arxiv-researcher.lock.ymlCompiled GitHub Actions workflow.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 1/2 changed files
  • Comments generated: 5
  • Review effort level: Balanced


safe-outputs:
create-discussion:
category: "research"
while ((em = entryRe.exec(xml)) !== null) {
const entry = em[1];
const idUrl = getText('id', entry);
const arxivId = idUrl.replace(/.*abs\//, '').trim();
Comment on lines +56 to +68
try {
xml = await new Promise((resolve, reject) => {
const req = https.get(ARXIV_URL, { timeout: 30000 }, res => {
const chunks = [];
res.on('data', c => chunks.push(c));
res.on('end', () => resolve(Buffer.concat(chunks).toString('utf8')));
});
req.on('error', reject);
req.on('timeout', () => { req.destroy(); reject(new Error('request timed out')); });
});
} catch (e) {
core.warning(`arXiv fetch failed: ${e.message}`);
}
Comment on lines +194 to +195
Write the updated ledger to `/tmp/gh-aw/repo-memory/default/paper-ledger.md`.
Write the updated index to `/tmp/gh-aw/repo-memory/default/paper-index.json`.
Comment on lines +39 to +40
- name: Fetch and parse arXiv papers
uses: actions/github-script@v9.0.0
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.84.3

Sign up for freeto 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.

3 participants

@pelikhan