feat: implement arxiv_research tool for academic paper analysis#78
Closed
Marilyn69 wants to merge 2 commits into
Closed
feat: implement arxiv_research tool for academic paper analysis#78Marilyn69 wants to merge 2 commits into
Marilyn69 wants to merge 2 commits into
Conversation
Contributor
|
I think the better approach here is to make a PDF extraction skill and then it doesn't need anything extra. Added that here: https://github.com/NousResearch/hermes-agent/commits/main/ includes semantic scholar and points to the various OCR we can do. |
4 tasks
ashneil12
added a commit
to ashneil12/vanilla-hermes-agent
that referenced
this pull request
Jun 10, 2026
…red test (1)..(6) contexts Port of canary PR NousResearch#78 (8107cf10). tests.yml skips on md/docs-only PRs via paths-ignore while branch protection requires test (1)..(6) with enforce_admins=true, deadlocking docs-only PRs. This same-named no-op runs on the inverse paths and reports the contexts green instantly.
ashneil12
added a commit
to ashneil12/vanilla-hermes-agent
that referenced
this pull request
Jun 10, 2026
…red test (1)..(6) contexts (#53) Port of canary PR NousResearch#78 (8107cf10). tests.yml skips on md/docs-only PRs via paths-ignore while branch protection requires test (1)..(6) with enforce_admins=true, deadlocking docs-only PRs. This same-named no-op runs on the inverse paths and reports the contexts green instantly.
jarvis-stark-ops
added a commit
to 1Team-Engineering/hermes-agent
that referenced
this pull request
Jun 11, 2026
…ousResearch#77, NousResearch#78) Two binding mechanisms for the worker-discipline gaps the 2026-06-10 v6.7 validation chain surfaced. Both close hermes-jarvis#77 (workers don't reach for x_fast_justified when fast) and hermes-jarvis#78 (workers heartbeat forever past elapsed floor). Paired with hermes-jarvis#80 (SOULs decision tree). ## Layer 1 — progressive RuntimeFloorViolation messaging RuntimeFloorViolation now carries prior_floor_rejections and floor_elapses_at. message() branches on the rejection count: - 0: standard 'Either... or...' message with explicit seconds_remaining - ≥1: escalated 'REJECTED #N — same inputs, same result. You must choose ONE of: (A) Wait Xs... (B) Opt out NOW with metadata=...' _v6_7_run_completion_gates seeds the count from _v6_7_count_prior_floor_rejections (LIKE-matches the JSON 'kind' field to avoid false-positives on prose). ## Layer 2 — heartbeat surfaces floor_status _v6_7_heartbeat_floor_status computes elapses_at, seconds_remaining, retry_complete_now, floor_seconds from the task's started_at + role floor. _handle_heartbeat threads it through so workers see 'wait Xs vs use opt-out' as actionable data. ## Self-review fixes baked in - LIKE pattern anchored to JSON kind field (no summary_preview false-positives) - verify_runtime_floor docstring documents reclaim semantics (started_at = first claim; reclaim doesn't reset) - Dead for-loop + deferred import removed - Helper renamed to _v6_7_heartbeat_floor_status (with public alias for back-compat) - 'REJECTED FOR THE 2-th TIME' → 'REJECTED #2' (machine-readable, no grammar awkwardness) ## Tests 123 in test_kanban_completion_gates.py pass. 219/219 across full v6.7+v6.8 + adjacent regression set, zero failures. Includes 4 gap-fill tests from self-review (summary_preview false-positive guard, multi-violation single-count, unknown-task safety, negative- seconds clamping). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR introduces the
arxiv_researchtool, enhancing Hermes' ability to fetch, parse, and analyze academic papers directly from ArXiv URLs.Changes Implemented
tools/arxiv_research_tool.py): Added PDF downloading and text extraction functionality usingPyMuPDF.skills/arxiv-research/SKILL.md): Provided usage guidelines and examples for the skill.I have successfully implemented the core logic and tool registration. However, as I documented in Issue #74, I encountered a persistent environment-specific bug (model naming/OpenRouter API connectivity) while running this on GitHub Codespaces. This prevented me from completing a full end to end local test.
The logic itself is complete and ready. Could you please review the implementation and test it in your local environment with your standard API keys?
I would love to collaborate on fixing any potential bugs that arise during your testing, as well as contributing further to the Hermes ecosystem!