PR template

This page renders perseus-PR-template.md from the repository root. That markdown file is the authoritative, copy-and-commit artifact. This is its web-readable form. The evidence behind every checklist item is in the report.

A Template for Successful Pull Requests to PerseusDL/canonical-greekLit

This checklist is reverse-engineered from (a) the repository’s own machinery (the HookTest CI workflow, the __cts__.xml metadata files, and the EpiDoc headers) and (b) the recorded edit histories of the external contributors whose corrections were actually merged (e.g. Aurélien Berra, Michael Konieczny, Thibault Clérice, Ariane Pinche’s group, Chiara Palladino, Helma Dik).

Every push and pull request is validated by HookTest against the EpiDoc/CapiTainS-CTS scheme. If HookTest fails, the file is excluded from the release. Passing HookTest locally before you open the PR is essential to a successful merge.**


0. Before you touch anything

1. Set up the validation toolchain (do this once)

2. Editing rules (what “compliant” means here)

3. Record your work (provenance)

4. Validate locally (the gate)

5. Open the pull request

What the merge record (2019–2026 git history) actually shows works

Patterns shared by the outside contributors whose work was consistently merged:

  • One change, one commit, one file. The most-merged correctors commit ~1 file per commit (Fifield ~1.8, Dik/Beine/Konieczny ~1.0). Big multi-file commits are the exception, and they’re reserved for a single named operation (e.g. “Normalize lang=\"greek\" => lang=\"grc\"” across N files).
  • Say exactly what changed, and where. Winning commit messages name the URN and the precise fix: (tlg0005.tlg001.perseus-grc2.xml) add missing first letter of ὡς in 14.22. Avoid “edits” / “text fixes” as your only message.
  • Link the issue. Reference the tracking issue number (#1291) so the maintainer can see the report your fix resolves. Nearly all of one intern’s conversions and many correction PRs carry an issue number.
  • Use the small-PR web workflow for one-off corrections. Repeated single-fix PRs off you/you-patch-N branches (the pattern Helma Dik used for dozens of merged proofreading fixes) are welcomed and merge fast.
  • Pick a lane and stay in it. Successful contributors specialise: a scholar does philological/OCR/diacritic corrections on texts they know; an engineer does markup normalisation or new-edition conversion in bulk. Both are valued.
  • Show up regularly. The highest-impact volunteer contributed small fixes steadily across ~5 years rather than in one burst. Consistency builds the reviewer trust that gets later PRs merged with less friction.

6. Etiquette / durable-success habits

  • Start small (a single edition’s typo pass) to build trust, then take on larger conversions — this is the arc every successful external contributor followed.
  • Prefer real philological value (OCR/Betacode cleanup, restoring missing text, distinguishing text-critical <add>/<del>) over cosmetic reformatting.
  • Keep the source-edition bibliography honest; don’t silently “improve” the text away from the printed source it claims to reproduce.
  • If you build tooling or scripts to do bulk fixes, say so in the <change> note and in the PR, and spot-check the output by hand.