docs(changelog): consolidate Unreleased entries since v0.14.0#42
Conversation
Retroactive Unreleased section covering 49 commits + 9 merged PRs (#27 dispatcher refactor, #28 code-review.md mirror, #29-#34 mechanical YAML batches, #35 go-logging-guide bootstrap, #36 fail-fast preflight, #37-#41 acceptance scenarios + fixes). Per the project's '.maintainer.yaml: release.autoRelease: true' opt-in, this commit deliberately: - adds entries under '## Unreleased' (not '## vX.Y.Z') - does NOT bump version strings in plugin.json / marketplace.json - does NOT create a local v0.15.x tag The github-releaser-agent watcher classifies the semver bump, rewrites the changelog header, bumps plugin manifests, commits 'release vX.Y.Z', and tags. See [[Development Guide]] release section + [[GitHub Auto-Release Guide]] for the autoRelease workflow.
/coding:commit's pipeline-only detection lumped scenarios/ with prompts/ and specs/ — meaning a PR adding ONLY scenario files would route to Workflow E (commit + push, no changelog entry). That's wrong for repos where scenarios are shipped acceptance contracts that users invoke via /dark-factory:run-scenario; in that role they're release-relevant artifacts on the same footing as docs/ and rules/. Without this fix, today's PRs #37 (3 scenarios drafted), #40 (scenarios rewritten + promoted to active), and #41 (4th scenario added) would each have shipped with no changelog record. The v0.15.0 release notes that this PR drafts had to retroactively list scenarios as a feature. Updated commands/commit.md:139-153 — drop scenarios/ from the pipeline-only list and the corresponding rationale paragraph. Prompts and specs remain pipeline-only (dark-factory daemon runtime state, not shipped artifacts).
There was a problem hiding this comment.
The review is complete. Let me compile the final verdict:
Review Summary:
This PR (#42) consolidates 49 commits since v0.14.0 into a new ## Unreleased section in CHANGELOG.md. The diff shows only CHANGELOG.md is modified (12 lines added).
Verification findings:
-
Changelog correctness: The 9 bullet points in
## Unreleasedaccurately represent the merged PRs (#27 dispatcher refactor, #28 code-review mirror, #29-#34 YAML batches, #35 go-logging-guide bootstrap, #36 fail-fast preflight, #37-#41 acceptance scenarios). The format follows the changelog guide correctly —## Unreleasedis placed after the semver preamble (lines 1-10), not above it. -
commands/commit.md: No changes in this PR. The plan's concern about this file was based on a subsequent commit (d7dd8ec) that is separate from this changelog consolidation.
-
No mechanical issues (ast-grep not applicable for doc-only change).
{
"verdict": "approve",
"summary": "PR #42 correctly consolidates 49 commits since v0.14.0 into a properly formatted ## Unreleased section in CHANGELOG.md. All 9 entries accurately describe the merged PRs (dispatcher refactor, YAML batches, logging rules, scenarios). The autoRelease workflow (per .maintainer.yaml) will handle the version bump when ready.",
"comments": [],
"concerns_addressed": [
"correctness: CHANGELOG.md - Verified 9 entries accurately represent 49 commits across 9 merged PRs; format follows changelog-guide.md (## Unreleased placed after semver preamble)",
"correctness: commands/commit.md - Confirmed NO changes in this PR; plan concern was based on a subsequent unrelated commit"
]
}superseded by new automated review
There was a problem hiding this comment.
All quantitative claims verified:
124 → 131 rules: ✅ 131 entries inrules/index.json20 → 28 YAMLs: ✅ 28 YAML files inrules/go/4 scenarios: ✅ 4 files inscenarios/
The fix is logically sound — scenarios/ contains acceptance contracts users invoke via /dark-factory:run-scenario, which is a shipped feature surface, not pipeline runtime state. The rationale is correctly applied and consistent with the codebase structure.
make precommit: ✅ PASS
{
"verdict": "approve",
"summary": "Changelog consolidation correctly removes scenarios/ from pipeline-only classification and documents the fix with accurate quantitative claims (131 rules, 28 YAMLs, 4 scenarios). No functional issues found — precommit passes, mechanical funnel yields 0 findings (expected, meta-repo with no Go source), and the scenarios-vs-prompts/specs distinction is logically sound.",
"comments": [],
"concerns_addressed": [
"correctness: scenarios/ reclassification rationale (acceptance contracts vs pipeline state) correctly applied in commands/commit.md — rationale text explicitly distinguishes scenarios (shipped user-facing contracts) from prompts/specs (dark-factory runtime state), consistent with codebase structure",
"correctness: quantitative changelog claims verified — 131 rules in index, 28 YAMLs in rules/go/, 4 scenario files in scenarios/"
]
}
Summary
Retroactive `## Unreleased` section covering all 49 commits since v0.14.0 — the dispatcher refactor and acceptance suite shipped via PRs #27–#41 without per-PR changelog entries; this PR consolidates them so the github-releaser-agent has something to act on.
What lands
13 entries under `## Unreleased` covering:
Release workflow (autoRelease opt-in)
Per `.maintainer.yaml: release.autoRelease: true`, this PR deliberately:
After merge to master, the `github-releaser-agent` watcher classifies the semver bump (minor — many feat entries), rewrites `## Unreleased` → `## v0.15.0`, bumps the four manifest versions, commits `release v0.15.0`, and tags. ~10 min wall-clock.
References: [[Development Guide]] release section, [[GitHub Auto-Release Guide]].
Test plan