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
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
After · one record, both sources
-
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.
- Define24 user-written queries
- RetrieveFour scholarly sources
- ReconcileDOI/title policy
- 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
- Returned 10 recordsartificial photosynthesis solar fuels
- Still HTTP 429artificial photosynthesis water splitting carbon dioxide reduction
- Still HTTP 429photoelectrochemical artificial photosynthesis hydrogen review
- Still HTTP 429photocatalytic carbon dioxide reduction solar fuels review
- Still HTTP 429artificial leaf solar water splitting
- Still HTTP 429solar driven carbon dioxide reduction formate
- Still HTTP 429solar driven carbon dioxide reduction methanol
- Returned 10 recordsphotoelectrochemical carbon dioxide reduction carbon monoxide
- Still HTTP 429tandem photoelectrochemical devices solar fuels
- Still HTTP 429integrated artificial photosynthesis water oxidation carbon dioxide reduction
- Still HTTP 429molecular catalysts artificial photosynthesis carbon dioxide
- Still HTTP 429artificial photosynthesis biohybrid systems
- Still HTTP 429perovskite artificial leaf solar fuels
- Still HTTP 429copper catalysts photocatalytic carbon dioxide reduction selectivity
- Still HTTP 429artificial photosynthesis solar to hydrogen efficiency stability
- Still HTTP 429artificial photosynthesis solar to fuel efficiency
- Still HTTP 429artificial photosynthesis catalyst degradation
- Still HTTP 429photocatalytic carbon dioxide reduction isotope controls
- Still HTTP 429photoelectrochemical solar fuels scalability
- Still HTTP 429artificial photosynthesis techno economic analysis
- Still HTTP 429artificial photosynthesis recent advances review
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.
- 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: ExampleRecord 2
Synthetic catalyst trial
DOI: 10.55555/synthetic.c01
arXiv: not supplied
Year: 2024
Authors: Example - 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: AlphaRecord 2
Completely corrupted metadata
DOI: 10.55555/synthetic.c02
arXiv: not supplied
Year: 2018
Authors: Beta - 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: ExampleRecord 2
Synthetic membrane study
DOI: 10.55555/synthetic.c03
arXiv: not supplied
Year: 2024
Authors: Example - 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: ExampleRecord 2
Synthetic catalyst stability in seawater
DOI: 10.55555/synthetic.c04b
arXiv: not supplied
Year: 2024
Authors: Example - 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: ExampleRecord 2
Synthetic catalyst review
DOI: 10.55555/synthetic.c05b
arXiv: not supplied
Year: 2024
Authors: Example - 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: ExampleRecord 2
synthetic membrane stability
DOI: not supplied
arXiv: not supplied
Year: 2024
Authors: Example - 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: ExampleRecord 2
Synthetic membranes - stability in water
DOI: not supplied
arXiv: not supplied
Year: 2024
Authors: Example - 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: ExampleRecord 2
Synthetic polymer recovery
DOI: not supplied
arXiv: not supplied
Year: 2024
Authors: Example - 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: ExampleRecord 2
Synthetic catalyst stability
DOI: not supplied
arXiv: not supplied
Year: 2024
Authors: Example - 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: AlphaRecord 2
Synthetic annual progress report
DOI: not supplied
arXiv: not supplied
Year: 2024
Authors: Beta - 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: ExampleRecord 2
Synthetic annual progress report
DOI: not supplied
arXiv: not supplied
Year: 2024
Authors: Example - 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: ExampleRecord 2
Synthetic river ecology survey
DOI: not supplied
arXiv: not supplied
Year: 2024
Authors: Example - 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: ExampleRecord 2
Synthetic quantum detector revised
DOI: not supplied
arXiv: 2401.99991v2
Year: 2024
Authors: Example - 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: ExampleRecord 2
Synthetic quantum sensor study
DOI: 10.55555/synthetic.publication
arXiv: not supplied
Year: 2024
Authors: Example - 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: ExampleRecord 2
Synthetic archive identity study
DOI: not supplied
arXiv: not supplied
Year: 2020
Authors: Example - 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: ExampleRecord 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.21Download 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.
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.
| Source | Rows | Failed queries |
|---|---|---|
| OpenAlex | 240 | 0 |
| Crossref | 228 | 0 |
| Semantic Scholar | 30 | 21 |
| arXiv | 240 | 0 |
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.