From 7f3fbc447426ce65eaa700020d4ab2de29b5d33d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 19 Jul 2026 19:05:24 +0100 Subject: [PATCH 1/2] docs(adr): scope ADR-0005 to LLM-enhanced release notes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The original title and filename ("require an explicit LLM model") read as a repo-wide policy, when the decision only governs the one place ReleaseKit calls a model — LLM-enhanced release notes. Versioning, changelog generation, and publishing are deterministic and untouched. Rename the file to 0005-llm-enhanced-notes-require-an-explicit-model-no-defaults.md, retitle accordingly, add a scoping lead sentence to the Decision section, and update the ADR index. Same decision, sharper framing — not a supersession. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_011i1KvoyxATU3bz5V5Sf1Xu --- ...enhanced-notes-require-an-explicit-model-no-defaults.md} | 6 ++++-- docs/adr/README.md | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) rename docs/adr/{0005-require-an-explicit-llm-model-no-defaults.md => 0005-llm-enhanced-notes-require-an-explicit-model-no-defaults.md} (84%) diff --git a/docs/adr/0005-require-an-explicit-llm-model-no-defaults.md b/docs/adr/0005-llm-enhanced-notes-require-an-explicit-model-no-defaults.md similarity index 84% rename from docs/adr/0005-require-an-explicit-llm-model-no-defaults.md rename to docs/adr/0005-llm-enhanced-notes-require-an-explicit-model-no-defaults.md index f25f07b1..009fa83e 100644 --- a/docs/adr/0005-require-an-explicit-llm-model-no-defaults.md +++ b/docs/adr/0005-llm-enhanced-notes-require-an-explicit-model-no-defaults.md @@ -1,4 +1,4 @@ -# 5. Require an explicit LLM model; ship no defaults +# 5. LLM-enhanced release notes require an explicit model; ship no defaults Date: 2026-07-19 @@ -16,7 +16,9 @@ Crucially, there is no zero-config path to protect: LLM enhancement is already a ## Decision -**ReleaseKit ships no model defaults. `llm.model` is required and validated at config load.** +This decision is scoped to LLM-enhanced release notes — the only place ReleaseKit calls a model. Versioning, changelog generation, and publishing are deterministic and LLM-free, and it does not touch them. + +**For LLM-enhanced release notes, ReleaseKit ships no model defaults. When enhancement is enabled, `llm.model` is required and validated at config load.** - `llm.model` is a required, non-empty string (Zod `z.string().min(1)`) — a missing or empty model fails at config validation, not silently inside the notes soft-fail catch. - `provider` is a closed Zod enum (`openai | openai-compatible | anthropic | ollama`); `openai-compatible` additionally requires `baseURL`. diff --git a/docs/adr/README.md b/docs/adr/README.md index 064a1e39..3392a10e 100644 --- a/docs/adr/README.md +++ b/docs/adr/README.md @@ -10,4 +10,4 @@ Roadmap sequencing lives in [ROADMAP.md](../../ROADMAP.md); implementation detai | [0002](./0002-no-mcp-server-cli-is-the-agent-surface.md) | The agent-facing surface is the CLI, not an MCP server | Accepted | | [0003](./0003-optional-change-file-input.md) | Change files are supported as an optional input, in changesets format | Accepted | | [0004](./0004-ecosystem-enablement-detection-enables-config-opts-out.md) | Ecosystem enablement: detection enables, config opts out | Accepted | -| [0005](./0005-require-an-explicit-llm-model-no-defaults.md) | Require an explicit LLM model; ship no defaults | Accepted | +| [0005](./0005-llm-enhanced-notes-require-an-explicit-model-no-defaults.md) | LLM-enhanced release notes require an explicit model; ship no defaults | Accepted | From f190ec0067a3b764a66918f47e794b384e6db4bc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 19 Jul 2026 19:10:22 +0100 Subject: [PATCH 2/2] docs(adr): disambiguate the ADR-0005 scoping sentence "it does not touch them" had an ambiguous antecedent (nearest singular noun was "a model"); name "this decision" outright. Greptile review nit. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_011i1KvoyxATU3bz5V5Sf1Xu --- ...-llm-enhanced-notes-require-an-explicit-model-no-defaults.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adr/0005-llm-enhanced-notes-require-an-explicit-model-no-defaults.md b/docs/adr/0005-llm-enhanced-notes-require-an-explicit-model-no-defaults.md index 009fa83e..cbfc258c 100644 --- a/docs/adr/0005-llm-enhanced-notes-require-an-explicit-model-no-defaults.md +++ b/docs/adr/0005-llm-enhanced-notes-require-an-explicit-model-no-defaults.md @@ -16,7 +16,7 @@ Crucially, there is no zero-config path to protect: LLM enhancement is already a ## Decision -This decision is scoped to LLM-enhanced release notes — the only place ReleaseKit calls a model. Versioning, changelog generation, and publishing are deterministic and LLM-free, and it does not touch them. +This decision is scoped to LLM-enhanced release notes — the only place ReleaseKit calls a model. Versioning, changelog generation, and publishing are deterministic and LLM-free; this decision does not touch them. **For LLM-enhanced release notes, ReleaseKit ships no model defaults. When enhancement is enabled, `llm.model` is required and validated at config load.**