Skip to content

Methods citation reproducibility caveat (#2 R4)

Motivation

Roadmap item #2 R4 — one-click "Methods paragraph" for publications is already shipped end-to-end: api/services/blast/citation.py builds a reproducible Methods paragraph from the persisted provenance bundle alone, the GET /api/blast/jobs/{id}/citation?format=text|markdown|bibtex route exposes it, and the Run-details header carries a Copy citation button (web/src/pages/blastResults/BlastJobHeader.tsx).

The one missing R4 acceptance item was the tooltip caveat: the citation is only reproducible while the job's audit/provenance row exists, because the paragraph is synthesised from that row (no live Azure calls at render time). Deleting the job removes the provenance the citation is built from.

User-facing change

The Copy citation button tooltip now reads:

Copy a reproducible Methods citation (program, version, database snapshot) to the clipboard. Reproducible only while this job's audit row is retained — deleting the job removes the provenance the citation is built from.

No behavioural / API change; tooltip wording only.

API / IaC diff summary

  • web/src/pages/blastResults/BlastJobHeader.tsx: extended the Copy-citation button title with the audit-row reproducibility caveat.

Validation evidence

  • cd web && npm test -- --run src/pages/blastResults/BlastJobHeader.test.ts — 10 passed.
  • cd web && npm run build — ok; npx eslint BlastJobHeader.tsx — clean.
  • Backend uv run pytest -q api/tests/test_blast_citation.py — 8 passed (citation service / route unchanged).