Conversation
|
@djimit is attempting to deploy a commit to the Advait Paliwal's projects Team on Vercel. A member of the Team first needs to authorize it. |
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.
Summary\n\n- add bounded retry/backoff for transient OpenAlex 429/5xx responses\n- honor Retry-After with a capped delay\n- fall back to official arXiv HTML when PDF/full text is unavailable\n- sanitize HTML to usable research text and select preferred full-text candidates explicitly\n- add focused regression coverage\n\n## Validation\n\n- TAP version 13
Subtest: abstractFromInvertedIndex reconstructs OpenAlex abstracts
ok 1 - abstractFromInvertedIndex reconstructs OpenAlex abstracts
duration_ms: 0.561208
type: 'test'
...
Subtest: fetchOpenAlexWorks bounds provider calls with an abort signal
ok 2 - fetchOpenAlexWorks bounds provider calls with an abort signal
duration_ms: 8.071958
type: 'test'
...
Subtest: fetchOpenAlexWorks retries a rate-limited provider once with bounded backoff
ok 3 - fetchOpenAlexWorks retries a rate-limited provider once with bounded backoff
duration_ms: 2.869834
type: 'test'
...
Subtest: PaperRank slug and limit parsing are stable
ok 4 - PaperRank slug and limit parsing are stable
duration_ms: 0.457334
type: 'test'
...
Subtest: computePageRank gives cited papers more local graph prestige
ok 5 - computePageRank gives cited papers more local graph prestige
duration_ms: 0.2395
type: 'test'
...
Subtest: extractEvidenceSpans returns marker offsets and surrounding source text
ok 6 - extractEvidenceSpans returns marker offsets and surrounding source text
duration_ms: 0.357125
type: 'test'
...
Subtest: extractEvidenceSpans requires marker boundaries
ok 7 - extractEvidenceSpans requires marker boundaries
duration_ms: 0.143875
type: 'test'
...
Subtest: extractPaperContentText normalizes common alphaXiv content payload shapes
ok 8 - extractPaperContentText normalizes common alphaXiv content payload shapes
duration_ms: 0.070209
type: 'test'
...
Subtest: fetchArxivPaperContent converts official HTML into bounded text
ok 9 - fetchArxivPaperContent converts official HTML into bounded text
duration_ms: 1.037958
type: 'test'
...
Subtest: extractFullTextSections preserves canonical section offsets
ok 10 - extractFullTextSections preserves canonical section offsets
duration_ms: 0.548917
type: 'test'
...
Subtest: evaluatePaperRubric answers checklist items from extracted sections
ok 11 - evaluatePaperRubric answers checklist items from extracted sections
duration_ms: 0.361083
type: 'test'
...
Subtest: buildFullTextAccessPlan records legal source-specific candidates
ok 12 - buildFullTextAccessPlan records legal source-specific candidates
duration_ms: 1.325709
type: 'test'
...
Subtest: normalizeOpenAlexWorks keeps repository PDFs from all OpenAlex locations
ok 13 - normalizeOpenAlexWorks keeps repository PDFs from all OpenAlex locations
duration_ms: 0.168208
type: 'test'
...
Subtest: normalizeOpenAlexWorks drops non-http provider URLs and canonicalizes DOI links
ok 14 - normalizeOpenAlexWorks drops non-http provider URLs and canonicalizes DOI links
duration_ms: 0.154083
type: 'test'
...
Subtest: resolvePaperAccess writes Markdown-safe provider titles and links
ok 15 - resolvePaperAccess writes Markdown-safe provider titles and links
duration_ms: 2.157542
type: 'test'
...
Subtest: normalizeOpenAlexWorks extracts arXiv ids from secondary OpenAlex access locations
ok 16 - normalizeOpenAlexWorks extracts arXiv ids from secondary OpenAlex access locations
duration_ms: 0.109958
type: 'test'
...
Subtest: fetchEuropePmcPaperContent discovers PMCID from DOI before fetching XML
ok 17 - fetchEuropePmcPaperContent discovers PMCID from DOI before fetching XML
duration_ms: 0.896833
type: 'test'
...
Subtest: runPaperRank full-text enrichment discovers Europe PMC content from DOI-only OpenAlex papers
ok 18 - runPaperRank full-text enrichment discovers Europe PMC content from DOI-only OpenAlex papers
duration_ms: 11.351916
type: 'test'
...
Subtest: scorePapers separates impact, graph, methodology, and reproducibility
ok 19 - scorePapers separates impact, graph, methodology, and reproducibility
duration_ms: 0.652542
type: 'test'
...
Subtest: scorePapers excludes graph prestige when local citation edges are absent
ok 20 - scorePapers excludes graph prestige when local citation edges are absent
duration_ms: 0.655
type: 'test'
...
Subtest: expandCitationNeighborhood adds outgoing references and incoming citations
ok 21 - expandCitationNeighborhood adds outgoing references and incoming citations
duration_ms: 0.526333
type: 'test'
...
Subtest: generatePaperCritiques creates span-grounded review questions
ok 22 - generatePaperCritiques creates span-grounded review questions
duration_ms: 0.900208
type: 'test'
...
Subtest: generateFieldMap identifies clusters and paper roles
ok 23 - generateFieldMap identifies clusters and paper roles
duration_ms: 0.522875
type: 'test'
...
Subtest: generateRankSensitivity records rank movement across weighting profiles
ok 24 - generateRankSensitivity records rank movement across weighting profiles
duration_ms: 1.164708
type: 'test'
...
Subtest: generateScoreCalibration evaluates researcher read-order preferences
ok 25 - generateScoreCalibration evaluates researcher read-order preferences
duration_ms: 0.929292
type: 'test'
...
Subtest: generateReproductionEvidenceLedger records completed reproduction notes separately
ok 26 - generateReproductionEvidenceLedger records completed reproduction notes separately
duration_ms: 0.627875
type: 'test'
...
Subtest: buildModelSynthesisPacket creates a bounded auditable model handoff
ok 27 - buildModelSynthesisPacket creates a bounded auditable model handoff
duration_ms: 1.332708
type: 'test'
...
Subtest: resolvePaperAccess writes bounded paper-access artifacts
ok 28 - resolvePaperAccess writes bounded paper-access artifacts
duration_ms: 1.137917
type: 'test'
...
Subtest: resolvePaperAccess escapes provider full-text source labels in Markdown reports
ok 29 - resolvePaperAccess escapes provider full-text source labels in Markdown reports
duration_ms: 0.681084
type: 'test'
...
Subtest: enrichPapersWithFullText redacts fetcher failure messages
ok 30 - enrichPapersWithFullText redacts fetcher failure messages
duration_ms: 0.347375
type: 'test'
...
Subtest: resolvePaperAccess rejects unrelated OpenAlex hits for arXiv identifiers
ok 31 - resolvePaperAccess rejects unrelated OpenAlex hits for arXiv identifiers
duration_ms: 1.867541
type: 'test'
...
Subtest: resolvePaperAccess enriches arXiv fallback records from the arXiv API
ok 32 - resolvePaperAccess enriches arXiv fallback records from the arXiv API
duration_ms: 1.688042
type: 'test'
...
Subtest: resolvePaperAccess accepts OpenAlex hits whose arXiv id is only in secondary locations
ok 33 - resolvePaperAccess accepts OpenAlex hits whose arXiv id is only in secondary locations
duration_ms: 0.770292
type: 'test'
...
Subtest: resolvePaperAccess checks multiple OpenAlex candidates for arXiv identifiers
ok 34 - resolvePaperAccess checks multiple OpenAlex candidates for arXiv identifiers
duration_ms: 0.525542
type: 'test'
...
Subtest: resolvePaperAccess treats title-like arXiv-shaped numbers as title search text
ok 35 - resolvePaperAccess treats title-like arXiv-shaped numbers as title search text
duration_ms: 0.462083
type: 'test'
...
Subtest: resolvePaperAccess checks multiple OpenAlex candidates for title searches
ok 36 - resolvePaperAccess checks multiple OpenAlex candidates for title searches
duration_ms: 0.895791
type: 'test'
...
Subtest: resolvePaperAccess rejects unrelated OpenAlex title search results
ok 37 - resolvePaperAccess rejects unrelated OpenAlex title search results
duration_ms: 0.471541
type: 'test'
...
Subtest: resolvePaperAccess treats title-like DOI substrings as title search text
ok 38 - resolvePaperAccess treats title-like DOI substrings as title search text
duration_ms: 0.687916
type: 'test'
...
Subtest: resolvePaperAccess keeps explicit DOI inputs on the DOI lookup path
ok 39 - resolvePaperAccess keeps explicit DOI inputs on the DOI lookup path
duration_ms: 0.734875
type: 'test'
...
Subtest: resolvePaperAccess keeps explicit OpenAlex IDs on the OpenAlex lookup path
ok 40 - resolvePaperAccess keeps explicit OpenAlex IDs on the OpenAlex lookup path
duration_ms: 0.5
type: 'test'
...
Subtest: resolvePaperAccess keeps explicit PMID inputs on the PMID lookup path
ok 41 - resolvePaperAccess keeps explicit PMID inputs on the PMID lookup path
duration_ms: 0.539375
type: 'test'
...
Subtest: resolvePaperAccess keeps explicit PMCID inputs on the PMCID lookup path
ok 42 - resolvePaperAccess keeps explicit PMCID inputs on the PMCID lookup path
duration_ms: 0.410416
type: 'test'
...
Subtest: runPaperRank writes durable report, data, graph, and provenance artifacts
ok 43 - runPaperRank writes durable report, data, graph, and provenance artifacts
duration_ms: 9.19375
type: 'test'
...
Subtest: runPaperRank writes Markdown-safe topic headings and shell snippets
ok 44 - runPaperRank writes Markdown-safe topic headings and shell snippets
duration_ms: 3.451
type: 'test'
...
Subtest: runPaperRank escapes script-breaking graph artifact data
ok 45 - runPaperRank escapes script-breaking graph artifact data
duration_ms: 2.103
type: 'test'
...
Subtest: runPaperRank redacts model synthesis failure messages from artifacts
ok 46 - runPaperRank redacts model synthesis failure messages from artifacts
duration_ms: 2.175875
type: 'test'
...
Subtest: feynman rank works end to end through the CLI with a fixture source
ok 47 - feynman rank works end to end through the CLI with a fixture source
duration_ms: 1708.422625
type: 'test'
...
Subtest: feynman rank default output is concise and decision-first
ok 48 - feynman rank default output is concise and decision-first
duration_ms: 961.6535
type: 'test'
...
Subtest: feynman rank writes default outputs under --cwd
ok 49 - feynman rank writes default outputs under --cwd
duration_ms: 1631.02725
type: 'test'
...
Subtest: feynman paper works end to end through the CLI with a fixture source
ok 50 - feynman paper works end to end through the CLI with a fixture source
duration_ms: 1587.384083
type: 'test'
...
Subtest: feynman paper default output names the best access route
ok 51 - feynman paper default output names the best access route
duration_ms: 965.927875
type: 'test'
...
Subtest: feynman paper writes default outputs under --cwd
ok 52 - feynman paper writes default outputs under --cwd
duration_ms: 1700.056875
type: 'test'
...
Subtest: feynman rank accepts a preference file through the CLI
ok 53 - feynman rank accepts a preference file through the CLI
duration_ms: 1703.431166
type: 'test'
...
Subtest: feynman rank accepts reproduction notes through the CLI
ok 54 - feynman rank accepts reproduction notes through the CLI
duration_ms: 1992.54175
type: 'test'
...
1..54
tests 54
suites 0
pass 54
fail 0
cancelled 0
skipped 0
todo 0
duration_ms 12411.798834 — 54 passed\n-