Repository navigation
docs: clarify same-PR changelog preparation - #24
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change
Refs #23 — reconcile the published same-PR changelog clarification within the Planner's authorized two-file scope. Contributors can retain a final PR reference for the current change, and maintainers can prepare its release section in that PR once version, scope, and intended UTC date are established. Complete release-delta accounting happens before merge in that path. Corrections follow the actual before-merge, after-merge/pre-tag, or post-publication state.
Authority is the user's settled Planning → Implementation contract for #23. This is implementation of that contract, not a new architectural decision. Only
CONTRIBUTING.mdandMAINTAINING.mdchange. Independent review remains required and separate from Implementation. No merge, release selection, tagging, publication, host mutation, issue closure, source-pin change, or downstream adoption is authorized here.Reconciliation evidence
Verified source: jamesreimer/repo-template, issue #57, implementation PR #58.
75251599d49baa89f8f9b2bdf2347b4c8682c903.02d7b8e748b46e2b2ecf2a6e6ee388f9ef2913fa.2026-10-05T17:56:14Z. Read-back of upstreammainresolved to that commit; compare API reported identical. A separate bare Git clone verified the commit/tree and consumed file objects. Fetching PR #58 head verified3aa7652c8acac888a1c569b66fc06d3137e7ebb6has that same tree and an empty diff to the published commit.CONTRIBUTING.md=e067c23bf015973a879f6c68d153817c17413a1e;MAINTAINING.md=a1a79084704db8cf75c0c9718cd5386a9457b1f5.417e2120f56c828c13b8c7d6a5228b8ecb7e2007; local HEAD and freshly fetched origin/main both matched before mutation. Worktree was clean and origin identified the intended repository.All applicable rules are consumed or locally adapted as described; no applicable clarification is deferred. This is correspondence of the two adapted surfaces, not repository-wide byte identity or a permanent baseline ledger. The existing local release model requires stronger independent review, human authorization, exact candidates, and reviewed/published correspondence; these explain the intentional source differences. Source-pin ownership, pre-1.0 semantics, issue-closure safeguards, roles/handoffs/workflows, and downstream authority remain intact.
Host verification
GitHub effective
rules/branches/mainand independently read ruleset23862052(Protect default branch) show active enforcement on the default branch with no bypass actors, deletion/non-fast-forward protection, required PRs, squash as the only allowed landing method, resolved review threads, and strictRepository validationfrom GitHub Actions integration15368. Host required approval count is zero; this does not waive the contract's independent review. Repository-wide merge/rebase toggles are true, but the effective branch rule restricts landing to squash. No settings changed.The unchanged
.github/workflows/validate.ymltriggers on pull requests and pushes to main, producesRepository validation, and checks outgithub.event.pull_request.head.sha || github.shaexplicitly. Final hosted exact-candidate evidence and the newly observed audit condition are recorded below.Changelog
Notable for a future release. Proposed summary:
Supporting reference: this PR and descriptive issue #23. Standing alone this is a compatible procedural clarification, PATCH-class under current pre-1.0 policy. The complete unreleased delta determines the eventual version. No version/date was selected and
CHANGELOG.mdis unchanged.Consumer impact and boundaries
Repository contributors and maintainers gain explicit preparation and correction instructions. Reusable roles, handoffs, workflows, validator architecture, dependency resolution, source pins, and downstream consumers are unchanged. Consumer updates still require their own deliberate authority. No deviation from the accepted Planning scope or architecture.
Validation
9f01b96e3f403bf2e66d880b47fd9d4f6e026b51; tree2346dcff91ec7550f6f35f7d5b109d79a02ee519.ee1e1d0fdfd4d5b626d2dfc89a46b7a1c14826fb; MAINTAINING7bbd17de9679a2d840cb43a5552e1222483d740b.CONTRIBUTING.md,MAINTAINING.md. Reviewed staged bytes were committed without further changes; worktree/index are clean. Object comparison confirms maintenance authority/reconciliation/version sections and preparation step 3 through publication are byte-identical to base.v24.18.1, npm11.19.0, pre-commit4.6.2.npm ci --ignore-scripts: exit 0; lockfile-resolved installation, no dependency edits..venv/bin/pre-commit run --all-files --show-diff-on-failure: exit 0. All applicable hooks passed: merge conflicts, JSON/YAML/TOML, case conflicts, private keys, EOF/whitespace/line endings, Markdownlint, Markdown authoring regressions, offline links, link validation regressions, Ruff check/format, actionlint, canonical artifact validator and tests. Broken-symlink hook skipped because no applicable files exist; expected selection, not unresolved validation.git diff --checkandgit diff --cached --check: exit 0.python3 scripts/validate_local.py: exit 0.python3 -m unittest discover -s tests: exit 0, 5 tests passed.Original local audit limitation (retained evidence)
npm audit --jsonreturned exit 1, with five high-severity affected-package entries rooted in the single already-known advisory GHSA-vfj7-8cjw-p6xm: braces, micromatch, fast-glob, globby, and markdownlint-cli2. This is not a clean or passed audit, a harmlessness determination, or a suppression.repo-template#56 is the generic upstream owner; it remains OPEN with no newer comments/disposition. The original qualification advisory read-back reported affected braces
<=3.0.3and no patched version; npm then reported latest braces3.0.3. The offered semver-major downgrade to markdownlint-cli20.0.4was not applied. No new advisory, changed dependency graph, materially changed finding, or newly viable remedy was found in these checks. This bounded disposition is expressly provided by the Planning contract; dependency remediation remains outside #23.Candidate dependency blobs equal the base:
package.json=4959950f0c4dc0dc979de0f03c0de247839531e2;package-lock.json=de95bd520ed401ee1b992061dd907c22b357f0ab;requirements-dev.txt=23705400953a7a671c2c42dd1439aee2f62c689d. Clean lockfile installation andnpm lsconfirm markdownlint-cli2 0.23.3 → micromatch 4.0.8 → braces 3.0.3, also through globby 16.2.4 / fast-glob 3.3.3. This PR changes neither dependency files nor resolution.Hosted validation — SUCCESS on unchanged candidate
The authorized retry used
gh run rerun 37369705801 --repo jamesreimer/agent-workflows; no commit or repository configuration changed.2026-10-06T02:17:45Z.15368both identify9f01b96e3f403bf2e66d880b47fd9d4f6e026b51.ref, fetch, checkout, and finalgit log -1 --format=%Houtput. This is evidence of the actual checked-out candidate, not merely the run label.111963514784cancelled without steps, and log retrieval returned HTTP 404 / BlobNotFound. No validation ran in that attempt, so it did not establish a candidate defect.Current audit — non-clean; Planning disposition permits independent review
Full inspection of attempt 2 exposed a material change from the earlier bounded audit evidence: the
npm ci --ignore-scriptslog reports 9 affected-package entries (3 low, 1 moderate, 5 high). A read-onlynpm audit --jsonon the unchanged local candidate confirmed those counts and returned exit 1. The original audit had five high entries rooted in braces alone.Newly reported advisories:
katex@0.16.47: GHSA-238p-pmpm-9mq7, low severity, “Existing prototype pollution can bypass trust restrictions”; audit affected range>=0.11.0 <0.18.2. Dependency path: markdownlint-cli2 0.23.3 → markdownlint 0.41.1 → micromark-extension-math 3.1.0 → katex 0.16.47. This adds low entries for katex, micromark-extension-math, and markdownlint.smol-toml@1.8.0: GHSA-r4xh-jqrq-34v2, moderate severity, “Quadratic-time parse() from parseKey rescanning to end of document on each key line”; audit affected range<=1.8.0. Dependency path: markdownlint-cli2 0.23.3 → smol-toml 1.8.0.The existing braces advisory and its five high affected-package entries remain. npm's proposed semver-major markdownlint-cli2 downgrade also changed from
0.0.4to0.21.0. That suggestion was not applied or established as viable remediation. No practical-exploitability or harmlessness claim is made.The original contract required return to Planning for a new advisory or materially changed finding. Implementation made that return without changing the candidate. Planning has now explicitly dispositioned the findings in the user's continuation instruction for #23: they are separately owned and non-blocking to independent review of this exact documentation candidate. This supersedes the earlier pending-Planning status; it does not characterize the audit as passing.
Separate durable owners:
The complete current recorded audit result remains exit 1, with 9 affected-package entries: 0 informational, 3 low, 1 moderate, 5 high, 0 critical. The five high entries are braces, micromatch, fast-glob, globby, and markdownlint-cli2; the three low entries are katex, micromark-extension-math, and markdownlint; the moderate entry is smol-toml. These are affected-package entries arising from three advisory identities, not nine independent advisories. The current recorded audit metadata reports 181 total dependencies (prod 126, dev 56, optional 0, peer 0, peerOptional 0; npm's category counts are reproduced as reported). The earlier five-high result is historical evidence only.
Planning's rationale is bounded: #24 changes only CONTRIBUTING.md and MAINTAINING.md; dependency files and installed resolution are unchanged; the advisories were not introduced by #24; required exact-candidate repository validation succeeded; and generic remediation is durably owned by #56 and #59. Dependency remediation is outside #23. No clean-audit claim, advisory waiver, harmlessness determination, audit suppression, approval of npm's proposed downgrade, or permission to modify dependencies follows from this disposition.
Planning explicitly accepts run 37369705801 attempt 2 and required job 112074990325 as successful exact-candidate validation. The cancelled first attempt remains historical non-success and does not establish a candidate defect. All required applicable hosted steps completed successfully.
Local HEAD and remote PR head remain
9f01b96e3f403bf2e66d880b47fd9d4f6e026b51; the worktree/index are clean and the diff from base remains exactly the two authorized documentation files. Base/candidate dependency blob identity and the upstream commit/tree/consumed-blob identities were rechecked during this evidence-only completion. The successful local qualification and recorded installed-resolution evidence remain applicable to the unchanged candidate. No repeat qualification or new audit was needed for this PR-description-only update; the current audit result above is the retained resumption result, not a claimed new scan.Implementation return: complete and ready for independent review, returned to Planning first. The completed Implementation → Review handoff is prepared for Claude; it has not been sent directly to Claude and no independent-review conclusion is claimed. Independent review remains outstanding. No other unresolved implementation condition was identified. No new commit, merge, tag, publication, issue closure, settings/workflow change, dependency mutation, or candidate-content change was made. Planning controls the next role transfer and any later authorization.