ADR 0014: Approval checkpoints#
Status: Accepted
Date: 2026-09-27
Deciders: S M Shovan (lead maintainer)
Context#
Much of the work on dynG is prepared by an AI assistant. Creating accounts and repositories, uploading packages and making code public cannot be undone, and some depend on the university’s IP position. The author’s standing instruction is that nothing irreversible or public happens without an explicit “yes”.
Decision#
Preparing is always allowed; doing waits for a checkpoint approved by the lead maintainer:
Checkpoint |
Action that waits for approval |
Prepared beforehand |
|---|---|---|
A1 |
create the GitHub organization and repository |
README, LICENSE, NOTICE and CITATION.cff drafts |
A2 |
make the repository public |
IP office answer and consent records; code of conduct contact |
A3 |
any upload to TestPyPI or PyPI, including a name-reserving 0.0.1 |
the pure-Python 0.0.1 package and the Trusted Publishing workflow |
A4 |
other public registrations: Read the Docs, Zenodo, conda-forge, a domain |
configuration files |
A5 |
publishing each ported algorithm |
the consent record for its source repository |
Each approval is logged as one line in GOVERNANCE.md (date, checkpoint, “approved by”).
Approvals given on 2026-09-27 (plan Appendix E): A1 (organization dyng-dev, repository
dyng), A2 (public from the start), A3 (reserve dyng on PyPI through Trusted Publishing),
IP clearance (the university IP office asked for the code to be public) and A5 (no consent
e-mails needed; ports are published once they pass their gates). A4 is not yet approved.
Consequences#
The assistant asks the author only for account-level actions (GitHub organization and repository, the PyPI trusted-publisher entry, Read the Docs, Zenodo) and real blockers.
The name-reservation package and
release.ymlare ready; the upload itself happens when the author creates the PyPI and TestPyPI trusted publishers (projectdyng, repositorydyng-dev/dyng, workflowrelease.yml, environmentspypiandtestpypi) and pushes av0.0.1tag.