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
4 changes: 4 additions & 0 deletions .agents/pm/history/pm-github-8f60.jsonl
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{"ts":"2026-08-09T20:00:14.217Z","author":"pi-agent","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.2","agent_model_source":"environment","agent_instance":"33e8b39f5af6e546a7fb41d6","agent_provenance":{"model":{"value":"glm-5.2","source":"environment"},"effort":null,"role":null,"topic":null},"op":"create","patch":[{"op":"add","path":"/metadata/id","value":"pm-github-8f60"},{"op":"add","path":"/metadata/title","value":"Converge changelog generation and verification on replace mode"},{"op":"add","path":"/metadata/description","value":""},{"op":"add","path":"/metadata/type","value":"Issue"},{"op":"add","path":"/metadata/status","value":"open"},{"op":"add","path":"/metadata/priority","value":2},{"op":"add","path":"/metadata/tags","value":[]},{"op":"add","path":"/metadata/created_at","value":"2026-08-09T20:00:14.217Z"},{"op":"add","path":"/metadata/updated_at","value":"2026-08-09T20:00:14.217Z"},{"op":"add","path":"/metadata/author","value":"pi-agent"}],"before_hash":"3cc22dff72be7b14824654a7a64ea62b04799939b2fee54c1b5f52ca60bf6df0","after_hash":"9dd9ef0cc2ee10adde3761b11ce9ec5886b96969c1fa94f57738cdd877f47124","message":""}
{"ts":"2026-08-09T20:00:33.236Z","author":"pi-agent","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.2","agent_model_source":"environment","agent_instance":"33e8b39f5af6e546a7fb41d6","agent_provenance":{"model":{"value":"glm-5.2","source":"environment"},"effort":null,"role":null,"topic":null},"op":"note_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-08-09T20:00:33.236Z"},{"op":"add","path":"/metadata/notes","value":[{"created_at":"2026-08-09T20:00:33.236Z","author":"pi-agent","text":"Converging changelog generation/verification on replace mode. package.json changelog:check now runs `npm run changelog:full -- --check`. release.yml CHANGELOG.md generate+check lines switched from --mode prepend --since-previous-tag --until-release-tag to --mode replace --all-release-tags; release notes --stdout line left windowed. changelog:full already used replace mode."}]}],"before_hash":"9dd9ef0cc2ee10adde3761b11ce9ec5886b96969c1fa94f57738cdd877f47124","after_hash":"cb8224c2170917a7986c67b09088881ed361d9c11b7f17faddc1004c51d437c5"}
{"ts":"2026-08-09T20:01:32.278Z","author":"pi-agent","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.2","agent_model_source":"environment","agent_instance":"33e8b39f5af6e546a7fb41d6","agent_provenance":{"model":{"value":"glm-5.2","source":"environment"},"effort":null,"role":null,"topic":null},"op":"close","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-08-09T20:01:32.278Z"},{"op":"replace","path":"/metadata/status","value":"closed"},{"op":"add","path":"/metadata/closed_at","value":"2026-08-09T20:01:32.267Z"},{"op":"add","path":"/metadata/completed_at","value":"2026-08-09T20:01:32.267Z"},{"op":"add","path":"/metadata/close_reason","value":"Converged changelog generation and verification on replace mode: changelog:check now runs full replace-mode render under --check; release.yml CHANGELOG.md generate/check lines use --mode replace --all-release-tags. build/check/249 tests pass; changelog:check passes."}],"before_hash":"cb8224c2170917a7986c67b09088881ed361d9c11b7f17faddc1004c51d437c5","after_hash":"ec19176f841d7b383810b6ae1a7dd31b2dfd9024c9cb99e31d6010a4d52de9a4"}
{"ts":"2026-08-09T20:01:55.750Z","author":"pi-agent","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.2","agent_model_source":"environment","agent_instance":"33e8b39f5af6e546a7fb41d6","agent_provenance":{"model":{"value":"glm-5.2","source":"environment"},"effort":null,"role":null,"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-08-09T20:01:55.750Z"},{"op":"add","path":"/metadata/resolution","value":"Switched changelog:check to npm run changelog:full -- --check and changed release.yml CHANGELOG.md generate+check lines to --mode replace --all-release-tags."},{"op":"add","path":"/metadata/expected_result","value":"npm run changelog:check passes against a replace-mode CHANGELOG.md; generation and verification use the same mode."},{"op":"add","path":"/metadata/actual_result","value":"build, check, 249 tests pass; changelog:full regenerates idempotently; changelog:check passes."}],"before_hash":"ec19176f841d7b383810b6ae1a7dd31b2dfd9024c9cb99e31d6010a4d52de9a4","after_hash":"ca1dcecb285a4332b1db82197a4fe2427d75a7e1f685721ac030991a08806f64"}
19 changes: 19 additions & 0 deletions .agents/pm/issues/pm-github-8f60.toon
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
id: pm-github-8f60
title: Converge changelog generation and verification on replace mode
description: ""
type: Issue
status: closed
priority: 2
tags: []
created_at: "2026-08-09T20:00:14.217Z"
updated_at: "2026-08-09T20:01:55.750Z"
closed_at: "2026-08-09T20:01:32.267Z"
completed_at: "2026-08-09T20:01:32.267Z"
author: pi-agent
resolution: "Switched changelog:check to npm run changelog:full -- --check and changed release.yml CHANGELOG.md generate+check lines to --mode replace --all-release-tags."
expected_result: "npm run changelog:check passes against a replace-mode CHANGELOG.md; generation and verification use the same mode."
actual_result: "build, check, 249 tests pass; changelog:full regenerates idempotently; changelog:check passes."
notes[1]{created_at,author,text}:
"2026-08-09T20:00:33.236Z",pi-agent,"Converging changelog generation/verification on replace mode. package.json changelog:check now runs `npm run changelog:full -- --check`. release.yml CHANGELOG.md generate+check lines switched from --mode prepend --since-previous-tag --until-release-tag to --mode replace --all-release-tags; release notes --stdout line left windowed. changelog:full already used replace mode."
close_reason: "Converged changelog generation and verification on replace mode: changelog:check now runs full replace-mode render under --check; release.yml CHANGELOG.md generate/check lines use --mode replace --all-release-tags. build/check/249 tests pass; changelog:check passes."
body: ""
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ 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 --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 --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 --pm-bin ./node_modules/.bin/pm --github-step-summary
npx 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 --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
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

### Fixed

- Converge changelog generation and verification on replace mode ([pm-github-8f60](https://github.com/unbraind/pm-github/blob/main/.agents/pm/issues/pm-github-8f60.toon))
- The mandatory docstring gate could skip its own scan and still exit zero ([pm-github-wxob](https://github.com/unbraind/pm-github/blob/main/.agents/pm/issues/pm-github-wxob.toon))

### Other
Expand Down
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,8 @@
"docstring": "node scripts/docstring-gate.ts",
"audit:prod": "node --input-type=module -e \"import { spawnSync } from 'node:child_process'; import { devNull } from 'node:os'; const env = { ...process.env, npm_config_userconfig: devNull, NPM_CONFIG_USERCONFIG: devNull }; for (const key of Object.keys(env)) if (key.toLowerCase() === 'npm_config_allow_scripts') delete env[key]; const win = process.platform === 'win32'; const r = spawnSync(win ? 'npm.cmd' : 'npm', ['audit', '--omit=dev', '--ignore-scripts'], { stdio: 'inherit', env, shell: win }); process.exit(r.status ?? 1);\"",
"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 --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",
"changelog:check": "npm run changelog:full -- --check",
"release:check": "npm run typecheck && npm run build && npm run docstring && npm run coverage && 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 --respect-item-release --pm-bin ./node_modules/.bin/pm --github-step-summary",
Expand Down