Open-source engineering demonstration

ResearchForge

Consolidate scholarly records. Keep the source references.

487 unscreened candidates, capped at 10 results per query/source. 21 of 24 Semantic Scholar pairs failed with HTTP 429.

The task

Artificial photosynthesis

Build a starting reading collection.

24 manual queries · 4 sources

cobalt molecular photocatalysts carbon dioxide reduction

Before · two source hits

  • Inspect OpenAlex result
    Captured title
    Photocathode functionalized with a molecular cobalt catalyst for selective carbon dioxide reduction in water
    DOI
    10.1038/s41467-020-17125-4
    Query
    cobalt molecular photocatalysts carbon dioxide reduction
    Download OpenAlex query output
  • Inspect Semantic Scholar result
    Captured title
    Photocathode functionalized with a molecular cobalt catalyst for selective carbon dioxide reduction in water
    DOI
    10.1038/s41467-020-17125-4
    Query
    cobalt molecular photocatalysts carbon dioxide reduction
    Download Semantic Scholar query output

After · one record, both sources

  1. CO₂ reduction · 2020

    Photocathode functionalized with a molecular cobalt catalyst for selective carbon dioxide reduction in water

    OpenAlex · Semantic Scholar · 10.1038/s41467-020-17125-4

    Open published article

Matched by DOI. A 2020 record demonstrating consolidation—not a current literature review. Previews show captured metadata, not full provider responses.

Take the collection with you.

738 retrieved rows → 487 records after deduplication.
CSV for spreadsheets. JSONL includes source/query references.

Recorded run · 27 October 2026

Engineering choices

Source ingestion, identity policy, and persistence are separate boundaries: each can fail differently and needs its own check.

  1. Define24 user-written queries
  2. RetrieveFour scholarly sources
  3. ReconcileDOI/title policy
  4. RetainRecords + failures
  • Local artifacts, not a hidden service.

    File-based batches here; optional SQLite projects avoid a database server. External queries still go to providers.

  • Retain failure state and consumed budgets.

    Checkpoints distinguish successful pairs from failed work. Retries must not silently replenish budgets or erase successful output.

  • Integrity is not scientific approval.

    Checksums verify stored bytes—not identity accuracy, relevance, or scientific truth.

Inspect the architecture and decisions

Retry the gaps. Preserve the history.

A later trial repeated the 21 failed pairs: 2 returned records; 19 still returned HTTP 429. The 20 rows included 15 identities absent from the original set.

Fresh observations on 7c05dc0, not an original-checkpoint continuation: the native JSONL was no longer available. The original 487-candidate download is unchanged.

29 controlled checkpoint and HTTP-policy tests passed; this does not guarantee live-provider recovery.

Inspect all 21 retry outcomes
  1. Returned 10 recordsartificial photosynthesis solar fuels
  2. Still HTTP 429artificial photosynthesis water splitting carbon dioxide reduction
  3. Still HTTP 429photoelectrochemical artificial photosynthesis hydrogen review
  4. Still HTTP 429photocatalytic carbon dioxide reduction solar fuels review
  5. Still HTTP 429artificial leaf solar water splitting
  6. Still HTTP 429solar driven carbon dioxide reduction formate
  7. Still HTTP 429solar driven carbon dioxide reduction methanol
  8. Returned 10 recordsphotoelectrochemical carbon dioxide reduction carbon monoxide
  9. Still HTTP 429tandem photoelectrochemical devices solar fuels
  10. Still HTTP 429integrated artificial photosynthesis water oxidation carbon dioxide reduction
  11. Still HTTP 429molecular catalysts artificial photosynthesis carbon dioxide
  12. Still HTTP 429artificial photosynthesis biohybrid systems
  13. Still HTTP 429perovskite artificial leaf solar fuels
  14. Still HTTP 429copper catalysts photocatalytic carbon dioxide reduction selectivity
  15. Still HTTP 429artificial photosynthesis solar to hydrogen efficiency stability
  16. Still HTTP 429artificial photosynthesis solar to fuel efficiency
  17. Still HTTP 429artificial photosynthesis catalyst degradation
  18. Still HTTP 429photocatalytic carbon dioxide reduction isotope controls
  19. Still HTTP 429photoelectrochemical solar fuels scalability
  20. Still HTTP 429artificial photosynthesis techno economic analysis
  21. Still HTTP 429artificial photosynthesis recent advances review
Download retry evidence

Test identity decisions—not just row reduction.

Sixteen agent-authored synthetic pair controls were frozen before testing batch reconciliation at 7c05dc0: 3 unexpected merges and 4 missed matches against their declared expectations.

Sample precision: 5/8 (62.5%); recall: 5/9 (55.6%)—not real-paper accuracy. A separate replay matched; the conformance test exits with a failure.

Human label review is pending. These constructed identities are not independently adjudicated ground truth. This is not a completed scientific review; conclusions still need human review.

Inspect the 16 controls and disagreements

Exact DOI controls passed. Title-only matching merged distinct author/year/arXiv controls and missed other title variations. The full report also measures a separate library pair-scorer policy; its results must not be combined with the batch policy.

  1. canonical-doiExpected: merge · Observed: merged

    Two citations explicitly assigned the same invented DOI/work; resolver spelling differs.

    Inspect the two constructed records

    Record 1

    Synthetic catalyst trial

    DOI: https://doi.org/10.55555/SYNTHETIC.C01
    arXiv: not supplied
    Year: 2024
    Authors: Example

    Record 2

    Synthetic catalyst trial

    DOI: 10.55555/synthetic.c01
    arXiv: not supplied
    Year: 2024
    Authors: Example

  2. same-doi-conflicting-metadataExpected: merge · Observed: merged

    Second citation has corrupted title, author and year; constructed DOI identity is authoritative.

    Inspect the two constructed records

    Record 1

    Synthetic catalyst trial

    DOI: 10.55555/synthetic.c02
    arXiv: not supplied
    Year: 2024
    Authors: Alpha

    Record 2

    Completely corrupted metadata

    DOI: 10.55555/synthetic.c02
    arXiv: not supplied
    Year: 2018
    Authors: Beta

  3. doi-case-prefixExpected: merge · Observed: merged

    Same invented DOI/work with doi prefix, case and padding differences.

    Inspect the two constructed records

    Record 1

    Synthetic membrane study

    DOI: doi:10.55555/SYNTHETIC.C03
    arXiv: not supplied
    Year: 2024
    Authors: Example

    Record 2

    Synthetic membrane study

    DOI: 10.55555/synthetic.c03
    arXiv: not supplied
    Year: 2024
    Authors: Example

  4. different-doi-similar-titlesExpected: keep separate · Observed: kept separate

    Independent constructed studies of two materials, assigned distinct DOIs despite same author/year.

    Inspect the two constructed records

    Record 1

    Synthetic catalyst stability in water

    DOI: 10.55555/synthetic.c04a
    arXiv: not supplied
    Year: 2024
    Authors: Example

    Record 2

    Synthetic catalyst stability in seawater

    DOI: 10.55555/synthetic.c04b
    arXiv: not supplied
    Year: 2024
    Authors: Example

  5. different-doi-identical-titlesExpected: keep separate · Observed: kept separate

    Independent constructed studies with a reused generic title, separate DOI identities.

    Inspect the two constructed records

    Record 1

    Synthetic catalyst review

    DOI: 10.55555/synthetic.c05a
    arXiv: not supplied
    Year: 2024
    Authors: Example

    Record 2

    Synthetic catalyst review

    DOI: 10.55555/synthetic.c05b
    arXiv: not supplied
    Year: 2024
    Authors: Example

  6. missing-doi-case-whitespaceExpected: merge · Observed: merged

    Two source citations of one constructed DOI-free work; capitalization/spacing differs.

    Inspect the two constructed records

    Record 1

    Synthetic MEMBRANE stability

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Example

    Record 2

    synthetic membrane stability

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Example

  7. missing-doi-punctuationExpected: merge · Observed: kept separate

    Two citations of one constructed work; catalog punctuation differs, no DOI.

    Inspect the two constructed records

    Record 1

    Synthetic membranes: stability in water

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Example

    Record 2

    Synthetic membranes - stability in water

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Example

  8. one-doi-missingExpected: merge · Observed: kept separate

    One constructed work; second provider omitted its DOI but retained title/author/year.

    Inspect the two constructed records

    Record 1

    Synthetic polymer recovery

    DOI: 10.55555/synthetic.c08
    arXiv: not supplied
    Year: 2024
    Authors: Example

    Record 2

    Synthetic polymer recovery

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Example

  9. missing-doi-title-variantExpected: merge · Observed: kept separate

    One constructed work with a shortened catalog title and no DOI.

    Inspect the two constructed records

    Record 1

    Synthetic catalyst stability in water

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Example

    Record 2

    Synthetic catalyst stability

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Example

  10. missing-doi-title-collision-authorsExpected: keep separate · Observed: merged

    Independent invented works reuse a title; different authors establish distinct constructed identities.

    Inspect the two constructed records

    Record 1

    Synthetic annual progress report

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Alpha

    Record 2

    Synthetic annual progress report

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Beta

  11. missing-doi-title-collision-yearsExpected: keep separate · Observed: merged

    Separate annual editions, explicitly distinct works, with the same title/author.

    Inspect the two constructed records

    Record 1

    Synthetic annual progress report

    DOI: not supplied
    arXiv: not supplied
    Year: 2023
    Authors: Example

    Record 2

    Synthetic annual progress report

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Example

  12. missing-doi-unrelatedExpected: keep separate · Observed: kept separate

    Independent constructed topics, with no DOI.

    Inspect the two constructed records

    Record 1

    Synthetic lunar mineral survey

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Example

    Record 2

    Synthetic river ecology survey

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Example

  13. arxiv-version-identityExpected: merge · Observed: kept separate

    Versioned citations of the same invented arXiv work; title was revised.

    Inspect the two constructed records

    Record 1

    Synthetic quantum detector

    DOI: not supplied
    arXiv: arXiv:2401.99991v1
    Year: 2024
    Authors: Example

    Record 2

    Synthetic quantum detector revised

    DOI: not supplied
    arXiv: 2401.99991v2
    Year: 2024
    Authors: Example

  14. preprint-publication-separationExpected: keep separate · Observed: kept separate

    Separate citable artifacts in this control: preprint and substantively revised publication have distinct DOIs. This is a declared artifact-level identity convention, not a universal work-family policy.

    Inspect the two constructed records

    Record 1

    Synthetic quantum sensor study

    DOI: 10.55555/synthetic.preprint
    arXiv: 2301.99992
    Year: 2023
    Authors: Example

    Record 2

    Synthetic quantum sensor study

    DOI: 10.55555/synthetic.publication
    arXiv: not supplied
    Year: 2024
    Authors: Example

  15. missing-doi-corrupted-yearExpected: merge · Observed: merged

    One constructed DOI-free work; second catalog year is deliberately corrupted.

    Inspect the two constructed records

    Record 1

    Synthetic archive identity study

    DOI: not supplied
    arXiv: not supplied
    Year: 2024
    Authors: Example

    Record 2

    Synthetic archive identity study

    DOI: not supplied
    arXiv: not supplied
    Year: 2020
    Authors: Example

  16. distinct-arxiv-title-collisionExpected: keep separate · Observed: merged

    Independent invented preprints share a generic title/author/year but have distinct arXiv identities.

    Inspect the two constructed records

    Record 1

    Synthetic preliminary observations

    DOI: not supplied
    arXiv: 2401.99993
    Year: 2024
    Authors: Example

    Record 2

    Synthetic preliminary observations

    DOI: not supplied
    arXiv: 2401.99994
    Year: 2024
    Authors: Example

Run your own search

ResearchForge runs in your terminal. After installing it, replace the quoted topic below with your own. You supply the search terms; the command retrieves metadata and saves the collection. No search or installation runs in this browser.

CLI-only install · v0.1.21

Download only the CLI binary for your platform and check it against the release checksums; no agent integrations are required. With Go 1.26 available, the source-install alternative is go install github.com/TrebuchetDynamics/research-forge/cmd/[email protected].

rforge search batch --out ./research/my-topic --query "artificial photosynthesis solar fuels" --sources openalex,crossref --limit 10 --continue-on-error --stats

This smaller starter search is not the full recorded run above. It does not download PDFs or approve papers for inclusion. The archive used 0149ef1, later checks used 7c05dc0, and the linked release is another revision. Re-running reproduces the method, not an identical live result set.

Download the example’s 24 query variants
Search inputs, source coverage & verification

Original research prompt: How can artificial photosynthesis turn sunlight, water, and CO₂ into fuels? This page demonstrates the discovery and consolidation stage only.

Run on 27 October 2026 with rforge dev (0149ef1, 2026-10-26T06:08:31Z). 21 query/source failures were recorded; those gaps are not treated as successful searches. These downloads are a saved example, not a live search in your browser.

Archived rows and failed queries by source
SourceRowsFailed queries
OpenAlex2400
Crossref2280
Semantic Scholar3021
arXiv2400

The actual search inputs

  • artificial photosynthesis solar fuels
  • artificial photosynthesis water splitting carbon dioxide reduction
  • photoelectrochemical artificial photosynthesis hydrogen review
  • photocatalytic carbon dioxide reduction solar fuels review
  • artificial leaf solar water splitting
  • solar driven carbon dioxide reduction formate
  • solar driven carbon dioxide reduction methanol
  • photoelectrochemical carbon dioxide reduction carbon monoxide
  • tandem photoelectrochemical devices solar fuels
  • integrated artificial photosynthesis water oxidation carbon dioxide reduction
  • semiconductor photocatalysts artificial photosynthesis
  • molecular catalysts artificial photosynthesis carbon dioxide
  • artificial photosynthesis biohybrid systems
  • perovskite artificial leaf solar fuels
  • copper catalysts photocatalytic carbon dioxide reduction selectivity
  • cobalt molecular photocatalysts carbon dioxide reduction
  • artificial photosynthesis solar to hydrogen efficiency stability
  • artificial photosynthesis solar to fuel efficiency
  • artificial photosynthesis catalyst degradation
  • photocatalytic carbon dioxide reduction isotope controls
  • photoelectrochemical solar fuels scalability
  • artificial photosynthesis techno economic analysis
  • artificial photosynthesis recent advances review
  • artificial photosynthesis selectivity stability challenges

Ten results per query/source kept this technical demonstration bounded and inspectable. Many queries filled the limit; the counts do not measure the size of the literature or exhaustive retrieval. The CLI’s “comprehensive” setting is a request-budget preset, not proof of comprehensive coverage.

Retrieval command; no PDF downloads or screening approvals:

rforge search batch --out research/artificial-photosynthesis --queries research/artificial-photosynthesis/queries.txt --sources openalex,crossref,semantic-scholar,arxiv --limit 10 --depth comprehensive --max-requests 96 --continue-on-error --stats

The downloadable collection is a bibliographic projection of the run’s deduplicated library, without abstracts or provider payloads. Maintainers can run npm run verify:research-forge to check SHA-256 hashes, record counts, and the displayed paper metadata against the saved files. No scholarly APIs run during builds or browser tests.

Build a dependable research pipeline.

Custom source integrations, metadata pipelines, and validation workflows for research organizations.