Record Promptkit validation and release decision

This commit is contained in:
2026-07-28 02:05:57 +00:00
parent 9298d8ae73
commit 416438d80d
2 changed files with 80 additions and 6 deletions

View File

@@ -0,0 +1,67 @@
# ADR 0003: Use Maintainer-Run Validation and Tag-Only Releases for Promptkit
## Status
Accepted
## Date
2026-07-28
## Context
[ADR 0002](0002-split-promptkit-from-scriptorium.md) established Promptkit as
an independent Go library with its own repository, version history, validation,
and release coordination. It anticipated independent hosted CI for Promptkit
alongside Scriptorium's existing executable build and CI policy.
Promptkit is presently a single-maintainer library. It does not produce a
runnable command, so executable packaging and binary-release automation do not
apply. Its validation and release model should be explicit before repository
guidance relies on it.
## Decision
Promptkit will use maintainer-run validation rather than hosted CI at this
stage. From a clean checkout, the maintainer will run the repository-documented
test, vet, build, formatting, documentation-link, and repository-hygiene checks
before changes are accepted and before a release tag is published.
Promptkit releases consist of source commits and semantic Go module tags. The
project does not release runnable binaries or maintain binary-packaging
automation.
Scriptorium's executable build, hosted CI, and binary-release policies are
unaffected. The repository boundary, independent version history, release
ordering, and other migration decisions accepted by ADR 0002 remain in force.
Where ADR 0002 anticipated independent hosted CI for Promptkit, this later ADR
controls Promptkit validation.
## Alternatives Considered
- Add hosted Promptkit CI now. This would provide automated remote enforcement,
but its setup and maintenance are not proportionate to the present
single-maintainer library and do not replace the maintainer's release
responsibility.
- Require local Git hooks. Hooks can provide fast feedback, but they are
machine-local, can be bypassed, and are not a durable substitute for the
documented clean-checkout validation procedure.
## Rationale
A documented maintainer-run procedure provides a clear acceptance and release
gate with little operational overhead for the project's current contribution
pattern. If maintenance load or contributor patterns change, a later ADR may
introduce hosted CI without changing Promptkit's library or tag-based release
model.
## Consequences
- Promptkit repository guidance must define the complete local validation
procedure and the checks required before accepting or tagging a change.
- Release evidence is the maintainer's successful clean-checkout validation,
not a hosted CI result.
- Promptkit releases contain source and semantic Go module tags only.
- A future move to hosted CI requires a later architectural decision.
- Scriptorium continues to validate, build, package, and release its executable
under its own policies.