diff --git a/README.md b/README.md index 922e2d3..0f37a1e 100644 --- a/README.md +++ b/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 diff --git a/docs/release.md b/docs/release.md index a003d72..cb72a10 100644 --- a/docs/release.md +++ b/docs/release.md @@ -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. diff --git a/go.mod b/go.mod index 2d16942..ade14c1 100644 --- a/go.mod +++ b/go.mod @@ -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