Validate representative ReleaseKit consumers
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# ReleaseKit audit implementation plan
|
||||
|
||||
Status: Stages 1–10 complete; Stage 11 next.
|
||||
Status: All implementation stages complete.
|
||||
Baseline: `e4be7fa` (2026-10-06). The [audit](audit.md) records the evidence,
|
||||
product goals, and selected direction. This document owns implementation order
|
||||
and completion criteria for that work.
|
||||
@@ -568,6 +568,27 @@ migration, and remaining deployment work. Every F1–F8 finding has an implement
|
||||
resolution and appropriately scoped evidence. Review and commit the final
|
||||
changes with a clean worktree.
|
||||
|
||||
**Completed:** The source-only consumer publication fixture runs one meaningful
|
||||
compatibility check against its committed note and module, then confirms the
|
||||
annotated tag on a local Git remote. A separate binary consumer fixture builds
|
||||
`buildinfo` binaries for selected Linux targets, checks native version output,
|
||||
and delivers both binaries plus `SHA256SUMS` to a local HTTP Gitea fixture.
|
||||
PromptKit and Narratio were reviewed read-only on 2026-10-06; the product
|
||||
roadmap records retained settings, runtime and policy/procedure adaptations,
|
||||
and projected deletion ranges. No sibling repositories were changed.
|
||||
|
||||
The final documentation review reconciled GoDoc, CLI/configuration references,
|
||||
consumer guidance, Woodpecker examples, the internal inventory, and product
|
||||
roadmap. The pre-release API migration is `Validate` to `AdditionalChecks` and
|
||||
`DeliveryRequest.Build` to `*BuildSpec`, with `Prebuilt` for retained artifacts;
|
||||
JSON `checks` remains the ordered additional-check setting. No new product
|
||||
decision was required. The completed stages address F1–F8; real source
|
||||
publication, an immutable tool pin, credentials, workflow activation, and live
|
||||
Gitea/Woodpecker verification remain deployment work.
|
||||
|
||||
The full offline suite and API boundary check pass with Go 1.25.0. Go formatting,
|
||||
documentation whitespace, and changed local-link checks pass.
|
||||
|
||||
## Open Questions
|
||||
|
||||
No unresolved product choice is required to implement these stages. The
|
||||
|
||||
@@ -204,6 +204,27 @@ Consumer policy and procedure changes should describe the deliberately adopted
|
||||
standard and its compatibility impact. Adoption should demonstrate reduced local
|
||||
infrastructure and one coherent release model.
|
||||
|
||||
## Representative migration review
|
||||
|
||||
Read-only reviews of the available PromptKit and Narratio checkouts were
|
||||
verified on 2026-10-06 at `4b8169d` and `8afb49c`; both worktrees were clean.
|
||||
These are migration assessments, not changes to either consumer.
|
||||
|
||||
| Consumer | Retain in its profile and product checks | Adaptation and procedure changes |
|
||||
| --- | --- | --- |
|
||||
| PromptKit, source-only | Product identity; its `Summary`, `Compatibility`, `Upgrade`, and `Changes` release-note sections; checks that exercise the three maintained Go examples and their product outputs. No runtime `buildinfo` import or binary targets are needed. | Its current release scripts total 209 lines. The projected deletion is about 120–160 lines of shared publication and generic validation machinery; retain the note-content rule and product-example checks as a configured additional check plus a small wiring test. PromptKit already pushes `main` before publication and creates annotated tags. Its release policy and procedure still need to add the hosted note page, delivery credentials, versioned CI invocation, and separate delivery status and recovery. |
|
||||
| Narratio, binary | Product/module identity, the `./cmd/narratio` main package, `narratio` executable name, Linux amd64, Linux arm64, and macOS arm64 targets, and the `narratio <version>` command. Keep the module-graph check (`go mod tidy -diff`) if it remains useful as a product-specific candidate check. | Its release, check, asset-builder, and helper scripts total 304 lines; two dedicated release test files total 741 lines. Projected deletions are about 220–280 shell lines and 450–650 repeated test lines, leaving a small consumer wiring test and any retained module/note checks. Replace the private linker-version variable with `buildinfo.Version()` while preserving the current command output. Its policy and procedure need to change lightweight tags to annotated tags, state that a successful tag push completes source publication, and move plugin-based page/assets delivery to the shared versioned CI command with content-aware retries and separately provisioned delivery credentials. |
|
||||
|
||||
The deletion figures are estimates from the reviewed files, not measured
|
||||
migration results or a promise that each line will disappear. Product checks,
|
||||
version output, target choices, and at least one ReleaseKit integration check
|
||||
remain with each consumer. The existing cross-project estimate of 1,000–1,250
|
||||
potentially removable lines remains directional until migrations are completed.
|
||||
The self-contained ReleaseKit fixtures exercise a meaningful source-only
|
||||
compatibility check through local Git publication, and a `buildinfo` binary
|
||||
consumer with selected targets through local HTTP delivery. These are separate
|
||||
publication and delivery operations.
|
||||
|
||||
## Remaining work
|
||||
|
||||
- Prepare and publish the first ReleaseKit source release under the
|
||||
|
||||
Reference in New Issue
Block a user