Prepare Rakestrawhome catalog version two contract

This commit is contained in:
2026-09-22 12:11:24 +00:00
parent 2edad4f8e0
commit d664696142
3 changed files with 37 additions and 12 deletions

View File

@@ -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

View File

@@ -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.

2
go.mod
View File

@@ -1,4 +1,4 @@
module gitea.maximumdirect.net/eric/promptkit-backend-rakestrawhome
module gitea.maximumdirect.net/eric/promptkit-backend-rakestrawhome/v2
go 1.25.5