Maintainer Guide
June 9, 2026 · View on GitHub
When to read this: When you need repository workflow guidance: issue setup, PR opening, review monitoring, findings disposition. Do not load this during routine coding tasks unless the task is in an issue/PR/review/disposition stage.
Maintainer Guide
This document routes maintainers to workflow-specific docs for issue setup, PR
opening, review monitoring, findings disposition, and release closeout. It is
not the first-stop user documentation for building or using fTimer; normal
users should start with README.md, examples, and
docs/troubleshooting.md.
Shared coding-agent context lives in CLAUDE.md / AGENTS.md. Those files
remain available for automation and source-of-truth discipline, but this guide
keeps the human maintainer workflow separate from agent implementation context.
Repository Bootstrap
- Create the review labels in GitHub from the catalog in
.github/codex-review-roles.json. Automatic labels currently include:codex-software-reviewcodex-methodology-reviewcodex-red-team-reviewcodex-docs-contract-reviewcodex-test-quality-reviewcodex-build-portability-reviewcodex-api-compat-reviewcodex-mpi-safety-reviewOptional deeper-review labels currently include:codex-performance-overhead-reviewcodex-pragmatic-design-reviewcodex-adoptability-reviewcodex-completion-audit-review
- Create or verify the ordinary issue-triage labels used by the issue templates,
release checklist, and contributor intake docs:
bugenhancementdocumentationquestionstrategic-questionimprovement-issuerelease-auditrelease-blockerpost-release
- Add a repository secret named
CODEX_TRIGGER_PATfor the review-trigger workflow. - Configure a
mainruleset that:- requires pull requests before merge
- requires CI, lint, and
Codex Review Coverage - blocks direct pushes and force pushes
- requires conversation resolution
CI Dependency Pins
CI treats third-party tooling as part of the release trust boundary. Keep the download identity and cache identity together when updating pinned tools.
- pFUnit:
- Update
PFUNIT_VERSION,PFUNIT_ARCHIVE_URL, andPFUNIT_SHA256together in.github/workflows/ci.yml. - Compute
PFUNIT_SHA256from the release archive before merging the update, for example by downloading the intendedpFUnit-vX.Y.Z.tarrelease asset fromGoddard-Fortran-Ecosystem/pFUnitand runningsha256sum. - The pFUnit cache key includes the runner/compiler/MPI/CMake identity, the pFUnit version, and the archive SHA. Changing the toolchain image, version, or SHA intentionally creates a new cache lineage.
- Update
- fprettify:
- Update
.github/constraints/lint.txtwhen changing the lint tool version. - Keep the CI install command constraint-based so
pipcannot float to a newer formatter during release validation.
- Update
- Validation:
- Run
git diff --checkafter dependency pin updates. - Let GitHub CI exercise the verified pFUnit download path and the pinned lint install path before treating a release-boundary PR as ready.
- Run
Workflow Docs
Use the workflow docs below for workflow-specific operating procedures. Load only the workflow you need.
docs/documentation-audience.md— where public docs, contract references, release evidence, maintainer workflow docs, and agent guidance should each carry detaildocs/workflows/pr-open.md— opening a PR, applying review labels, review prompt librarydocs/workflows/review-monitoring.md— monitoring for review output, fallback review, inspection commands, known limitationsdocs/workflows/findings-disposition.md— responding to findings, deferral rules, merge-blocking criteria, PR closeoutdocs/release.md— release checklist, validation matrix, artifact policy, tag steps, and post-release triage
Standard Maintainer Flow
For every scoped piece of work:
- Create or link the GitHub issue first.
- Implement the change on a feature branch.
- Open a pull request to
main— seepr-open.md. - Monitor for review output — see
review-monitoring.md. - Address every finding — see
findings-disposition.md. - Do not merge while merge-blocking findings remain unresolved.
For release preparation, use docs/release.md after the relevant
issue/PR workflow is complete. A coding agent may prepare evidence and release
notes, but a human maintainer owns the final tag and GitHub release.