Skip to content

chore: one licence, a citation file, synthetic-data notes and a portable benchmark - #27

Merged
Paururo merged 1 commit into
mainfrom
chore/public-release
Oct 18, 2026
Merged

Paururo merged 1 commit into
mainfrom
chore/public-release

Conversation

@Paururo

@Paururo Paururo commented Oct 18, 2026

Copy link
Copy Markdown
Member

Preparation for making the repository public.

Licence

LICENSE holds the GNU Affero General Public License v3.0, so Cargo.toml (AGPL-3.0-only), the README badge and footer, every website footer and the citation page now say so. The contributing guide states the licence instead of warning that the files disagree. tools/check_site.py reads LICENSE and fails if Cargo.toml, CITATION.cff, the README, the contributing guide or the website name another one.

Citation file

CITATION.cff names Paula Ruiz-Rodriguez and Mireia Coscolla with their ORCIDs and affiliation, for GitHub's "Cite this repository" button and for Zenodo. The version, release date and DOI go in on release day.

Synthetic data, said everywhere the example report appears

  • Inside the report, a "Synthetic example data" note sits next to its title, so it shows in the website's frame, full screen and on a phone. Below 900 px it shortens to "Synthetic" so the top bar never overflows (checked at nine widths against the unlabelled report). tools/label_example_report.py adds it after the report is regenerated.
  • On the website: the hero button ("Open an example report", tagged synthetic data), the section text, the window bar above the frame and the phone fallback.
  • In the README and on the Run report page.

tools/check_site.py fails on an example report without the note, or on a link to it that does not say its data are synthetic.

A benchmark anyone can run

benchmarks/performance_benchmark.py times Recore on any pangenome, given the same inputs as Recore: wall time, peak memory of the process tree, temporary disk and output size. An optional Newick tree keeps only its tips, and --max-clusters keeps a subset for a quick run. It replaces a benchmark that only ran on one local dataset. It was run on the tutorial dataset with the full profile, with a partial tree, with a cluster limit and without annotations, and gave Rescued 11 / Matrix-corrected 8 where the website says so. benchmarks/self_benchmark.py now works in the system's temporary directory instead of a macOS path.

Smaller things

  • The Run report page printed a leftover MkDocs button attribute as text. It is gone, and tools/check_site.py fails on MkDocs syntax left in the markdown.
  • .gitignore drops an editor-specific entry.

Every new check was broken on purpose and caught it. Locally fmt, clippy, the tests, the build, check_site.py --run-tutorial and the auto-merge gate check all pass.

…ble benchmark

LICENSE holds the AGPL-3.0, so Cargo.toml, the README and the website now say so, a CITATION.cff names both authors, and check_site.py fails if any of them drifts. The example report says it is made from synthetic data, next to its title and next to every link to it. performance_benchmark.py times Recore on any pangenome given Recore's own inputs and replaces a benchmark tied to one local dataset.
@Paururo Paururo added documentation Improvements or additions to documentation benchmarks The Python benchmark harness and its checked-in metrics ci Workflows, automation config, and the tools/ scripts packaging Cargo metadata, the lockfile, licensing, release labels Oct 18, 2026
@github-actions github-actions Bot added the report The HTML run report and what the writer emits label Oct 18, 2026
@Paururo
Paururo merged commit 24c9ecc into main Oct 18, 2026
7 checks passed
@Paururo
Paururo deleted the chore/public-release branch October 18, 2026 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

benchmarks The Python benchmark harness and its checked-in metrics ci Workflows, automation config, and the tools/ scripts documentation Improvements or additions to documentation packaging Cargo metadata, the lockfile, licensing, release report The HTML run report and what the writer emits

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant