Repository navigation
Fall back to public metadata for papers outside the catalog - #27
Merged
Merged
Conversation
Production chat (7 days to 2026-10-14, ~5,500 turns) showed 5.7% tool
errors, mostly lookups the agent could not recover from:
- get_paper_info, read_paper, and get_related_papers returned a bare
not_found for arXiv IDs, arXiv URLs, DOIs, and titles the catalog does
not hold (76/80 recent misses were real catalog gaps). They now fall back
to public Hugging Face Papers, arXiv abstract-page/API, or Crossref (DOI)
metadata: title, authors, abstract, date, links, and linked repositories,
marked in_catalog=false (read_paper returns the abstract as Markdown;
get_related_papers returns a catalog search for the public title with a
note). A DOI whose public title is in the catalog returns the catalog
paper. Lookups are best effort, cached for an hour including misses, and
never logged with the reference.
- Title lookup resolves a unique short name before a title's colon, so
"MuseTalk" finds "MuseTalk: Real-Time High-Fidelity Video Dubbing ...".
- read_paper treats placeholder cursors such as "next" (28 failures a
week, then identical retries) as reading from the beginning.
- Closest-result hints for task/method/benchmark misses now require half
the reference's words, containment, or a near spelling, so FaceNet no
longer suggests WaveNet and "person re-identification" no longer suggests
Spoken Language Identification.
- get_benchmark answers a metric the leaderboard does not report
("overall", "pass@1") with the unfiltered leaderboard and a metric_note
naming the available metrics, instead of an error.
Bumps pwc-cli to 0.4.5 and pwc-mcp to 0.2.6.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 tasks
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.
Production chat audit (7 days to 2026-10-14, ~5,500 turns): reliability is fine, but 5.7% of tool calls errored, mostly with lookups the agent could not recover from. This PR changes the MCP tools (and one CLI hint helper) so those calls return something useful.
Changes
get_paper_info,read_paper, andget_related_papersused to return a barenot_foundfor arXiv IDs, arXiv/HF URLs, DOIs, and titles the catalog does not hold (76 of 80 recent misses were real catalog gaps). They now fetch public metadata: title, authors, abstract, date, links, and linked repos.get_paper_infoandread_papermark the resultin_catalog: false;read_paperreturns the abstract as Markdown.get_related_papersreturns a catalog search for the public title, with anote.MuseTalk→MuseTalk: Real-Time High-Fidelity Video Dubbing …(2410.10122).read_paperplaceholder cursors.cursor="next"(andstart,0, …) with nothing saved now reads from the beginning. This caused 28 failures a week, each followed by identical retries.get_benchmarkwith an unknown metric (overall,pass@1,accuracyon a leaderboard without them) returns the unfiltered leaderboard. Ametric_notenames the metrics it does have, instead of raising an error.Notes
PaperInfoResult.in_catalog/note,PaperReadResult.in_catalog,PaperPage.note,BenchmarkResult.metric_note.Verification
uv run pytestinmcp_server: 86 passed. Covers fallback, cursor, metric-note, short-name, caching, and parser tests.MuseTalkandNoise2Noiseresolve in the catalog.in_catalog: false.https://doi.org/10.1088/1361-6471/ac5fb4resolves to catalog paper 2108.05103 through its Crossref title.read_paper(cursor="next")reads from the beginning.get_method("FaceNet")andget_task("person re-identification")return no misleading hints.get_benchmark("ImageNet", sort_metric="pass@1")returns the leaderboard with "available metrics: FID, PSNR, SSIM".Chat-related: do not merge or deploy without explicit authorization.
🤖 Generated with Claude Code