Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

PaperCI

Continuous integration for evidence-backed scientific stories and hypotheses.

CI Python 3.11+ License: Apache-2.0

PaperCI helps researchers answer two linked questions:

Given the results we actually have, what is the strongest scientific story we can responsibly tell?

Which ambitious, falsifiable mechanisms are worth testing next without pretending they are already established?

It converts experimental results into traceable evidence cards, proposes competing paper arcs, tests every claim against its evidence, and makes the most important remaining uncertainties explicit for human review. A separate frontier track turns those boundaries into speculative Hypothesis Cards with competing explanations, predictions, falsifiers, decisive tests, and evidence-upgrade paths.

PaperCI is designed to improve when foundation models improve. Models may propose better interpretations and stories; the project owns the stable evidence format, claim rules, provenance, evaluation cases, and human review workflow.

Try it in two minutes

PaperCI is pre-alpha. The source tree is preparing v0.5.0a1; install the latest verified GitHub artifact (v0.4.0a1) to try the current released behavior, then create a complete synthetic project without an API key or network call. PyPI publication is currently blocked by the repository's protected deployment rules; the protection gate has not been bypassed.

$ python -m venv .venv
$ source .venv/bin/activate
$ python -m pip install \
    https://github.com/XiaofengZhou16/PaperCI/releases/download/v0.4.0a1/paperci-0.4.0a1-py3-none-any.whl
$ paperci demo
$ cd paperci-demo
$ paperci lint --fail-on never
$ paperci compare
$ paperci compare-hypotheses

The demo creates two synthetic result files, traceable evidence and claims, three competing stories, three frontier hypotheses, generation manifests, and paperci-report.md. It intentionally contains an overstated mechanism claim. paperci lint flags PCI-MECH-001; the frontier track retains ambitious mechanisms as explicitly speculative and falsifiable research directions.

See the ten-minute pilot to evaluate PaperCI with a safe synthetic case and report first-run friction.

Build a project manually

From a source checkout installed with python -m pip install -e .:

$ paperci init demo --id demo-study --title "Demo study"
$ paperci import-table demo results.csv --statement-column finding --unit-column unit
$ paperci add demo --statement "Target expression was higher after exposure." \
    --source notes://pilot --locator result-1
$ paperci claim demo --text "Exposure is associated with higher target expression." \
    --type association --strength supports --support E001
$ paperci claim demo --text "Exposure directly activates the target mechanism." \
    --type mechanism --strength demonstrates --support E001 --depends-on C001
$ paperci propose demo --arcs 3
$ paperci lint demo --fail-on never
$ paperci compare demo
$ paperci hypothesize demo --count 3
$ paperci compare-hypotheses demo
$ paperci explain PCI-MECH-001
$ paperci report demo -o demo/paperci-report.md

For a non-interactive smoke test from this repository:

paperci doctor examples/minimal-project.yaml
paperci validate examples/minimal-project.yaml
paperci propose examples/minimal-project.yaml --arcs 3 --dry-run
paperci lint examples/minimal-project.yaml --fail-on never
paperci compare examples/minimal-project.yaml
paperci hypothesize examples/minimal-project.yaml --count 3 --dry-run
paperci report examples/minimal-project.yaml -o paperci-report.md

The repository example also intentionally contains the same overstated mechanism claim, so paperci lint should flag PCI-MECH-001.

The report contains:

  • distinct candidate arcs when the claim register supports different commitments;
  • the evidence path behind every major claim;
  • unsupported, overstated, or contradictory claims;
  • a figure-question sequence linked to existing evidence and claims;
  • alternative explanations that remain open;
  • explicit gaps, run provenance, and human-review boundaries.

ProjectSpec 0.4 also records claim prerequisites with depends_on. The built-in provider follows this acyclic graph to recover long story chains instead of selecting only isolated claims. Nested outcomes can record parent_unit and per-group clusters, so tumour-, organoid-, well-, or cell-level counts do not silently stand in for independent animals or donors.

Three adoption modes

Mode Input Promise
sketch Short result notes Fast story exploration; everything remains unverified
verified Notes plus source locators and review Traceable claims suitable for team discussion
connected Analysis-pipeline adapters Re-runnable evidence updates and CI checks

The user can start in sketch and progressively add provenance. A perfect data model is not a prerequisite for receiving value.

What PaperCI is not

  • not a journal acceptance predictor;
  • not a replacement for domain experts, statisticians, or reviewers;
  • not an autonomous manuscript factory;
  • not permission to promote association, motif enrichment, or prediction into causality;
  • not a system that silently uploads unpublished results.

Design principles

  1. Evidence before eloquence. A fluent claim with weak support still fails.
  2. Competing stories, not one confident answer. The system exposes trade-offs.
  3. Hard gates before taste. Validity is pass/fail; editorial appeal is comparative.
  4. Local first. Core inspection and linting work without a network or model API.
  5. Model agnostic. Model adapters are replaceable and all runs are recorded.
  6. Git friendly. Canonical YAML/JSON is readable, diffable, and reviewable.
  7. Human promotion. Generated evidence and claims never self-verify.
  8. Dual-track reasoning. Current claims and frontier hypotheses remain separate records.
  9. No journal score. Ambition is multidimensional; novelty and publication fit require review.

Repository design package

The repository contains the local evidence-bound story workflow plus an offline frontier-hypothesis baseline. The built-in hypothesis provider creates transparent research scaffolds; it does not search literature, nominate a named molecular actor that is absent from the input, or predict journal acceptance. Remote and local foundation-model adapters remain future work.

Commands

Command Purpose Network
paperci demo Create and run a complete synthetic example Never
paperci init Create a readable paperci.yaml Never
paperci import-table Import explicitly mapped rows as draft, unverified evidence Never
paperci add Add a draft evidence card Never
paperci claim Add an evidence-linked candidate claim Never
paperci propose Generate bounded candidate arcs with the built-in provider Never
paperci compare Compare active arcs by gates and coverage signals Never
paperci hypothesize Generate evidence-anchored, falsifiable frontier hypotheses Never
paperci compare-hypotheses Compare ambition dimensions without a journal score Never
paperci explain Explain a rule's trigger, rationale, limits, and remediation Never
paperci validate Check schema, references, sources, hashes, and promotion Never
paperci lint Apply deterministic scientific-story rules Never
paperci report Render a Markdown decision report Never
paperci doctor Check installation and project health Never

paperci lint --format sarif can feed findings into GitHub or another SARIF-aware code-review system. CI may use --fail-on error; exploratory work may use --fail-on never while retaining every finding.

Project status

Pre-alpha / v0.5.0a1 candidate. The offline CLI separates evidence-bound claims from frontier hypotheses, validates explicit reasoning dependencies, and includes the first benchmark-derived semantic and nested-unit rules. Hypothesis novelty remains unchecked unless a dated, traceable literature assessment is recorded. The perfect score on the single constructed Nature fixture is a regression result, not a general performance estimate. No output should be used in a submission or experimental decision without independent scientific review.

License

Code, schemas, tests, and repository documentation are licensed under Apache-2.0. Imported benchmark artifacts retain their source-specific licenses and must include a case manifest before public redistribution. See LICENSE.

Contributing

Start with CONTRIBUTING.md. Scientific rules require failing and passing fixtures, an actionable remediation, known exceptions, and review ownership. Security or privacy concerns should follow SECURITY.md, not a public issue containing unpublished data.

Repository: github.com/XiaofengZhou16/PaperCI

Citation

If PaperCI contributes to published work, cite the exact release or commit used so the scientific rules and ProjectSpec behavior remain reproducible. GitHub can export the repository citation from CITATION.cff; release-specific citation metadata will be attached to public releases when archival deposition is available.

Metadata

Release files for paperci 0.5.0a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paperci 0.5.0a1
File Size Uploaded
paperci-0.5.0a1.tar.gz 100.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for paperci 0.5.0a1
File Interpreter ABI Platform
paperci-0.5.0a1-py3-none-any.whl Python 3 none any Details

Total release size: 162.2 kB

Release files / paperci-0.5.0a1.tar.gz

Download URL paperci-0.5.0a1.tar.gz
Size 100.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e76e6665498a7e81fca36b9f2d2ca2d65e65c9490746df30907115889509e5fc
BLAKE2b-256 checksum
How to use checksums
678a7bad110f822524b04f04c3687667e8176a927d29bf8f318ca2f4f97338f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / paperci-0.5.0a1-py3-none-any.whl

Download URL paperci-0.5.0a1-py3-none-any.whl
Size 61.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
277d67923ae3f920d259f0df74f9ca9860819920ef99e9a425731cf422ac71b1
BLAKE2b-256 checksum
How to use checksums
e66c4a84bd0fd805c021c0d6af21b16fa1e18917b044d5c909c8d64eed342676
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0a1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page