Files
ReleaseKit/docs/roadmap/releasekit.md

5.0 KiB
Raw Blame History

ReleaseKit adoption and deployment roadmap

Status: Pending consumer adoption and live deployment. The v0.2.0 implementation and its remediation are complete.

The v0.2.0 release note summarizes the implemented capabilities. The internal inventory records their owners and local verification. Completed plans and review findings remain in Git history. The architecture policy and accepted ADRs own the selected architectural constraints.

Remaining work

  • Choose the broader consumer integration test plan and migration sequence for PromptKit, ConfigKit, Notarius, Narratio, and Scriptorium. Evaluate API clarity, product-specific checks, and the infrastructure removed from each repository.
  • Adopt the common publication, validation, runtime-version, build, and delivery conventions where they apply. Keep product identity, compatibility decisions, and substantive application checks with each consumer.
  • Provision delivery credentials and activate ReleaseKit and consumer Woodpecker workflows as part of deployment. The maintained consumer template selects tooling from the released application's module configuration.
  • Verify live Gitea delivery and Woodpecker execution. Current verification uses local Git and HTTP fixtures; live deployment remains unverified.
  • Measure realized reductions in consumer release infrastructure after migration. Audita's module-selected local and CI integration is committed at 17421bc.

Proposals and deferred work

  • Optional recognizable-credential checks remain an unevaluated suggestion from PromptKit's feature request. Evaluate their detection scope, synthetic-fixture handling, false-positive costs, and maintenance benefit before selecting shared support. The proposal establishes no mandatory credential gate.
  • ReleaseKit executable binary distribution remains deferred until deliverables are deliberately selected. Selecting binaries would require delivery declarations, target checks, automation responsibilities, and corresponding release policy and procedure updates.
  • Evaluate a maintained ReleaseKit CI image or specialized validation/build settings when a demonstrated consumer need justifies their maintenance cost under ADR 0002.

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, module-selected 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.