Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .agents/pm/chores/pm-github-w7m7.toon
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
id: pm-github-w7m7
title: Adopt --respect-item-release in changelog scripts and bump pm-changelog to 2026.7.24
description: "pm-changelog 2026.7.24 adds --respect-item-release, which makes the single-window generation path (--since-previous-tag --until-release-tag, changelog:check, release notes) honour an item's declared release field instead of trusting closed_at. Without it, closing a tracker whose fix shipped in an earlier release dates months-old work as new, which is why shipped-but-unclosed trackers accumulate: closing them corrupts the changelog. Adopting the flag fleet-wide makes late tracker closure safe and keeps every package's generation path in agreement with --all-release-tags."
type: Chore
status: in_progress
priority: 2
tags[3]: changelog,fleet-consistency,release-hygiene
created_at: "2026-07-24T21:30:26.518Z"
updated_at: "2026-07-24T21:42:59.772Z"
assignee: claude
author: claude
acceptance_criteria: "changelog, changelog:full, changelog:check and release:notes all pass --respect-item-release; pm-changelog devDependency is ^2026.7.24; npm run changelog:check is green; CHANGELOG.md content is unchanged by the flag for this repo (no item declares a release yet)"
notes[2]{created_at,author,text}:
"2026-07-24T21:30:27.187Z",claude,"Verified in this repo: pm-changelog 2026.7.24 installed; npm run changelog:full regenerated CHANGELOG.md with the flag active and produced a ZERO-line diff, confirming the flag is a safe no-op until an item declares a release; npm run changelog:check exits 0."
"2026-07-24T21:42:59.772Z",claude,"Greptile review finding adopted: the daily release workflow invokes pm-changelog DIRECTLY (npx pm-changelog, three times) rather than through the npm scripts, so patching only package.json left the generation path that actually produces the published CHANGELOG.md and RELEASE_NOTES.md without the flag while release:check validated with it. Added --respect-item-release to all three release.yml invocations so generation and validation agree. YAML re-validated."
body: ""
5 changes: 5 additions & 0 deletions .agents/pm/history/pm-github-w7m7.jsonl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{"ts":"2026-07-24T21:30:26.518Z","author":"claude","op":"create","patch":[{"op":"add","path":"/metadata/id","value":"pm-github-w7m7"},{"op":"add","path":"/metadata/title","value":"Adopt --respect-item-release in changelog scripts and bump pm-changelog to 2026.7.24"},{"op":"add","path":"/metadata/description","value":"pm-changelog 2026.7.24 adds --respect-item-release, which makes the single-window generation path (--since-previous-tag --until-release-tag, changelog:check, release notes) honour an item's declared release field instead of trusting closed_at. Without it, closing a tracker whose fix shipped in an earlier release dates months-old work as new, which is why shipped-but-unclosed trackers accumulate: closing them corrupts the changelog. Adopting the flag fleet-wide makes late tracker closure safe and keeps every package's generation path in agreement with --all-release-tags."},{"op":"add","path":"/metadata/type","value":"Chore"},{"op":"add","path":"/metadata/status","value":"open"},{"op":"add","path":"/metadata/priority","value":2},{"op":"add","path":"/metadata/tags","value":["changelog","fleet-consistency","release-hygiene"]},{"op":"add","path":"/metadata/created_at","value":"2026-07-24T21:30:26.518Z"},{"op":"add","path":"/metadata/updated_at","value":"2026-07-24T21:30:26.518Z"},{"op":"add","path":"/metadata/author","value":"claude"},{"op":"add","path":"/metadata/acceptance_criteria","value":"changelog, changelog:full, changelog:check and release:notes all pass --respect-item-release; pm-changelog devDependency is ^2026.7.24; npm run changelog:check is green; CHANGELOG.md content is unchanged by the flag for this repo (no item declares a release yet)"}],"before_hash":"3cc22dff72be7b14824654a7a64ea62b04799939b2fee54c1b5f52ca60bf6df0","after_hash":"82d43e619830ecb0843dabcdddfa552d06ae9e421457aa2c027c8a756c568b2e","message":""}
{"ts":"2026-07-24T21:30:26.838Z","author":"claude","op":"claim","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-07-24T21:30:26.838Z"},{"op":"add","path":"/metadata/assignee","value":"claude"}],"before_hash":"82d43e619830ecb0843dabcdddfa552d06ae9e421457aa2c027c8a756c568b2e","after_hash":"bb1bb0e43d550316b058cd96dfba018c4bf13abe4367e877d2d09f74561eccf2"}
{"ts":"2026-07-24T21:30:26.857Z","author":"claude","op":"update","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-07-24T21:30:26.857Z"},{"op":"replace","path":"/metadata/status","value":"in_progress"}],"before_hash":"bb1bb0e43d550316b058cd96dfba018c4bf13abe4367e877d2d09f74561eccf2","after_hash":"3953df77fd26a1cd3d2d4adcdcaf2bee20f827f948b9fa4a3bcc504112a2cb62"}
{"ts":"2026-07-24T21:30:27.187Z","author":"claude","op":"note_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-07-24T21:30:27.187Z"},{"op":"add","path":"/metadata/notes","value":[{"created_at":"2026-07-24T21:30:27.187Z","author":"claude","text":"Verified in this repo: pm-changelog 2026.7.24 installed; npm run changelog:full regenerated CHANGELOG.md with the flag active and produced a ZERO-line diff, confirming the flag is a safe no-op until an item declares a release; npm run changelog:check exits 0."}]}],"before_hash":"3953df77fd26a1cd3d2d4adcdcaf2bee20f827f948b9fa4a3bcc504112a2cb62","after_hash":"eeeeb2b27870732e27ea0767ba55f85e05cd59c828ffa54c81f25f74c435e968"}
{"ts":"2026-07-24T21:42:59.772Z","author":"claude","op":"note_add","patch":[{"op":"add","path":"/metadata/notes/1","value":{"created_at":"2026-07-24T21:42:59.772Z","author":"claude","text":"Greptile review finding adopted: the daily release workflow invokes pm-changelog DIRECTLY (npx pm-changelog, three times) rather than through the npm scripts, so patching only package.json left the generation path that actually produces the published CHANGELOG.md and RELEASE_NOTES.md without the flag while release:check validated with it. Added --respect-item-release to all three release.yml invocations so generation and validation agree. YAML re-validated."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-07-24T21:42:59.772Z"}],"before_hash":"eeeeb2b27870732e27ea0767ba55f85e05cd59c828ffa54c81f25f74c435e968","after_hash":"d0e768b06bdcdb640252ab1aed4f4d086f138c8cf0f7035c081455aa0ed8f027"}
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,9 @@ jobs:
shell: bash
run: |
set -euo pipefail
npx pm-changelog --pm-root .agents/pm --mode prepend --output CHANGELOG.md --since-previous-tag --until-release-tag --release-version-from-package --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm --pm-bin ./node_modules/.bin/pm --github-step-summary
npx pm-changelog --pm-root .agents/pm --mode prepend --output CHANGELOG.md --since-previous-tag --until-release-tag --release-version-from-package --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm --pm-bin ./node_modules/.bin/pm --check
npx pm-changelog --pm-root .agents/pm --stdout --since-previous-tag --until-release-tag --release-version-from-package --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm --pm-bin ./node_modules/.bin/pm > RELEASE_NOTES.md
npx pm-changelog --pm-root .agents/pm --mode prepend --output CHANGELOG.md --since-previous-tag --until-release-tag --release-version-from-package --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm --respect-item-release --pm-bin ./node_modules/.bin/pm --github-step-summary
npx pm-changelog --pm-root .agents/pm --mode prepend --output CHANGELOG.md --since-previous-tag --until-release-tag --release-version-from-package --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm --respect-item-release --pm-bin ./node_modules/.bin/pm --check
npx pm-changelog --pm-root .agents/pm --stdout --since-previous-tag --until-release-tag --release-version-from-package --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm --respect-item-release --pm-bin ./node_modules/.bin/pm > RELEASE_NOTES.md

- name: Run release checks
if: steps.decide.outputs.should_release == 'true'
Expand Down
10 changes: 5 additions & 5 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@
"check": "npm run typecheck",
"audit:prod": "env -u npm_config_allow_scripts npm audit --omit=dev --ignore-scripts",
"pack:dry-run": "npm pack --dry-run",
"changelog": "pm-changelog --pm-root .agents/pm --mode prepend --output CHANGELOG.md --release-version-from-package --since-previous-tag --until-release-tag --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm",
"changelog:full": "pm-changelog --pm-root .agents/pm --mode replace --output CHANGELOG.md --all-release-tags --release-version-from-package --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm",
"changelog:check": "pm-changelog --pm-root .agents/pm --mode prepend --output CHANGELOG.md --release-version-from-package --since-previous-tag --until-release-tag --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm --check",
"changelog": "pm-changelog --pm-root .agents/pm --mode prepend --output CHANGELOG.md --release-version-from-package --since-previous-tag --until-release-tag --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm --respect-item-release",
"changelog:full": "pm-changelog --pm-root .agents/pm --mode replace --output CHANGELOG.md --all-release-tags --release-version-from-package --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm --respect-item-release",
"changelog:check": "pm-changelog --pm-root .agents/pm --mode prepend --output CHANGELOG.md --release-version-from-package --since-previous-tag --until-release-tag --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm --respect-item-release --check",
"release:check": "npm run typecheck && npm run build && npm test && npm run audit:prod && npm run pack:dry-run && npm run changelog:check",
"prepublishOnly": "npm run release:check",
"release:notes": "pm-changelog --pm-root .agents/pm --stdout --since-previous-tag --until-release-tag --release-version-from-package --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm --pm-bin ./node_modules/.bin/pm --github-step-summary",
"release:notes": "pm-changelog --pm-root .agents/pm --stdout --since-previous-tag --until-release-tag --release-version-from-package --item-url-base https://github.com/unbraind/pm-github/blob/main/.agents/pm --respect-item-release --pm-bin ./node_modules/.bin/pm --github-step-summary",
"prepare": "node scripts/prepare-merge-driver.mjs",
"merge:install": "pm merge install"
},
Expand All @@ -43,7 +43,7 @@
"devDependencies": {
"@types/node": "^26.1.1",
"@unbrained/pm-cli": "^2026.7.22",
"pm-changelog": "^2026.7.18",
"pm-changelog": "^2026.7.24",
"typescript": "^7.0.2"
},
"keywords": [
Expand Down