Skip to content

docs: plan derived versioning + auto-generated changelog + plugin distribution#121

Merged
REPPL merged 2 commits into
mainfrom
docs/derived-version-changelog-plan
Jul 21, 2026
Merged

docs: plan derived versioning + auto-generated changelog + plugin distribution#121
REPPL merged 2 commits into
mainfrom
docs/derived-version-changelog-plan

Conversation

@REPPL

@REPPL REPPL commented Jul 21, 2026

Copy link
Copy Markdown
Owner

A gated design/plan for the derived-version + auto-generated-changelog + plugin-distribution programme (itd-73 + itd-67 changelog/distribution slices; itd-66 deferred). Consolidates a maintainer interview + a full design-tree grilling.

What it decides

  • Fully-derived, agent-generated changelog (no human writes prose); version derived from each record's impact (pre-1.0 breaking->minor); generation runs at the reviewed launch ship, so ADR-37 is preserved and auto-release.yml is untouched (zero workflow changes).

Grilling outcomes (authoritative, top of the doc)

  1. Shipped-set = git tree-diff (ls-tree tag vs HEAD) — immune to squash/rebase + rename detection; kills the Phase 1 STOP.
  2. Completeness bijection — agent cites each record id; Go verifies the id set (no omission/invention).
  3. Agent judges the Keep-a-Changelog section; impact is version-only.
  4. Version is release-payload-only (dev tree stays version-absent, ADR-19); seed 0.3.0 (corrects a 0.1.0 error).
  5. Surface-break taxonomy pinned (removed/renamed/newly-required = break; additions/help/reorder = not).
  6. Preview is deterministic-only (no agent, no prose).
  7. Clean-cutover migration — one final manual ADR-37 roll, then derived from the next cut (no fold/double-coverage).
  8. impact required on intents, optional-default-fix on issues; ~5 historical intents back-filled once.
  9. No abcd:CHANGELOG agent exists — Phase 3 authors a new composer agent (press-release-composer pattern), ingested via --changelog-json like disembark.

Phasing

P0 plan the intents + record itd-66 deferral · P1 impact field + lint + version derivation · P2 surface guardrail · P3 generation + preview · P4 manifest version + install + light smoke. Each detector-first, own PR, with a STOP condition.

Not yet built — this is the design for sign-off. An implementation prompt accompanies it.

Assisted-by: Claude:claude-opus-4-8

REPPL added 2 commits July 21, 2026 14:33
…tribution

Consolidates the maintainer's interview decisions into a gated design/plan
for itd-73 (impact-derived versioning) + itd-67's changelog-generation and
distribution slices, fed by shipped intent/issue records. Changelog prose is
host-delegated (agent-generated, never human-written); version is derived
from impact (pre-1.0 breaking->minor); generation runs at the reviewed
launch ship, so ADR-37 is preserved and auto-release.yml is untouched.
itd-66 (deep render/parity/smoke) is deferred as a follow-up. Five gated
phases (P0-P4), each detector-first with a STOP condition.

Assisted-by: Claude:claude-opus-4-8
A maintainer grilling walked the full design tree and resolved every open
fork, plus caught three errors in the draft:
- shipped-set is a git tree-diff (ls-tree tag vs HEAD), not a log walk —
  immune to squash/rebase and rename detection (dissolves the Phase 1 STOP);
- prose is faithful-by-construction via a completeness bijection (agent
  cites each record id; Go verifies the id set); the agent judges the
  Keep-a-Changelog section, impact is version-only;
- the derived version is release-payload-only (dev tree stays version-absent
  per ADR-19); seed is 0.3.0 (corrects a 0.1.0 error);
- surface-break taxonomy pinned; preview is deterministic-only; clean-cutover
  migration (one final manual roll, then derived from the next cut);
- there is no abcd:CHANGELOG agent — Phase 3 authors a new composer agent
  modelled on press-release-composer, ingested via --changelog-json.

Assisted-by: Claude:claude-opus-4-8
@REPPL
REPPL merged commit 69577f6 into main Jul 21, 2026
12 checks passed
@REPPL
REPPL deleted the docs/derived-version-changelog-plan branch July 21, 2026 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant