Prepare Rakestrawhome catalog version two contract
This commit is contained in:
18
README.md
18
README.md
@@ -17,11 +17,19 @@ of extracting a dependency.
|
||||
|
||||
## Compatibility
|
||||
|
||||
Catalog IDs are stable. New profiles are additive. Corrections are released as
|
||||
compatible catalog updates when they preserve the profile contract; deprecated
|
||||
profiles are announced before removal in a compatible-major release. Manifest
|
||||
schema changes follow semantic-version compatibility rules and retain support
|
||||
for compatible published catalog versions.
|
||||
This compatibility policy applies to the `/v2` module. Catalog profiles track
|
||||
upstream availability and may be added, removed, renamed, or modified without
|
||||
deprecation or advance notice. Consumers that need a particular profile set
|
||||
should use the catalog version selected by their Promptkit release.
|
||||
|
||||
Backend definitions, the exported Go API, and the catalog manifest schema do
|
||||
not share that profile-data exception. Their compatibility follows the normal
|
||||
semantic-versioning rules. Published v1 releases retain their historical
|
||||
contract; this README does not retroactively alter it.
|
||||
|
||||
Catalog releases use dated versions in the form `v2.YYYYMMDD.N`. The date
|
||||
identifies when the catalog snapshot was published in UTC; it does not certify
|
||||
that a provider currently offers a model or endpoint named by the data.
|
||||
|
||||
## Validation and releases
|
||||
|
||||
|
||||
@@ -1,6 +1,18 @@
|
||||
# Catalog Release Procedure
|
||||
|
||||
This repository releases source tags only. It has no generated artifacts.
|
||||
This repository releases source tags only. It has no generated artifacts. The
|
||||
module path is `gitea.maximumdirect.net/eric/promptkit-backend-rakestrawhome/v2`.
|
||||
|
||||
## Version selection
|
||||
|
||||
Release versions use `v2.YYYYMMDD.N`. `YYYYMMDD` is the actual UTC publication
|
||||
date. Begin at revision `0` for a date and increment `N` for each additional
|
||||
release on that date. Versions are immutable: correct a published catalog with
|
||||
a new dated version rather than moving or recreating a tag. This repository
|
||||
releases independently of other catalog modules, so dates and revisions need
|
||||
not match theirs.
|
||||
|
||||
## Validate the source candidate
|
||||
|
||||
Before creating a semantic version tag, start from a clean, synchronized
|
||||
`main` branch. Confirm that no Go workspace, `replace` directive, or `vendor`
|
||||
@@ -8,8 +20,13 @@ tree is active, then run `GOWORK=off go test ./...`, `GOWORK=off go test -race
|
||||
./...`, `GOWORK=off go vet ./...`, `GOWORK=off go build ./...`, formatting,
|
||||
repository-hygiene, credential, and ordinary module-resolution checks.
|
||||
|
||||
Create an annotated tag only after that validation succeeds. Do not create or
|
||||
move an existing tag. Push `main`, push only the selected tag, and verify the
|
||||
remote tag identifies the intended commit. Finally, from a temporary module
|
||||
with `GOWORK=off` and no replacement, resolve the published module version and
|
||||
verify the resolved version is the selected tag.
|
||||
Confirm the module reports the `/v2` identity before publication. Create an
|
||||
annotated tag only after validation succeeds. Do not create or move an existing
|
||||
tag. Publish the validated source commit through `main`, then push only the
|
||||
selected annotated tag and verify that the remote tag and its peeled commit
|
||||
identify that source commit.
|
||||
|
||||
Finally, from a temporary module with `GOWORK=off`, no workspace, no
|
||||
replacement, and no vendor tree, resolve the exact published
|
||||
`gitea.maximumdirect.net/eric/promptkit-backend-rakestrawhome/v2@version`.
|
||||
Verify both the resolved module identity and version match the selected tag.
|
||||
|
||||
Reference in New Issue
Block a user