Describe release file inputs and checks accurately

This commit is contained in:
2026-10-11 13:08:31 +00:00
parent 4ba5a56e21
commit 960a7c963e
2 changed files with 31 additions and 10 deletions

View File

@@ -54,11 +54,11 @@ GOWORK=off GOTOOLCHAIN=local go version
Select exactly one module with the launcher:
| Selector | Physical module directory | Release note | Full tag | Shared project files |
| --- | --- | --- | --- | --- |
| `core` | repository root | `docs/releases/<version>.md` | `<version>` | root `COPYRIGHT`, `LICENSE`, `docs/oss/attribution.md` |
| `ckconfig` | `integrations/ckconfig` | `integrations/ckconfig/docs/releases/<version>.md` | `integrations/ckconfig/<version>` | that module's `COPYRIGHT`, `LICENSE`, `docs/oss/attribution.md` |
| `ckprompt` | `integrations/ckprompt` | `integrations/ckprompt/docs/releases/<version>.md` | `integrations/ckprompt/<version>` | that module's `COPYRIGHT`, `LICENSE`, `docs/oss/attribution.md` |
| Selector | Physical module directory | Release note | Full tag |
| --- | --- | --- | --- |
| `core` | repository root | `docs/releases/<version>.md` | `<version>` |
| `ckconfig` | `integrations/ckconfig` | `integrations/ckconfig/docs/releases/<version>.md` | `integrations/ckconfig/<version>` |
| `ckprompt` | `integrations/ckprompt` | `integrations/ckprompt/docs/releases/<version>.md` | `integrations/ckprompt/<version>` |
Use a fresh stable semantic version (`vMAJOR.MINOR.PATCH`) for the selected
module. Before `v1.0.0`, a minor release may change a documented contract when
@@ -69,10 +69,23 @@ links to that module's local grant, license, and attribution paths. The full tag
in each URL includes the integration directory where applicable. Future tag
URLs need not resolve before publication.
Root publication validates root shared files. Integration publication validates
the matching module-local files; it does not substitute root-only notices. The
module release profiles select their physical module directory while using the
same repository and publication endpoint.
All three release profiles explicitly select the repository-root `COPYRIGHT`,
`LICENSE`, and `docs/oss/attribution.md` through `validation.shared_files`.
ReleaseKit requires these committed files to exist in the candidate even when
no optional file checks are enabled. The list does not enable content checks
or expand Go validation scope; see the pinned [profile reference](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/b96262eb0ce9c8f2eb3e948a5841db2b799bc91b/docs/config.md).
Each integration also distributes its own `COPYRIGHT`, `LICENSE`, and
`docs/oss/attribution.md`. These module-local materials are separate from the
explicit root shared-file list and remain subject to the [OSS policy](policy/oss.md).
Automatic module file inputs include applicable module-local files and stop at
independent nested-module boundaries. Their inclusion does not itself enable
license or content validation.
The current profiles enable no optional file checks or additional product
checks. Publication runs the selected module's standard offline suite and
ReleaseKit's candidate/note and publication guards. The profiles select their
physical module directory while using the same repository and endpoint.
## Prepare and publish one candidate