pm-github 2026.10.23 → 2026.10.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +32 -6
- package/dist/closeout.d.ts +20 -5
- package/dist/closeout.d.ts.map +1 -1
- package/dist/closeout.js +282 -59
- package/dist/closeout.js.map +1 -1
- package/dist/index.js +1 -1
- package/manifest.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026.10.25 - 2026-10-25
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Hold ambiguous merged-PR delivery until attribution is verified ([pm-github-closeout-attribution](https://github.com/unbraind/pm-github/blob/main/.agents/pm/issues/pm-github-closeout-attribution.toon))
|
|
8
|
+
|
|
9
|
+
## 2026.10.24 - 2026-10-24
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Publish tracker sync after restoring workflow-owned setup artifacts ([pm-github-sync-setup-artifacts](https://github.com/unbraind/pm-github/blob/main/.agents/pm/issues/pm-github-sync-setup-artifacts.toon))
|
|
14
|
+
|
|
3
15
|
## 2026.10.23 - 2026-10-23
|
|
4
16
|
|
|
5
17
|
### Added
|
package/README.md
CHANGED
|
@@ -48,17 +48,41 @@ PR body, including links in follow-up lists (`PM:`), can produce `not_delivery`
|
|
|
48
48
|
rows for otherwise eligible items with the reason "Mentioned, not delivered".
|
|
49
49
|
Tracker PR URL metadata with no body reference or declaration produces no row.
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
PR
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
A merged PR is a delivery candidate only when it claims the item through an explicit
|
|
52
|
+
`delivery-pr:` tag, a closing declaration, or a commit claim naming the item.
|
|
53
|
+
A fully inspected mention-only or link-only PR is context: it remains listed as
|
|
54
|
+
`skip` / `not_delivery`, never enters the candidate set, and its merge/check gaps
|
|
55
|
+
cannot hold another delivery. Unreadable PR or commit evidence remains unresolved
|
|
56
|
+
because it may hide a claim; a known candidate's incomplete evidence still holds.
|
|
57
|
+
|
|
58
|
+
Closeout never breaks a delivery tie by PR number or merge order. Prefer one explicit
|
|
59
|
+
item tag linking the delivery PR, for example:
|
|
60
|
+
|
|
61
|
+
```sh
|
|
62
|
+
pm update pm-x --add-tags delivery-pr:https://github.com/example/project/pull/19
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The tagged PR must be in the selected PR set and pass the merge and head-check gates.
|
|
66
|
+
Ordinary `pr_url` metadata remains contextual. Without an explicit tag, exactly one
|
|
67
|
+
linked merged PR must declare the item in its description or commit messages and
|
|
68
|
+
merge strictly after the last acceptance-criteria edit in the item's SDK history.
|
|
69
|
+
Creation is the cutoff when no later criteria edit exists; comments and unrelated
|
|
70
|
+
updates do not move it. Missing or unverifiable history cannot establish chronology.
|
|
71
|
+
Unreadable commits on an otherwise qualifying mention also hold selection: they may hide another claim. A failed check on the unique PR never permits fallback to an earlier delivery.
|
|
72
|
+
|
|
73
|
+
Unresolved attribution produces `needs_review` rows listing every linked candidate
|
|
74
|
+
PR number, leaving the item and its history unchanged. Multiple or unmatched explicit
|
|
75
|
+
tags also require review. The reusable workflow includes these rows and candidates
|
|
76
|
+
in the closeout PR body. An all-held run proposes only the privacy-gated
|
|
77
|
+
`closeout-review.json` report in the tracker, so it can still open a review PR.
|
|
78
|
+
All completion fields and the appended close event use the selected PR's merge
|
|
79
|
+
time, merge SHA, head SHA and check evidence.
|
|
56
80
|
|
|
57
81
|
**A mention is not delivery.** PR bodies routinely link follow-ups, epics and
|
|
58
82
|
related work for context, so a link alone never closes an item. An item is
|
|
59
83
|
closed only when:
|
|
60
84
|
|
|
61
|
-
- its delivery is
|
|
85
|
+
- its delivery is selected by an explicit item tag or a unique claim after the last criteria edit; a canonical link may be preceded on the same
|
|
62
86
|
line by a GitHub-style closing keyword: `Closes`, `Fixes`, `Resolves` or
|
|
63
87
|
`Delivers` (and their tense forms), for example `- Closes [pm-x](…/pm-x.toon)`;
|
|
64
88
|
- it is not an `Epic`; epics close when their children are done;
|
|
@@ -839,6 +863,8 @@ Fleet repos sync their issues into pm through ONE audited implementation: the re
|
|
|
839
863
|
|
|
840
864
|
When the tracker has no changes, regenerated `CHANGELOG.md` drift is discarded and the run emits a notice that the caller's own `changelog:check` owns that drift. The sync closes any owned open review PR and exits successfully without pushing or dispatching CI. Changelog changes are published only together with tracker changes.
|
|
841
865
|
|
|
866
|
+
Before extension and attributes setup, both reusable maintenance workflows require `.gitattributes` and the tracker’s `extensions/.managed-extensions.json` to match the checkout, including the index and ignored untracked files. Immediately after setup they save the runtime artifacts outside the checkout, then restore original tracked bytes or remove setup-created files before any privacy or publication scan. Strict health temporarily uses the saved runtime files after checking that both paths still match the baseline; an exit trap restores the baseline even when health fails. No caller script runs inside either setup window. Preexisting edits and later caller edits to either artifact fail closed and remain untouched, including ignored files. The publication allowlist stays unchanged. Callers receive the fix through their Dependabot workflow pins.
|
|
867
|
+
|
|
842
868
|
The explicit allowed scope for changed paths is:
|
|
843
869
|
|
|
844
870
|
- Files beneath the SDK-resolved repository-local pm tracker, excluding its `extensions/`, `locks/`, and `checkpoints/` runtime directories. The extension setup files `settings.json` and `history/_workspace.jsonl` are permitted during setup, then restored before publication and excluded from both the scan and commit.
|
package/dist/closeout.d.ts
CHANGED
|
@@ -11,12 +11,18 @@ export interface CloseoutApi {
|
|
|
11
11
|
export interface CloseoutRow {
|
|
12
12
|
item: string;
|
|
13
13
|
pr: number;
|
|
14
|
-
action: "close" | "skip";
|
|
14
|
+
action: "close" | "skip" | "needs_review";
|
|
15
|
+
candidates?: number[];
|
|
16
|
+
missing_evidence?: {
|
|
17
|
+
pr: number;
|
|
18
|
+
code: CloseoutCode;
|
|
19
|
+
reason: string;
|
|
20
|
+
}[];
|
|
15
21
|
reason: string;
|
|
16
22
|
code: CloseoutCode;
|
|
17
23
|
}
|
|
18
24
|
/** Stable decisions used by automation and compact skip counts. */
|
|
19
|
-
export type CloseoutCode = "already_terminal" | "other_repository" | "duplicate_selection" | "explicit_skip" | "unknown_item" | "epic" | "active_children" | "not_delivery" | "close_failed" | "head_checks_passed" | "head_checks_failed" | "head_evidence_unavailable" | "required_checks_unverified" | "incomplete_merge";
|
|
25
|
+
export type CloseoutCode = "already_terminal" | "other_repository" | "duplicate_selection" | "explicit_skip" | "needs_review" | "unknown_item" | "epic" | "active_children" | "not_delivery" | "close_failed" | "head_checks_passed" | "head_checks_failed" | "head_evidence_unavailable" | "required_checks_unverified" | "not_merged" | "incomplete_merge";
|
|
20
26
|
/** Which head-check policy was evaluated for one selected pull request. */
|
|
21
27
|
interface CheckGate {
|
|
22
28
|
pr: number;
|
|
@@ -30,9 +36,10 @@ interface CheckGate {
|
|
|
30
36
|
interface PullRequest {
|
|
31
37
|
number: number;
|
|
32
38
|
body: string | null;
|
|
33
|
-
merged: boolean;
|
|
39
|
+
merged: boolean | null;
|
|
34
40
|
merged_at: string | null;
|
|
35
41
|
merge_commit_sha: string | null;
|
|
42
|
+
commits?: number | null;
|
|
36
43
|
html_url: string;
|
|
37
44
|
head: {
|
|
38
45
|
sha: string;
|
|
@@ -76,8 +83,10 @@ export declare class CloseoutUsageError extends Error {
|
|
|
76
83
|
* may pass on neutral or skipped runs alone, so it states that policy and lists successful checks only when any exist.
|
|
77
84
|
*/
|
|
78
85
|
export declare function checkEvidence(gate: CheckGate): string;
|
|
79
|
-
/**
|
|
80
|
-
export
|
|
86
|
+
/** Deterministic scheduling observer; it never replaces SDK reads or writes. */
|
|
87
|
+
export type CloseoutObserver = (boundary: "listed" | "snapshot" | "history" | "selection" | "before_close" | "locked") => Promise<void>;
|
|
88
|
+
/** Plan selected PRs and apply only decisions whose exact item snapshot still matches. */
|
|
89
|
+
export declare function runCloseout(pmRoot: string, repo: string | undefined, options: Record<string, unknown>, api: CloseoutApi, observer?: CloseoutObserver): Promise<{
|
|
81
90
|
command: string;
|
|
82
91
|
repo: string;
|
|
83
92
|
dry_run: boolean;
|
|
@@ -96,6 +105,12 @@ export declare function compactCloseoutReport(report: Awaited<ReturnType<typeof
|
|
|
96
105
|
plan: {
|
|
97
106
|
item: string;
|
|
98
107
|
pr: number;
|
|
108
|
+
candidates?: number[];
|
|
109
|
+
missing_evidence?: {
|
|
110
|
+
pr: number;
|
|
111
|
+
code: CloseoutCode;
|
|
112
|
+
reason: string;
|
|
113
|
+
}[];
|
|
99
114
|
reason: string;
|
|
100
115
|
code: CloseoutCode;
|
|
101
116
|
action: string;
|
package/dist/closeout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeout.d.ts","sourceRoot":"","sources":["../closeout.ts"],"names":[],"mappings":"AAGA,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"closeout.d.ts","sourceRoot":"","sources":["../closeout.ts"],"names":[],"mappings":"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"}
|
package/dist/closeout.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Close delivered tracker items using merged pull requests and head-check evidence. */
|
|
2
|
-
import { close, listAllComplete, certifyCompleteListResult, PmCliError } from "@unbrained/pm-cli/sdk";
|
|
2
|
+
import { close, hashDocument, locateItem, readLocatedItem, readSettings, resolveItemTypeRegistry, runWithActiveExtensions, setActiveExtensionHooks, listAllComplete, certifyCompleteListResult, getHistoryPath, readHistoryEntries, verifyHistoryEntries, PmCliError, EXIT_CODE } from "@unbrained/pm-cli/sdk";
|
|
3
3
|
/** Reject non-object API payloads before reading safety-critical fields. */
|
|
4
4
|
function record(value) {
|
|
5
5
|
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
@@ -82,23 +82,40 @@ function pullRequest(value, repo, number) {
|
|
|
82
82
|
const raw = record(value);
|
|
83
83
|
const base = record(raw.base);
|
|
84
84
|
const baseRepo = record(base.repo);
|
|
85
|
-
const head = record(raw.head);
|
|
85
|
+
const head = raw.head === null || raw.head === undefined ? {} : record(raw.head);
|
|
86
86
|
if (raw.number !== number || text(baseRepo.full_name).toLowerCase() !== repo.toLowerCase()
|
|
87
87
|
|| text(raw.html_url).toLowerCase() !== `https://github.com/${repo}/pull/${number}`.toLowerCase()
|
|
88
88
|
|| (raw.body !== null && typeof raw.body !== "string"))
|
|
89
89
|
throw new Error("Pull-request identity or body is unverifiable.");
|
|
90
90
|
return {
|
|
91
|
-
number, body: raw.body, merged: raw.merged ===
|
|
91
|
+
number, body: raw.body, merged: typeof raw.merged === "boolean" ? raw.merged : null,
|
|
92
|
+
commits: Number.isSafeInteger(raw.commits) && Number(raw.commits) >= 0 ? Number(raw.commits) : null,
|
|
92
93
|
merged_at: raw.merged_at, merge_commit_sha: raw.merge_commit_sha,
|
|
93
|
-
html_url: raw.html_url, head: { sha:
|
|
94
|
+
html_url: raw.html_url, head: { sha: typeof head.sha === "string" ? head.sha : "" },
|
|
94
95
|
base: { ref: text(base.ref), repo: { full_name: baseRepo.full_name } },
|
|
95
96
|
};
|
|
96
97
|
}
|
|
98
|
+
/** Read a validated merge time; missing or malformed chronology remains unknown. */
|
|
99
|
+
function mergeTime(value) {
|
|
100
|
+
try {
|
|
101
|
+
return Date.parse(isoDate(text(value)));
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return Number.NaN;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Name each missing merge fact without copying untrusted API values. */
|
|
108
|
+
function mergeEvidenceGaps(pr) {
|
|
109
|
+
return [
|
|
110
|
+
...(pr.merged === true ? [] : ["merged"]),
|
|
111
|
+
...(Number.isFinite(mergeTime(pr.merged_at)) ? [] : ["merged_at"]),
|
|
112
|
+
...(typeof pr.merge_commit_sha === "string" && /^[a-f0-9]{40}$/.test(pr.merge_commit_sha) ? [] : ["merge_commit_sha"]),
|
|
113
|
+
...(/^[a-f0-9]{40}$/.test(pr.head.sha) ? [] : ["head.sha"]),
|
|
114
|
+
];
|
|
115
|
+
}
|
|
97
116
|
/** Require complete, well-formed merge facts before any check queries or writes. */
|
|
98
117
|
function mergeEvidence(pr) {
|
|
99
|
-
return
|
|
100
|
-
&& typeof pr.merge_commit_sha === "string" && /^[a-f0-9]{40}$/.test(pr.merge_commit_sha)
|
|
101
|
-
&& /^[a-f0-9]{40}$/.test(pr.head.sha);
|
|
118
|
+
return mergeEvidenceGaps(pr).length === 0;
|
|
102
119
|
}
|
|
103
120
|
/** Treat only permission and not-found responses as protection metadata gaps. */
|
|
104
121
|
async function readProtectionSource(read) {
|
|
@@ -313,6 +330,54 @@ export function extractCloseoutItems(body) {
|
|
|
313
330
|
return [entry];
|
|
314
331
|
}).map(({ repo, item, declared }) => ({ repo, item, declared }));
|
|
315
332
|
}
|
|
333
|
+
/** Read the last criteria edit from immutable SDK history; unavailable chronology cannot select delivery. */
|
|
334
|
+
async function acceptanceChangedAt(pmRoot, id, document) {
|
|
335
|
+
try {
|
|
336
|
+
const history = await readHistoryEntries(getHistoryPath(pmRoot, id), id);
|
|
337
|
+
if (history.length === 0 || !verifyHistoryEntries(history, document).ok)
|
|
338
|
+
return Number.NaN;
|
|
339
|
+
let changedAt = Date.parse(document.metadata.created_at);
|
|
340
|
+
for (const event of history) {
|
|
341
|
+
if (event.patch.some(patch => ["", "/metadata", "/metadata/acceptance_criteria"].includes(patch.path))) {
|
|
342
|
+
changedAt = Math.max(changedAt, Date.parse(event.ts));
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
return changedAt;
|
|
346
|
+
}
|
|
347
|
+
catch {
|
|
348
|
+
return Number.NaN;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
/** Extract exact item declarations from descriptions or commit messages using the same grammar. */
|
|
352
|
+
function deliveryReferences(body, repo, ids) {
|
|
353
|
+
const refs = extractCloseoutItems(body);
|
|
354
|
+
const declarations = new Set();
|
|
355
|
+
for (const match of body.matchAll(/^(?:[-*][ \t]+)?([a-z]+|pm-github:|PM item:)[ \t]+(\S+)[ \t]*$/gim)) {
|
|
356
|
+
const keyword = match[1].toLowerCase();
|
|
357
|
+
if (!CLOSING_KEYWORDS.has(keyword) && keyword !== "pm-github:" && keyword !== "pm item:")
|
|
358
|
+
continue;
|
|
359
|
+
const id = declarationKey(match[2]);
|
|
360
|
+
declarations.add(id);
|
|
361
|
+
if (/[.!]$/.test(id))
|
|
362
|
+
declarations.add(id.slice(0, -1));
|
|
363
|
+
}
|
|
364
|
+
for (const id of ids) {
|
|
365
|
+
if (declarations.has(declarationKey(id))) {
|
|
366
|
+
const ref = refs.find(ref => ref.item === id && ref.repo.toLowerCase() === repo.toLowerCase());
|
|
367
|
+
if (ref)
|
|
368
|
+
ref.declared = true;
|
|
369
|
+
else
|
|
370
|
+
refs.push({ item: id, repo, declared: true });
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
return refs;
|
|
374
|
+
}
|
|
375
|
+
/** Classify delivery once: only claims are candidates; unreadable claims remain unresolved. */
|
|
376
|
+
function deliveryRole(declared, tagged, commitsReadable) {
|
|
377
|
+
if (declared || tagged)
|
|
378
|
+
return "candidate";
|
|
379
|
+
return commitsReadable ? "context" : "unresolved";
|
|
380
|
+
}
|
|
316
381
|
/** Render only the allowed GitHub facts; never include body, title or comment text. */
|
|
317
382
|
function closeReason(pr, passed) {
|
|
318
383
|
return JSON.stringify({ pr: pr.number, url: pr.html_url, merge_commit_sha: pr.merge_commit_sha,
|
|
@@ -357,8 +422,29 @@ export function checkEvidence(gate) {
|
|
|
357
422
|
const successes = gate.passed.length > 0 ? `successful checks: ${gate.passed.join(", ")}` : "no check reported success";
|
|
358
423
|
return `no readable required checks, so every completed head check run had to succeed, be neutral or be skipped; ${successes}`;
|
|
359
424
|
}
|
|
360
|
-
/**
|
|
361
|
-
|
|
425
|
+
/** Project one item decision onto all its candidates, including incomplete competitors. */
|
|
426
|
+
function reportItemDecision(rows, decision) {
|
|
427
|
+
const candidates = rows.map(row => row.pr).sort((a, b) => a - b);
|
|
428
|
+
for (const row of rows) {
|
|
429
|
+
if (decision.kind === "chosen") {
|
|
430
|
+
if (row === decision.row)
|
|
431
|
+
continue;
|
|
432
|
+
Object.assign(row, { action: "skip", code: "duplicate_selection",
|
|
433
|
+
reason: "Another merged PR uniquely supplies the delivery evidence for this item." });
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
Object.assign(row, { action: "needs_review", code: "needs_review", reason: decision.reason, candidates });
|
|
437
|
+
if (decision.missing.length > 0)
|
|
438
|
+
row.missing_evidence = decision.missing;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
/** Plan selected PRs and apply only decisions whose exact item snapshot still matches. */
|
|
443
|
+
export function runCloseout(pmRoot, repo, options, api, observer) {
|
|
444
|
+
return closeoutAttempt(pmRoot, repo, options, api, true, observer);
|
|
445
|
+
}
|
|
446
|
+
/** Re-select a conflicted item once; each attempt installs a lock-scoped SDK precondition. */
|
|
447
|
+
async function closeoutAttempt(pmRoot, repo, options, api, retry, observer, onlyItem) {
|
|
362
448
|
if (!repo || !/^(?!\.{1,2}\/)[A-Za-z0-9_.-]+\/(?!\.{1,2}$)[A-Za-z0-9_.-]+$/.test(repo))
|
|
363
449
|
throw new CloseoutUsageError("closeout requires --repo owner/repo or PM_GITHUB_REPO.");
|
|
364
450
|
const numbers = usage(() => repeated(options, "pr")).map(value => {
|
|
@@ -379,7 +465,8 @@ export async function runCloseout(pmRoot, repo, options, api) {
|
|
|
379
465
|
const older = (row) => typeof row === "object" && row !== null && Date.parse(String(row.updated_at)) < cutoff;
|
|
380
466
|
for (const value of await pages(api, `/repos/${repo}/pulls?state=closed&sort=updated&direction=desc&per_page=100`, false, older)) {
|
|
381
467
|
const pr = record(value);
|
|
382
|
-
|
|
468
|
+
// A missing or malformed merge time is uncertainty, never proof of an unmerged PR.
|
|
469
|
+
if (!Number.isFinite(mergeTime(pr.merged_at)) || mergeTime(pr.merged_at) >= cutoff) {
|
|
383
470
|
if (!Number.isSafeInteger(pr.number) || Number(pr.number) < 1)
|
|
384
471
|
throw new Error("Invalid selected pull-request number.");
|
|
385
472
|
numbers.push(Number(pr.number));
|
|
@@ -387,10 +474,26 @@ export async function runCloseout(pmRoot, repo, options, api) {
|
|
|
387
474
|
}
|
|
388
475
|
}
|
|
389
476
|
const corpus = certifyCompleteListResult(await listAllComplete({}, { pmRoot, noExtensions: true }));
|
|
477
|
+
await observer?.("listed");
|
|
478
|
+
const settings = await readSettings(pmRoot);
|
|
479
|
+
const types = resolveItemTypeRegistry(settings).type_to_folder;
|
|
480
|
+
const snapshots = new Map();
|
|
481
|
+
const documents = new Map();
|
|
390
482
|
const items = new Map(corpus.items.map(item => [item.id, item]));
|
|
483
|
+
// Selection and its guard must use the same authoritative document, including collections and body.
|
|
484
|
+
for (const id of items.keys()) {
|
|
485
|
+
const located = await locateItem(pmRoot, id, settings.id_prefix, settings.item_format, types);
|
|
486
|
+
if (!located)
|
|
487
|
+
throw new Error("Closeout item snapshot unavailable.");
|
|
488
|
+
const { document } = await readLocatedItem(located, { schema: settings.schema });
|
|
489
|
+
snapshots.set(id, hashDocument(document));
|
|
490
|
+
documents.set(id, document);
|
|
491
|
+
items.set(id, document.metadata);
|
|
492
|
+
}
|
|
493
|
+
await observer?.("snapshot");
|
|
391
494
|
// Containers close when their children are done, never because a pull request mentions them.
|
|
392
495
|
const activeChildren = new Map();
|
|
393
|
-
for (const item of
|
|
496
|
+
for (const item of items.values()) {
|
|
394
497
|
const parent = item.parent;
|
|
395
498
|
if (typeof parent === "string" && !TERMINAL_STATUSES.includes(item.status))
|
|
396
499
|
activeChildren.set(parent, (activeChildren.get(parent) ?? 0) + 1);
|
|
@@ -398,35 +501,51 @@ export async function runCloseout(pmRoot, repo, options, api) {
|
|
|
398
501
|
const plan = [];
|
|
399
502
|
const checks = [];
|
|
400
503
|
const closures = [];
|
|
504
|
+
const candidates = new Map();
|
|
505
|
+
const unreadable = [];
|
|
401
506
|
for (const number of [...new Set(numbers)].sort((a, b) => a - b)) {
|
|
402
|
-
|
|
403
|
-
|
|
507
|
+
let evidence;
|
|
508
|
+
try {
|
|
509
|
+
evidence = await payload(api, `/repos/${repo}/pulls/${number}`);
|
|
510
|
+
}
|
|
511
|
+
catch {
|
|
512
|
+
unreadable.push(number);
|
|
513
|
+
continue;
|
|
514
|
+
}
|
|
515
|
+
const pr = pullRequest(evidence, repo, number);
|
|
516
|
+
let gate = { pr: number, code: "incomplete_merge", rule: "unavailable", ok: false, passed: [], reason: `Missing or invalid merge evidence: ${mergeEvidenceGaps(pr).join(", ")}.` };
|
|
404
517
|
if (mergeEvidence(pr))
|
|
405
518
|
gate = await checkCloseoutHead(api, repo, pr, declared);
|
|
406
519
|
checks.push(gate);
|
|
407
|
-
const refs =
|
|
408
|
-
//
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
if (
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
520
|
+
const refs = deliveryReferences(pr.body ?? "", repo, items.keys());
|
|
521
|
+
// Commit messages can independently claim delivery. Missing commit evidence never upgrades a mention.
|
|
522
|
+
let messages = [];
|
|
523
|
+
let commitsReadable = false;
|
|
524
|
+
try {
|
|
525
|
+
if (pr.merged !== false) {
|
|
526
|
+
const commits = await pages(api, `/repos/${repo}/pulls/${number}/commits?per_page=100`);
|
|
527
|
+
if (pr.commits === null || commits.length !== pr.commits)
|
|
528
|
+
throw new Error("Incomplete commit evidence.");
|
|
529
|
+
messages = commits.map(value => text(record(record(value).commit).message));
|
|
530
|
+
commitsReadable = true;
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
catch { /* Retain description references; unresolved commit evidence is held during attribution. */ }
|
|
534
|
+
for (const ref of deliveryReferences(messages.join("\n"), repo, items.keys())) {
|
|
535
|
+
const existing = refs.find(entry => entry.item === ref.item && entry.repo.toLowerCase() === ref.repo.toLowerCase());
|
|
536
|
+
if (existing)
|
|
537
|
+
existing.declared ||= ref.declared;
|
|
538
|
+
else
|
|
539
|
+
refs.push(ref);
|
|
418
540
|
}
|
|
541
|
+
// An unreadable commit set cannot prove that an item has no commit-only delivery link.
|
|
419
542
|
for (const item of items.values()) {
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
const ref = refs.find(ref => ref.item === item.id && ref.repo.toLowerCase() === repo.toLowerCase());
|
|
423
|
-
if (ref)
|
|
424
|
-
ref.declared = true;
|
|
425
|
-
else
|
|
426
|
-
refs.push({ item: item.id, repo, declared: true });
|
|
543
|
+
if ((item.tags.includes(`delivery-pr:${pr.html_url}`) || (!commitsReadable && pr.merged !== false)) && !refs.some(ref => ref.item === item.id && ref.repo.toLowerCase() === repo.toLowerCase())) {
|
|
544
|
+
refs.push({ item: item.id, repo, declared: false });
|
|
427
545
|
}
|
|
428
546
|
}
|
|
429
547
|
for (const ref of refs) {
|
|
548
|
+
const role = deliveryRole(ref.declared, items.get(ref.item)?.tags.includes(`delivery-pr:${pr.html_url}`) === true, commitsReadable);
|
|
430
549
|
let reason;
|
|
431
550
|
let code;
|
|
432
551
|
if (ref.repo.toLowerCase() !== repo.toLowerCase()) {
|
|
@@ -445,9 +564,9 @@ export async function runCloseout(pmRoot, repo, options, api) {
|
|
|
445
564
|
code = "already_terminal";
|
|
446
565
|
reason = "Item is already closed or canceled.";
|
|
447
566
|
}
|
|
448
|
-
else if (
|
|
449
|
-
code =
|
|
450
|
-
reason =
|
|
567
|
+
else if (pr.merged === false) {
|
|
568
|
+
code = "not_merged";
|
|
569
|
+
reason = "Pull request is confirmed unmerged and cannot deliver this item.";
|
|
451
570
|
}
|
|
452
571
|
else if (items.get(ref.item).type === "Epic") {
|
|
453
572
|
code = "epic";
|
|
@@ -457,9 +576,17 @@ export async function runCloseout(pmRoot, repo, options, api) {
|
|
|
457
576
|
code = "active_children";
|
|
458
577
|
reason = `Item has ${activeChildren.get(ref.item)} non-terminal child item(s).`;
|
|
459
578
|
}
|
|
460
|
-
else if (
|
|
579
|
+
else if (role === "context") {
|
|
461
580
|
code = "not_delivery";
|
|
462
|
-
reason = "Mentioned, not delivered. A mention is not delivery.
|
|
581
|
+
reason = "Mentioned, not delivered. A mention is not delivery. This fully inspected PR has no delivery claim and is context only.";
|
|
582
|
+
}
|
|
583
|
+
else if (!gate.ok) {
|
|
584
|
+
code = gate.code;
|
|
585
|
+
reason = gate.reason;
|
|
586
|
+
}
|
|
587
|
+
else if (role === "unresolved") {
|
|
588
|
+
code = "head_evidence_unavailable";
|
|
589
|
+
reason = "Commit delivery evidence unavailable or incomplete.";
|
|
463
590
|
}
|
|
464
591
|
else {
|
|
465
592
|
reason = gate.reason;
|
|
@@ -472,58 +599,154 @@ export async function runCloseout(pmRoot, repo, options, api) {
|
|
|
472
599
|
actualResult: `Merged at ${pr.merged_at}; ${checkEvidence(gate)}`,
|
|
473
600
|
});
|
|
474
601
|
plan.push(row);
|
|
602
|
+
const group = candidates.get(ref.item) ?? [];
|
|
603
|
+
group.push({ row, pr, declared: ref.declared, commitsReadable });
|
|
604
|
+
candidates.set(ref.item, group);
|
|
475
605
|
continue;
|
|
476
606
|
}
|
|
477
|
-
|
|
607
|
+
const row = { item: ref.item, pr: number, action: "skip", code, reason };
|
|
608
|
+
plan.push(row);
|
|
609
|
+
if (role !== "context" && pr.merged !== false && items.has(ref.item) && ref.repo.toLowerCase() === repo.toLowerCase()
|
|
610
|
+
&& !skip.has(ref.item) && !TERMINAL_STATUSES.includes(items.get(ref.item).status)
|
|
611
|
+
&& items.get(ref.item).type !== "Epic" && !activeChildren.has(ref.item)) {
|
|
612
|
+
const group = candidates.get(ref.item) ?? [];
|
|
613
|
+
group.push({ row, pr, declared: ref.declared, commitsReadable });
|
|
614
|
+
candidates.set(ref.item, group);
|
|
615
|
+
}
|
|
478
616
|
}
|
|
479
617
|
}
|
|
480
|
-
//
|
|
481
|
-
//
|
|
482
|
-
const
|
|
483
|
-
|
|
484
|
-
const
|
|
485
|
-
|
|
486
|
-
|
|
618
|
+
// A failed PR read can hide linkage and a competing claim. Retain its number for
|
|
619
|
+
// every active eligible item; without the PR evidence no item can be proved unrelated.
|
|
620
|
+
for (const number of unreadable) {
|
|
621
|
+
const url = `https://github.com/${repo}/pull/${number}`;
|
|
622
|
+
for (const item of items.values()) {
|
|
623
|
+
if (skip.has(item.id) || TERMINAL_STATUSES.includes(item.status) || item.type === "Epic" || activeChildren.has(item.id))
|
|
624
|
+
continue;
|
|
625
|
+
const row = { item: item.id, pr: number, action: "skip", code: "head_evidence_unavailable", reason: "Pull-request fetch failed; merge, linkage and delivery evidence unavailable." };
|
|
626
|
+
plan.push(row);
|
|
627
|
+
const group = candidates.get(item.id) ?? [];
|
|
628
|
+
group.push({ row, pr: { number, html_url: url, body: null, merged: true, merged_at: null, merge_commit_sha: null, commits: null,
|
|
629
|
+
head: { sha: "" }, base: { ref: "", repo: { full_name: repo } } }, declared: false, commitsReadable: false });
|
|
630
|
+
candidates.set(item.id, group);
|
|
487
631
|
}
|
|
488
632
|
}
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
633
|
+
// Resolve attribution before any SDK mutation; passing checks never break a delivery tie.
|
|
634
|
+
for (const [id, group] of candidates) {
|
|
635
|
+
const item = items.get(id);
|
|
636
|
+
const explicit = item.tags.filter(tag => tag.startsWith("delivery-pr:"));
|
|
637
|
+
const cutoff = await acceptanceChangedAt(pmRoot, id, documents.get(id));
|
|
638
|
+
await observer?.("history");
|
|
639
|
+
const plausible = group.filter(entry => !Number.isFinite(mergeTime(entry.pr.merged_at)) || mergeTime(entry.pr.merged_at) > cutoff);
|
|
640
|
+
const eligible = explicit.length > 0
|
|
641
|
+
? group.filter(entry => explicit.length === 1 && explicit[0] === `delivery-pr:${entry.pr.html_url}`)
|
|
642
|
+
: plausible.filter(entry => entry.declared);
|
|
643
|
+
const uncertain = explicit.length === 1 && eligible.length === 1 ? eligible : plausible;
|
|
644
|
+
const missing = uncertain.flatMap(entry => {
|
|
645
|
+
const gaps = ["incomplete_merge", "head_evidence_unavailable", "required_checks_unverified", "head_checks_failed"].includes(entry.row.code)
|
|
646
|
+
? [{ pr: entry.pr.number, code: entry.row.code, reason: entry.row.reason }] : [];
|
|
647
|
+
if (!entry.commitsReadable)
|
|
648
|
+
gaps.push({ pr: entry.pr.number, code: "head_evidence_unavailable", reason: "Commit delivery evidence unavailable or incomplete." });
|
|
649
|
+
return gaps;
|
|
650
|
+
});
|
|
651
|
+
// One item decision owns every candidate status. Evidence codes describe PR facts,
|
|
652
|
+
// but an unchosen PR cannot remain a fatal refusal after another PR wins.
|
|
653
|
+
const chosen = eligible.length === 1 && missing.length === 0 ? eligible[0].row : undefined;
|
|
654
|
+
if (chosen)
|
|
655
|
+
reportItemDecision(group.map(entry => entry.row), { kind: "chosen", row: chosen });
|
|
656
|
+
else if (group.length > 1 || explicit.length > 0 || missing.length > 0 || group[0].row.code !== "not_delivery") {
|
|
657
|
+
reportItemDecision(group.map(entry => entry.row), { kind: "blocking_hold",
|
|
658
|
+
reason: "Delivery attribution or chosen PR evidence is unresolved; set one delivery-pr:<canonical PR URL> tag or verify a unique delivery claim after the last acceptance-criteria change."
|
|
659
|
+
+ missing.map(gap => ` PR #${gap.pr}: ${gap.reason}`).join(""), missing });
|
|
494
660
|
}
|
|
495
661
|
}
|
|
662
|
+
await observer?.("selection");
|
|
496
663
|
let closed = 0;
|
|
497
664
|
let failed = 0;
|
|
665
|
+
const handled = new Set();
|
|
666
|
+
const dependentConflicts = new Map();
|
|
667
|
+
/** Replace stale decisions with one fresh selection, retaining a reason when linkage disappeared. */
|
|
668
|
+
async function reselect(id, pr) {
|
|
669
|
+
handled.add(id);
|
|
670
|
+
const fresh = await closeoutAttempt(pmRoot, repo, options, api, false, observer, id);
|
|
671
|
+
checks.splice(0, checks.length, ...fresh.checks);
|
|
672
|
+
const replacement = fresh.plan;
|
|
673
|
+
if (!replacement.some(row => row.item === id))
|
|
674
|
+
replacement.push({ item: id, pr, action: "needs_review", code: "needs_review",
|
|
675
|
+
candidates: [pr], reason: "Item revision changed; fresh selection found no delivery evidence. Hold for review." });
|
|
676
|
+
const replaced = new Set(replacement.map(row => row.item));
|
|
677
|
+
const retained = plan.filter(row => !replaced.has(row.item));
|
|
678
|
+
plan.splice(0, plan.length, ...retained, ...replacement);
|
|
679
|
+
closed += fresh.closed;
|
|
680
|
+
failed += fresh.failed;
|
|
681
|
+
}
|
|
498
682
|
if (apply) {
|
|
499
683
|
for (const entry of closures) {
|
|
500
|
-
if (entry.row.action !== "close")
|
|
684
|
+
if (entry.row.action !== "close" || (onlyItem !== undefined && entry.row.item !== onlyItem))
|
|
501
685
|
continue;
|
|
502
686
|
try {
|
|
503
|
-
await
|
|
504
|
-
|
|
505
|
-
|
|
687
|
+
await observer?.("before_close");
|
|
688
|
+
// The pinned SDK has no public close(expectedRevision). Its transactional hook runs
|
|
689
|
+
// inside the same per-item lock as lifecycle validation, persistence and history.
|
|
690
|
+
await runWithActiveExtensions({ path: pmRoot, noExtensions: true }, async () => {
|
|
691
|
+
setActiveExtensionHooks({ beforeCommand: [], afterCommand: [], onRead: [], onWrite: [], onIndex: [],
|
|
692
|
+
beforeMutation: [{ layer: "project", name: "closeout-revision", run: async (context) => {
|
|
693
|
+
await observer?.("locked");
|
|
694
|
+
// SDK close may also auto-unblock dependents. Every resulting write needs its own snapshot.
|
|
695
|
+
const before = context.before;
|
|
696
|
+
const id = before.metadata.id;
|
|
697
|
+
if (hashDocument(before) !== snapshots.get(id)) {
|
|
698
|
+
if (id !== entry.row.item)
|
|
699
|
+
dependentConflicts.set(id, entry.row.pr);
|
|
700
|
+
throw new PmCliError("Closeout item revision changed.", 1, { code: "closeout_revision_changed" });
|
|
701
|
+
}
|
|
702
|
+
} }],
|
|
703
|
+
});
|
|
704
|
+
await close(entry.row.item, entry.reason, { author: "pm-github", completedAt: entry.at,
|
|
705
|
+
resolution: entry.resolution, expectedResult: entry.expectedResult, actualResult: entry.actualResult,
|
|
706
|
+
}, { pmRoot, noExtensions: true });
|
|
707
|
+
});
|
|
506
708
|
closed++;
|
|
709
|
+
handled.add(entry.row.item);
|
|
507
710
|
}
|
|
508
711
|
catch (error) {
|
|
712
|
+
if (error instanceof PmCliError && (error.code === "closeout_revision_changed"
|
|
713
|
+
|| (error.code === undefined && error.exitCode === EXIT_CODE.CONFLICT))) {
|
|
714
|
+
if (retry) {
|
|
715
|
+
await reselect(entry.row.item, entry.row.pr);
|
|
716
|
+
continue;
|
|
717
|
+
}
|
|
718
|
+
reportItemDecision(plan.filter(row => row.item === entry.row.item && row.code !== "not_delivery"), { kind: "blocking_hold",
|
|
719
|
+
reason: "Item revision changed again after one delivery re-selection; hold for review.", missing: [] });
|
|
720
|
+
continue;
|
|
721
|
+
}
|
|
509
722
|
failed++;
|
|
510
|
-
|
|
511
|
-
entry.row.code
|
|
512
|
-
|
|
723
|
+
const reason = closeoutFailureReason(error);
|
|
724
|
+
reportItemDecision(plan.filter(row => row.item === entry.row.item && row.code !== "not_delivery"), { kind: "blocking_hold", reason,
|
|
725
|
+
missing: [{ pr: entry.row.pr, code: "close_failed", reason }] });
|
|
513
726
|
}
|
|
514
727
|
}
|
|
728
|
+
for (const [id, pr] of dependentConflicts) {
|
|
729
|
+
if (handled.has(id))
|
|
730
|
+
continue;
|
|
731
|
+
if (retry)
|
|
732
|
+
await reselect(id, pr);
|
|
733
|
+
else
|
|
734
|
+
plan.push({ item: id, pr, action: "needs_review", code: "needs_review", candidates: [pr],
|
|
735
|
+
reason: "Dependent item revision changed during re-selection; automatic unblock held for review." });
|
|
736
|
+
}
|
|
515
737
|
}
|
|
516
|
-
return { command: "github closeout", repo, dry_run: !apply,
|
|
738
|
+
return { command: "github closeout", repo, dry_run: !apply,
|
|
739
|
+
plan: onlyItem === undefined ? plan : plan.filter(row => row.item === onlyItem || dependentConflicts.has(row.item)), checks, closed, failed };
|
|
517
740
|
}
|
|
518
741
|
/** Keep actionable decisions and their checks while counting routine skips by stable code. */
|
|
519
742
|
export function compactCloseoutReport(report) {
|
|
520
743
|
const skipped = {};
|
|
521
744
|
const plan = report.plan.flatMap(row => {
|
|
522
|
-
if (["already_terminal", "other_repository", "duplicate_selection", "explicit_skip"].includes(row.code)) {
|
|
745
|
+
if (["already_terminal", "other_repository", "duplicate_selection", "explicit_skip", "not_merged"].includes(row.code)) {
|
|
523
746
|
skipped[row.code] = (skipped[row.code] ?? 0) + 1;
|
|
524
747
|
return [];
|
|
525
748
|
}
|
|
526
|
-
return [{ ...row, action: row.action === "
|
|
749
|
+
return [{ ...row, action: row.action === "skip" && row.code !== "not_delivery" ? "refuse" : row.action }];
|
|
527
750
|
});
|
|
528
751
|
const prs = new Set(plan.map(row => row.pr));
|
|
529
752
|
return { ...report, plan, skipped, checks: report.checks.filter(gate => prs.has(gate.pr)) };
|
package/dist/closeout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeout.js","sourceRoot":"","sources":["../closeout.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"closeout.js","sourceRoot":"","sources":["../closeout.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5307,7 +5307,7 @@ const PROJECT_SYNC_FLAGS = [
|
|
|
5307
5307
|
const defineExtension = (module) => module;
|
|
5308
5308
|
export default defineExtension({
|
|
5309
5309
|
name: "pm-github",
|
|
5310
|
-
version: "2026.10.
|
|
5310
|
+
version: "2026.10.25",
|
|
5311
5311
|
activate(api) {
|
|
5312
5312
|
// -----------------------------------------------------------------------
|
|
5313
5313
|
// schema — declare the GitHub provenance fields so the workspace knows them
|
package/manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pm-github",
|
|
3
|
-
"version": "2026.10.
|
|
3
|
+
"version": "2026.10.25",
|
|
4
4
|
"description": "GitHub Issues + Projects v2 integration. Imports issues as pm items (`pm github import`), exports pm items as GitHub issues, syncs issue state, and bidirectionally syncs pm items with a GitHub Projects v2 board (`pm github project import/sync/list/fields`) — mapping pm status to the board Status column with idempotent, no-data-loss provenance.",
|
|
5
5
|
"author": "@unbraind",
|
|
6
6
|
"entry": "./dist/index.js",
|