---
quick_id: 260517-wpf
slug: fix-changelog-md-ordering-and-tighten-de
date: 2026-05-18
status: complete
files_changed:
  - CHANGELOG.md       # reordered + mojibake fix
  - docs/DEPLOY.ps1    # curation gate: insert-at-top
test_coverage:
  regression:
    - "cargo test --test version_changelog: 16/16 passed (parse_changelog order-agnostic, no break)"
---

# Quick Task 260517-wpf — Summary

**Status:** COMPLETE

## What Shipped

Closes WARNING-1 from `v1.7.1-MILESTONE-AUDIT.md` (CHANGELOG.md structural ordering tech debt).

1. **CHANGELOG.md reordered** — moved entries `## [1.10.11]`, `## [1.10.12]`, `## [1.10.13]` from the bottom of the file (lines 271/282/297, after the much older 1.5.4 entry) to the top, between header and prior 1.10.10 entry. Final order: 1.10.13 → 1.10.12 → 1.10.11 → 1.10.10 → ... → 1.5.4 (newest-first per Keep-a-Changelog 1.1.0).
2. **Mojibake repaired** — `Ã¢â‚¬â€` and `â€"` in the 1.10.11 + 1.10.12 entries replaced with `—` (em-dash).
3. **Blank lines normalized** — added blank lines between H2 sections in the reordered block to match the rest of the file's KaC formatting.
4. **DEPLOY.ps1 curation gate hardened** — switched stub insertion from `TrimEnd + stub` (append-at-bottom) to regex-locate-first-H2 + prefix-insert (insert-above-newest). Fallback to append on a fresh CHANGELOG with no H2 entries. Prevents this tech debt from recurring on the next `-Bump` cycle that triggers the curation gate.

## Verification

| Suite | Result |
|-------|--------|
| `cargo test --test version_changelog` | 16/16 passed (parse_changelog is order-agnostic so the reorder is invisible to runtime; regression guard) |
| `grep -n "^## \[" CHANGELOG.md` | Monotonically descending semver from line 7 to line ~317 |

## Note

DEPLOY.ps1 not exercised live — code change is a single regex-and-split substitution against a controlled string; reading the new branch confirms correctness without needing a real `-Bump` run (which has side effects: stages files, commits, may push to plugin cache).
