Skip to content

docs(changelog): consolidate Unreleased entries since v0.14.0#42

Merged
bborbe merged 2 commits into
masterfrom
chore/changelog-unreleased
Jun 3, 2026
Merged

docs(changelog): consolidate Unreleased entries since v0.14.0#42
bborbe merged 2 commits into
masterfrom
chore/changelog-unreleased

Conversation

@bborbe

@bborbe bborbe commented Jun 3, 2026

Copy link
Copy Markdown
Owner

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:

  • Pipeline: dispatcher refactor (Step 4a funnel + 4b per-Owner adjudication + 4d citation validation), citation validator script, coverage lint script wired into precommit, fail-fast preflight when ast-grep is missing
  • Rules: 8 new mechanical YAMLs (20 → 28); rule count 124 → 131; `nosec-requires-reason.yml` parse fix; `go-logging-guide.md` bootstrap (+7 RULE blocks)
  • Scenarios: `scenarios/` directory + 4 active E2E acceptance scenarios + README/llms.txt indexing

Release workflow (autoRelease opt-in)

Per `.maintainer.yaml: release.autoRelease: true`, this PR 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

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

  • `make precommit` clean (131 rules, 28 mechanical YAMLs, no drift)
  • `make release-check` would currently fail (CHANGELOG top is now `## Unreleased`, not `## vX.Y.Z`) — that's expected; releaser will fix on bump
  • Plugin manifests intentionally untouched at 0.14.0
  • No local tag created
  • Bot review
  • After merge: confirm releaser bumps to v0.15.0 within ~10 min

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.

@ben-s-pull-request-reviewer ben-s-pull-request-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed by ben-s-pull-request-reviewer[bot] — no concerns flagged.

/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).

@ben-s-pull-request-reviewer ben-s-pull-request-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:

  1. Changelog correctness: The 9 bullet points in ## Unreleased accurately 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 — ## Unreleased is placed after the semver preamble (lines 1-10), not above it.

  2. 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.

  3. 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"
  ]
}

@ben-s-pull-request-reviewer ben-s-pull-request-reviewer Bot dismissed their stale review June 3, 2026 19:11

superseded by new automated review

@ben-s-pull-request-reviewer ben-s-pull-request-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All quantitative claims verified:

  • 124 → 131 rules: ✅ 131 entries in rules/index.json
  • 20 → 28 YAMLs: ✅ 28 YAML files in rules/go/
  • 4 scenarios: ✅ 4 files in scenarios/

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/"
  ]
}

@bborbe bborbe merged commit 1d0f509 into master Jun 3, 2026
1 check passed
@bborbe bborbe deleted the chore/changelog-unreleased branch June 3, 2026 19:39
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