pm-brief 2026.6.10 → 2026.6.13
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 +22 -6
- package/README.md +14 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +254 -53
- package/dist/index.js.map +1 -1
- package/manifest.json +2 -1
- package/package.json +6 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 2026.6.
|
|
3
|
+
## 2026.6.13 - 2026-06-13
|
|
4
4
|
|
|
5
5
|
### Added
|
|
6
6
|
|
|
7
7
|
- Add max-tokens alias and dependency-aware ordering ([pm-brief-nu7u](https://github.com/unbraind/pm-brief/blob/main/.agents/pm/features/pm-brief-nu7u.toon))
|
|
8
|
+
- Add agent handoff prompt command to pm-brief ([pm-brief-am6l](https://github.com/unbraind/pm-brief/blob/main/.agents/pm/features/pm-brief-am6l.toon))
|
|
9
|
+
- Add evidence-weighted next-action ranking ([pm-brief-6xr0](https://github.com/unbraind/pm-brief/blob/main/.agents/pm/features/pm-brief-6xr0.toon))
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
### Fixed
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
- Fix release workflow staging when dist is gitignored ([pm-brief-bald](https://github.com/unbraind/pm-brief/blob/main/.agents/pm/tasks/pm-brief-bald.toon))
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
### Other
|
|
16
|
+
|
|
17
|
+
- Daily Release publish step runs prepublishOnly post-tag: align npm publish with --ignore-scripts ([pm-brief-k5em](https://github.com/unbraind/pm-brief/blob/main/.agents/pm/tasks/pm-brief-k5em.toon))
|
|
14
18
|
|
|
15
|
-
##
|
|
19
|
+
## Unreleased
|
|
16
20
|
|
|
17
21
|
### Added
|
|
18
22
|
|
|
19
|
-
-
|
|
23
|
+
- Add max-tokens alias and dependency-aware ordering ([pm-brief-nu7u](https://github.com/unbraind/pm-brief/blob/main/.agents/pm/features/pm-brief-nu7u.toon))
|
|
24
|
+
- Add agent handoff prompt command to pm-brief ([pm-brief-am6l](https://github.com/unbraind/pm-brief/blob/main/.agents/pm/features/pm-brief-am6l.toon))
|
|
25
|
+
- Add evidence-weighted next-action ranking ([pm-brief-6xr0](https://github.com/unbraind/pm-brief/blob/main/.agents/pm/features/pm-brief-6xr0.toon))
|
|
20
26
|
|
|
21
27
|
### Fixed
|
|
22
28
|
|
|
@@ -24,4 +30,14 @@
|
|
|
24
30
|
|
|
25
31
|
### Other
|
|
26
32
|
|
|
33
|
+
- Daily Release publish step runs prepublishOnly post-tag: align npm publish with --ignore-scripts ([pm-brief-k5em](https://github.com/unbraind/pm-brief/blob/main/.agents/pm/tasks/pm-brief-k5em.toon))
|
|
34
|
+
|
|
35
|
+
## 2026.6.7 - 2026-06-06
|
|
36
|
+
|
|
37
|
+
### Added
|
|
38
|
+
|
|
39
|
+
- Build pm-brief MVP ([pm-brief-ogmd](https://github.com/unbraind/pm-brief/blob/main/.agents/pm/features/pm-brief-ogmd.toon))
|
|
40
|
+
|
|
41
|
+
### Other
|
|
42
|
+
|
|
27
43
|
- Verify pm-brief release readiness ([pm-brief-sub4](https://github.com/unbraind/pm-brief/blob/main/.agents/pm/tasks/pm-brief-sub4.toon))
|
package/README.md
CHANGED
|
@@ -17,10 +17,12 @@ pm install github.com/unbraind/pm-brief --project
|
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
19
|
pm brief
|
|
20
|
+
pm brief prompt --focus pm-1234 --max-tokens 2500
|
|
20
21
|
pm brief --max-tokens 4000 --format markdown
|
|
21
22
|
pm brief --dependency-order --format markdown
|
|
22
23
|
pm brief --focus pm-1234 --include-closed --format json
|
|
23
|
-
pm brief next --count 5 --dependency-order --
|
|
24
|
+
pm brief next --count 5 --dependency-order --explain --confidence
|
|
25
|
+
pm brief next --count 5 --format json
|
|
24
26
|
pm brief next --count 5 --explain --format text
|
|
25
27
|
pm brief stale --days 7
|
|
26
28
|
```
|
|
@@ -28,6 +30,7 @@ pm brief stale --days 7
|
|
|
28
30
|
## Commands
|
|
29
31
|
|
|
30
32
|
- `pm brief` renders a markdown or JSON project brief.
|
|
33
|
+
- `pm brief prompt` renders a compact copy-pasteable agent handoff prompt.
|
|
31
34
|
- `pm brief next` returns the ranked next items only.
|
|
32
35
|
- `pm brief stale` returns stale open or in-progress items.
|
|
33
36
|
|
|
@@ -37,11 +40,14 @@ pm brief stale --days 7
|
|
|
37
40
|
- `--dependency-order` prefers prerequisite items before dependent work in next-work ranking.
|
|
38
41
|
- `pm brief next --explain` adds transparent score and dependency signals for each ranked item.
|
|
39
42
|
- `pm brief` emits a `Brief Insights` section when focus ids are missing, closed focus items are excluded, or active filters hide all open work.
|
|
43
|
+
- `--explain` on `pm brief next` includes compact ranking evidence such as unblockability, stale age, dependency fanout, release/deadline proximity, and linked docs/files.
|
|
44
|
+
- `--confidence` on `pm brief next` includes the confidence score behind each recommendation.
|
|
40
45
|
|
|
41
46
|
## Agent Brief Contents
|
|
42
47
|
|
|
43
48
|
- workspace and item counts
|
|
44
49
|
- top next items with `whyNow` reasons
|
|
50
|
+
- evidence-weighted next-work score, confidence, and ranking reasons
|
|
45
51
|
- blocker relationships and dependency context
|
|
46
52
|
- stale context findings
|
|
47
53
|
- decision items that need human or agent follow-up
|
|
@@ -49,6 +55,13 @@ pm brief stale --days 7
|
|
|
49
55
|
- safe suggested pm commands, never auto-applied
|
|
50
56
|
- deterministic token-budget trimming
|
|
51
57
|
|
|
58
|
+
## Agent Handoff Prompt
|
|
59
|
+
|
|
60
|
+
`pm brief prompt` turns the same structured brief into direct next-turn
|
|
61
|
+
instructions for coding agents: ranked work, focus context, blockers, risks,
|
|
62
|
+
safe pm commands, and working rules. It is designed for handoffs where the next
|
|
63
|
+
agent needs executable context rather than a full project dump.
|
|
64
|
+
|
|
52
65
|
## TypeScript API
|
|
53
66
|
|
|
54
67
|
```ts
|
package/dist/index.d.ts
CHANGED
|
@@ -52,6 +52,9 @@ export interface BriefItem {
|
|
|
52
52
|
assignee?: string;
|
|
53
53
|
tags: string[];
|
|
54
54
|
whyNow: string;
|
|
55
|
+
rankingScore: number;
|
|
56
|
+
confidence: number;
|
|
57
|
+
rankingReasons: string[];
|
|
55
58
|
requiredContext: string[];
|
|
56
59
|
dependencyIds: string[];
|
|
57
60
|
dependentIds: string[];
|
|
@@ -61,8 +64,13 @@ export interface NextItemScoreBreakdown {
|
|
|
61
64
|
total: number;
|
|
62
65
|
priority: number;
|
|
63
66
|
blocked: number;
|
|
67
|
+
dependencies: number;
|
|
68
|
+
dependents: number;
|
|
64
69
|
active: number;
|
|
65
70
|
stale: number;
|
|
71
|
+
linkedEvidence: number;
|
|
72
|
+
release: number;
|
|
73
|
+
deadline: number;
|
|
66
74
|
}
|
|
67
75
|
export interface NextItemExplanation {
|
|
68
76
|
rank: number;
|
|
@@ -133,6 +141,7 @@ export declare function detectStaleContext(items: PmItem[], options?: BriefOptio
|
|
|
133
141
|
export declare function summarizeRisks(items: PmItem[], options?: BriefOptions): BriefRisk[];
|
|
134
142
|
export declare function buildBrief(items: PmItem[], options?: BriefOptions): AgentBrief;
|
|
135
143
|
export declare function renderMarkdownBrief(brief: AgentBrief): string;
|
|
144
|
+
export declare function renderAgentPrompt(brief: AgentBrief): string;
|
|
136
145
|
export declare function readPmItems(pmRoot: string): PmItem[];
|
|
137
146
|
declare const _default: {
|
|
138
147
|
name: string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS;;;CAGZ,CAAC;AAEX,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,EAAE,MAAM,CAAC;gBACL,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkC;CAK1E;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,13 @@ export class CommandError extends Error {
|
|
|
16
16
|
function text(value) {
|
|
17
17
|
return typeof value === "string" ? value.trim() : "";
|
|
18
18
|
}
|
|
19
|
+
function renderedCommandResult(output) {
|
|
20
|
+
return { pmBriefRendered: true, output: output.endsWith("\n") ? output : `${output}\n` };
|
|
21
|
+
}
|
|
22
|
+
function renderCommandResult(context) {
|
|
23
|
+
const result = context.result;
|
|
24
|
+
return result?.pmBriefRendered === true && typeof result.output === "string" ? result.output : null;
|
|
25
|
+
}
|
|
19
26
|
function asArray(value) {
|
|
20
27
|
if (Array.isArray(value))
|
|
21
28
|
return value.flatMap(asArray);
|
|
@@ -115,21 +122,114 @@ function ageDays(item, now) {
|
|
|
115
122
|
return 0;
|
|
116
123
|
return Math.max(0, Math.floor((now.getTime() - time) / 86_400_000));
|
|
117
124
|
}
|
|
125
|
+
function objectLinkPaths(value) {
|
|
126
|
+
if (!value)
|
|
127
|
+
return [];
|
|
128
|
+
if (typeof value === "string")
|
|
129
|
+
return asArray(value);
|
|
130
|
+
if (Array.isArray(value))
|
|
131
|
+
return value.flatMap(objectLinkPaths);
|
|
132
|
+
if (typeof value === "object") {
|
|
133
|
+
const record = value;
|
|
134
|
+
const path = text(record.path) || text(record.url) || text(record.href) || text(record.id);
|
|
135
|
+
return path ? [path] : [];
|
|
136
|
+
}
|
|
137
|
+
return [];
|
|
138
|
+
}
|
|
118
139
|
function linksFor(item) {
|
|
119
|
-
return [...
|
|
140
|
+
return uniqueStrings([...objectLinkPaths(item.docs), ...objectLinkPaths(item.files)]).slice(0, 6);
|
|
141
|
+
}
|
|
142
|
+
function uniqueStrings(values) {
|
|
143
|
+
return [...new Set(values)];
|
|
144
|
+
}
|
|
145
|
+
function isBlockingRelationship(rel) {
|
|
146
|
+
return rel.kind === "blocked_by" || rel.kind === "depends_on";
|
|
147
|
+
}
|
|
148
|
+
function activeItemIds(items) {
|
|
149
|
+
return new Set(items.filter((item) => !isClosed(item)).map((item) => item.id));
|
|
150
|
+
}
|
|
151
|
+
function deadlineScore(item, now) {
|
|
152
|
+
if (!item.deadline)
|
|
153
|
+
return { score: 0 };
|
|
154
|
+
const deadlineTime = Date.parse(item.deadline);
|
|
155
|
+
if (!Number.isFinite(deadlineTime))
|
|
156
|
+
return { score: 0 };
|
|
157
|
+
const msUntilDeadline = deadlineTime - now.getTime();
|
|
158
|
+
const daysUntilDeadline = msUntilDeadline < 0 ? Math.floor(msUntilDeadline / 86_400_000) : Math.ceil(msUntilDeadline / 86_400_000);
|
|
159
|
+
if (daysUntilDeadline < 0) {
|
|
160
|
+
return { score: 25, reason: `deadline_overdue:${Math.abs(daysUntilDeadline)}d` };
|
|
161
|
+
}
|
|
162
|
+
if (daysUntilDeadline <= 14) {
|
|
163
|
+
return { score: 20 - daysUntilDeadline, reason: `deadline_soon:${daysUntilDeadline}d` };
|
|
164
|
+
}
|
|
165
|
+
return { score: 0 };
|
|
120
166
|
}
|
|
121
|
-
function
|
|
122
|
-
const
|
|
123
|
-
|
|
167
|
+
function rankItem(item, rels, activeIds, now) {
|
|
168
|
+
const reasons = [];
|
|
169
|
+
let score = 0;
|
|
170
|
+
const priority = typeof item.priority === "number" ? item.priority : 5;
|
|
171
|
+
const priorityScore = Math.max(0, 100 - priority * 15);
|
|
172
|
+
score += priorityScore;
|
|
173
|
+
reasons.push(`priority:${priority}`);
|
|
174
|
+
const deps = activeDependencyCount(item, rels, activeIds);
|
|
175
|
+
const fanout = activeDependentCount(item, rels, activeIds);
|
|
176
|
+
const blocked = deps > 0 && rels.some((rel) => rel.from === item.id && isBlockingRelationship(rel) && activeIds.has(rel.to));
|
|
177
|
+
if (blocked) {
|
|
178
|
+
score -= 80;
|
|
179
|
+
reasons.push(`blocked_by_active_dependency:${deps}`);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
score += 45;
|
|
183
|
+
reasons.push("unblocked");
|
|
184
|
+
}
|
|
185
|
+
if (deps > 0) {
|
|
186
|
+
score -= deps * 20;
|
|
187
|
+
reasons.push(`active_dependencies:${deps}`);
|
|
188
|
+
}
|
|
189
|
+
if (fanout > 0) {
|
|
190
|
+
score += fanout * 8;
|
|
191
|
+
reasons.push(`unblocks_dependents:${fanout}`);
|
|
192
|
+
}
|
|
193
|
+
const status = statusOf(item).toLowerCase();
|
|
194
|
+
if (status === "in_progress") {
|
|
195
|
+
score += 20;
|
|
196
|
+
reasons.push("already_in_progress");
|
|
197
|
+
}
|
|
198
|
+
const stale = ageDays(item, now);
|
|
199
|
+
if (stale > 0) {
|
|
200
|
+
score += Math.min(stale, 30) * 1.5;
|
|
201
|
+
reasons.push(`stale_days:${stale}`);
|
|
202
|
+
}
|
|
203
|
+
const links = linksFor(item).length;
|
|
204
|
+
if (links > 0) {
|
|
205
|
+
score += Math.min(links, 4) * 6;
|
|
206
|
+
reasons.push(`linked_evidence:${links}`);
|
|
207
|
+
}
|
|
208
|
+
if (text(item.release)) {
|
|
209
|
+
score += 10;
|
|
210
|
+
reasons.push(`release:${text(item.release)}`);
|
|
211
|
+
}
|
|
212
|
+
const deadline = deadlineScore(item, now);
|
|
213
|
+
if (deadline.reason) {
|
|
214
|
+
score += deadline.score;
|
|
215
|
+
reasons.push(deadline.reason);
|
|
216
|
+
}
|
|
217
|
+
// Baseline 35 means "some pm metadata exists"; reasons, links, and timestamps raise confidence.
|
|
218
|
+
const confidence = Math.max(15, Math.min(100, 35 + reasons.length * 8 + Math.min(links, 4) * 5 + (itemUpdatedAt(item) ? 8 : 0)));
|
|
219
|
+
return { score: Math.round(score), confidence, reasons, blocked, activeDependencies: deps, activeDependents: fanout };
|
|
220
|
+
}
|
|
221
|
+
function toBriefItem(item, rels, allItems, now, activeIds, rankOverride) {
|
|
222
|
+
const dependencyIds = uniqueStrings(rels.filter((rel) => rel.from === item.id).map((rel) => rel.to));
|
|
223
|
+
const dependentIds = uniqueStrings(rels.filter((rel) => rel.to === item.id).map((rel) => rel.from));
|
|
124
224
|
const stale = ageDays(item, now);
|
|
125
|
-
const requiredContext = [
|
|
225
|
+
const requiredContext = uniqueStrings([
|
|
126
226
|
...dependencyIds.map((id) => `dependency:${id}`),
|
|
127
227
|
...dependentIds.map((id) => `dependent:${id}`),
|
|
128
228
|
...linksFor(item),
|
|
129
|
-
].slice(0, 8);
|
|
229
|
+
]).slice(0, 8);
|
|
130
230
|
const priority = typeof item.priority === "number" ? item.priority : undefined;
|
|
131
|
-
const
|
|
132
|
-
const whyNow = blocked
|
|
231
|
+
const rank = rankOverride ?? rankItem(item, rels, activeIds ?? activeItemIds(allItems), now);
|
|
232
|
+
const whyNow = rank.blocked
|
|
133
233
|
? "blocked: resolve prerequisite before implementation"
|
|
134
234
|
: priority !== undefined
|
|
135
235
|
? `priority ${priority}`
|
|
@@ -154,31 +254,44 @@ function toBriefItem(item, rels, allItems, now) {
|
|
|
154
254
|
assignee: text(item.assignee) || undefined,
|
|
155
255
|
tags: Array.isArray(item.tags) ? item.tags.map(String) : [],
|
|
156
256
|
whyNow,
|
|
257
|
+
rankingScore: rank.score,
|
|
258
|
+
confidence: rank.confidence,
|
|
259
|
+
rankingReasons: rank.reasons,
|
|
157
260
|
requiredContext,
|
|
158
261
|
dependencyIds,
|
|
159
262
|
dependentIds,
|
|
160
263
|
tokenCostEstimate: estimateTokens(compact),
|
|
161
264
|
};
|
|
162
265
|
}
|
|
163
|
-
function scoreBreakdown(item, rels, now) {
|
|
266
|
+
function scoreBreakdown(item, rels, activeIds, now, rank = rankItem(item, rels, activeIds, now)) {
|
|
164
267
|
const priority = typeof item.priority === "number" ? item.priority : 5;
|
|
165
|
-
const priorityScore = priority *
|
|
166
|
-
const
|
|
167
|
-
const
|
|
168
|
-
const
|
|
268
|
+
const priorityScore = Math.max(0, 100 - priority * 15);
|
|
269
|
+
const blockedScore = rank.blocked ? -80 : 45;
|
|
270
|
+
const dependencyScore = rank.activeDependencies > 0 ? rank.activeDependencies * -20 : 0;
|
|
271
|
+
const dependentScore = rank.activeDependents > 0 ? rank.activeDependents * 8 : 0;
|
|
272
|
+
const activeBoost = statusOf(item).toLowerCase() === "in_progress" ? 20 : 0;
|
|
273
|
+
const staleScore = Math.min(ageDays(item, now), 30) * 1.5;
|
|
274
|
+
const linkedEvidenceScore = Math.min(linksFor(item).length, 4) * 6;
|
|
275
|
+
const releaseScore = text(item.release) ? 10 : 0;
|
|
276
|
+
const deadline = deadlineScore(item, now).score;
|
|
169
277
|
return {
|
|
170
|
-
total:
|
|
278
|
+
total: rank.score,
|
|
171
279
|
priority: priorityScore,
|
|
172
|
-
blocked:
|
|
280
|
+
blocked: blockedScore,
|
|
281
|
+
dependencies: dependencyScore,
|
|
282
|
+
dependents: dependentScore,
|
|
173
283
|
active: activeBoost,
|
|
174
|
-
stale:
|
|
284
|
+
stale: staleScore,
|
|
285
|
+
linkedEvidence: linkedEvidenceScore,
|
|
286
|
+
release: releaseScore,
|
|
287
|
+
deadline,
|
|
175
288
|
};
|
|
176
289
|
}
|
|
177
290
|
function activeDependencyCount(item, rels, activeIds) {
|
|
178
|
-
return rels.filter((rel) => rel.from === item.id && activeIds.has(rel.to)).length;
|
|
291
|
+
return uniqueStrings(rels.filter((rel) => rel.from === item.id && isBlockingRelationship(rel) && activeIds.has(rel.to)).map((rel) => rel.to)).length;
|
|
179
292
|
}
|
|
180
293
|
function activeDependentCount(item, rels, activeIds) {
|
|
181
|
-
return rels.filter((rel) => rel.to === item.id && activeIds.has(rel.from)).length;
|
|
294
|
+
return uniqueStrings(rels.filter((rel) => rel.to === item.id && isBlockingRelationship(rel) && activeIds.has(rel.from)).map((rel) => rel.from)).length;
|
|
182
295
|
}
|
|
183
296
|
function filterCandidates(items, options) {
|
|
184
297
|
return items
|
|
@@ -186,16 +299,19 @@ function filterCandidates(items, options) {
|
|
|
186
299
|
.filter((item) => !options.assignee || text(item.assignee) === options.assignee)
|
|
187
300
|
.filter((item) => !options.statuses?.length || options.statuses.includes(statusOf(item)));
|
|
188
301
|
}
|
|
189
|
-
function rankCandidates(items, options, now, rels) {
|
|
302
|
+
function rankCandidates(items, options, now, rels, activeIds = activeItemIds(items)) {
|
|
190
303
|
const candidates = filterCandidates(items, options);
|
|
191
|
-
const activeIds = new Set(candidates.map((item) => item.id));
|
|
192
304
|
return candidates
|
|
193
|
-
.map((item) =>
|
|
194
|
-
item,
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
305
|
+
.map((item) => {
|
|
306
|
+
const rank = rankItem(item, rels, activeIds, now);
|
|
307
|
+
return {
|
|
308
|
+
item,
|
|
309
|
+
rank,
|
|
310
|
+
score: scoreBreakdown(item, rels, activeIds, now, rank),
|
|
311
|
+
activeDependencies: rank.activeDependencies,
|
|
312
|
+
activeDependents: rank.activeDependents,
|
|
313
|
+
};
|
|
314
|
+
})
|
|
199
315
|
.sort((a, b) => {
|
|
200
316
|
if (options.dependencyOrder) {
|
|
201
317
|
if (a.activeDependencies !== b.activeDependencies)
|
|
@@ -203,24 +319,26 @@ function rankCandidates(items, options, now, rels) {
|
|
|
203
319
|
if (a.activeDependents !== b.activeDependents)
|
|
204
320
|
return b.activeDependents - a.activeDependents;
|
|
205
321
|
}
|
|
206
|
-
return
|
|
322
|
+
return b.score.total - a.score.total || itemUpdatedAt(b.item).localeCompare(itemUpdatedAt(a.item)) || a.item.id.localeCompare(b.item.id);
|
|
207
323
|
});
|
|
208
324
|
}
|
|
209
325
|
export function selectNextItems(items, options = {}) {
|
|
210
326
|
const now = new Date(options.generatedAt ?? Date.now());
|
|
211
327
|
const rels = items.flatMap(extractRelationships);
|
|
212
|
-
|
|
328
|
+
const activeIds = activeItemIds(items);
|
|
329
|
+
return rankCandidates(items, options, now, rels, activeIds)
|
|
213
330
|
.slice(0, options.nextCount ?? 5)
|
|
214
|
-
.map((
|
|
331
|
+
.map((candidate) => toBriefItem(candidate.item, rels, items, now, activeIds, candidate.rank));
|
|
215
332
|
}
|
|
216
333
|
export function explainNextItems(items, options = {}) {
|
|
217
334
|
const now = new Date(options.generatedAt ?? Date.now());
|
|
218
335
|
const rels = items.flatMap(extractRelationships);
|
|
219
|
-
|
|
336
|
+
const activeIds = activeItemIds(items);
|
|
337
|
+
return rankCandidates(items, options, now, rels, activeIds)
|
|
220
338
|
.slice(0, options.nextCount ?? 5)
|
|
221
339
|
.map((candidate, index) => ({
|
|
222
340
|
rank: index + 1,
|
|
223
|
-
item: toBriefItem(candidate.item, rels, items, now),
|
|
341
|
+
item: toBriefItem(candidate.item, rels, items, now, activeIds, candidate.rank),
|
|
224
342
|
score: candidate.score,
|
|
225
343
|
activeDependencies: candidate.activeDependencies,
|
|
226
344
|
activeDependents: candidate.activeDependents,
|
|
@@ -373,8 +491,9 @@ export function buildBrief(items, options = {}) {
|
|
|
373
491
|
const generatedAt = options.generatedAt ?? new Date().toISOString();
|
|
374
492
|
const now = new Date(generatedAt);
|
|
375
493
|
const rels = items.flatMap(extractRelationships);
|
|
494
|
+
const activeIds = activeItemIds(items);
|
|
376
495
|
const focusSelection = selectedFocus(items, options);
|
|
377
|
-
const focus = focusSelection.items.map((item) => toBriefItem(item, rels, items, now));
|
|
496
|
+
const focus = focusSelection.items.map((item) => toBriefItem(item, rels, items, now, activeIds));
|
|
378
497
|
const next = selectNextItems(items, options);
|
|
379
498
|
const insights = buildInsights(items, options, focusSelection, next);
|
|
380
499
|
const blockers = rels
|
|
@@ -386,7 +505,7 @@ export function buildBrief(items, options = {}) {
|
|
|
386
505
|
const decisionsNeeded = items
|
|
387
506
|
.filter((item) => !isClosed(item) && typeOf(item).toLowerCase() === "decision")
|
|
388
507
|
.slice(0, 5)
|
|
389
|
-
.map((item) => toBriefItem(item, rels, items, now));
|
|
508
|
+
.map((item) => toBriefItem(item, rels, items, now, activeIds));
|
|
390
509
|
const staleContext = detectStaleContext(items, options).slice(0, 10);
|
|
391
510
|
const risks = summarizeRisks(items, options).slice(0, 12);
|
|
392
511
|
const recommendedPmUpdates = [
|
|
@@ -438,7 +557,7 @@ function formatSignedScoreValue(value) {
|
|
|
438
557
|
return `${value > 0 ? "+" : "-"}${abs}`;
|
|
439
558
|
}
|
|
440
559
|
function renderNextExplanationLine(entry) {
|
|
441
|
-
return `${entry.rank}. ${entry.item.id}: ${escapeLine(entry.item.title)} - ${entry.item.whyNow} [score ${formatScoreValue(entry.
|
|
560
|
+
return `${entry.rank}. ${entry.item.id}: ${escapeLine(entry.item.title)} - ${entry.item.whyNow} [score ${formatScoreValue(entry.item.rankingScore)}; confidence ${entry.item.confidence}; evidence ${entry.item.rankingReasons.join(", ")}; deps ${entry.activeDependencies}, dependents ${entry.activeDependents}]`;
|
|
442
561
|
}
|
|
443
562
|
export function renderMarkdownBrief(brief) {
|
|
444
563
|
const lines = [
|
|
@@ -461,7 +580,7 @@ export function renderMarkdownBrief(brief) {
|
|
|
461
580
|
if (brief.next.length === 0)
|
|
462
581
|
lines.push("_No open work matched the filters._");
|
|
463
582
|
for (const item of brief.next)
|
|
464
|
-
lines.push(`- ${item.id}: ${escapeLine(item.title)} (${item.type}, ${item.status}) - ${item.whyNow}`);
|
|
583
|
+
lines.push(`- ${item.id}: ${escapeLine(item.title)} (${item.type}, ${item.status}) - ${item.whyNow}; score ${item.rankingScore}; confidence ${item.confidence}`);
|
|
465
584
|
lines.push("", "## Focus", "");
|
|
466
585
|
if (brief.focus.length === 0)
|
|
467
586
|
lines.push("_No focus items._");
|
|
@@ -496,6 +615,52 @@ export function renderMarkdownBrief(brief) {
|
|
|
496
615
|
lines.push("");
|
|
497
616
|
return `${lines.join("\n")}\n`;
|
|
498
617
|
}
|
|
618
|
+
export function renderAgentPrompt(brief) {
|
|
619
|
+
const lines = [
|
|
620
|
+
"You are continuing work in a pm-managed project.",
|
|
621
|
+
"",
|
|
622
|
+
"Use pm as the source of truth. Before editing, inspect the listed item(s), keep pm history current, and update or close items with concrete evidence after verification.",
|
|
623
|
+
"",
|
|
624
|
+
"Context budget:",
|
|
625
|
+
`- requested=${brief.budget.requestedTokens} estimated=${brief.budget.estimatedTokens} truncated=${brief.budget.truncated}`,
|
|
626
|
+
`- workspace=${brief.workspace.root} pm=${brief.workspace.pmVersion} items=${brief.workspace.itemCount}`,
|
|
627
|
+
"",
|
|
628
|
+
"Next work:",
|
|
629
|
+
];
|
|
630
|
+
if (brief.next.length === 0)
|
|
631
|
+
lines.push("- No open work matched the filters.");
|
|
632
|
+
for (const item of brief.next) {
|
|
633
|
+
lines.push(`- ${item.id}: ${escapeLine(item.title)} (${item.type}, ${item.status}) because ${item.whyNow}; score=${item.rankingScore}; confidence=${item.confidence}`);
|
|
634
|
+
}
|
|
635
|
+
lines.push("", "Focus context:");
|
|
636
|
+
if (brief.focus.length === 0)
|
|
637
|
+
lines.push("- No explicit focus item.");
|
|
638
|
+
for (const item of brief.focus.slice(0, 5)) {
|
|
639
|
+
const context = item.requiredContext.length > 0 ? ` context=${item.requiredContext.join(",")}` : "";
|
|
640
|
+
lines.push(`- ${item.id}: ${escapeLine(item.title)}${context}`);
|
|
641
|
+
}
|
|
642
|
+
lines.push("", "Blockers and risks:");
|
|
643
|
+
if (brief.blockers.length === 0 && brief.risks.length === 0)
|
|
644
|
+
lines.push("- No visible blockers or metadata risks.");
|
|
645
|
+
for (const blocker of brief.blockers.slice(0, 5)) {
|
|
646
|
+
const label = blocker.title ? `${blocker.blockedBy} ${escapeLine(blocker.title)}` : blocker.blockedBy;
|
|
647
|
+
lines.push(`- blocker: ${blocker.itemId} ${blocker.kind} ${label}`);
|
|
648
|
+
}
|
|
649
|
+
for (const risk of brief.risks.slice(0, 5)) {
|
|
650
|
+
lines.push(`- ${risk.severity} risk: ${risk.itemId} ${risk.reason}`);
|
|
651
|
+
}
|
|
652
|
+
lines.push("", "Suggested pm commands:");
|
|
653
|
+
if (brief.recommendedPmUpdates.length === 0)
|
|
654
|
+
lines.push("- No suggested pm updates.");
|
|
655
|
+
for (const update of brief.recommendedPmUpdates.slice(0, 5)) {
|
|
656
|
+
lines.push(`- ${update.command} # ${update.reason}`);
|
|
657
|
+
}
|
|
658
|
+
lines.push("", "Working rules:");
|
|
659
|
+
lines.push("- Do not assume context outside pm items and linked files.");
|
|
660
|
+
lines.push("- Prefer the highest-ranked unblocked prerequisite before dependent work.");
|
|
661
|
+
lines.push("- Record meaningful decisions, tests, and blockers in pm before handing off.");
|
|
662
|
+
return `${lines.join("\n")}\n`;
|
|
663
|
+
}
|
|
499
664
|
export function readPmItems(pmRoot) {
|
|
500
665
|
const result = spawnSync("pm", ["--path", pmRoot, "list-all", "--json", "--include-body"], {
|
|
501
666
|
encoding: "utf-8",
|
|
@@ -513,8 +678,8 @@ function pmVersion() {
|
|
|
513
678
|
}
|
|
514
679
|
function registerCommands(api) {
|
|
515
680
|
const commonFlags = [
|
|
516
|
-
{ long: "--token-budget", value_name: "n", description: "Approximate maximum output token budget (alias: --max-tokens
|
|
517
|
-
{ long: "--max-tokens", value_name: "n", description: "Alias for --token-budget", type: "string" },
|
|
681
|
+
{ long: "--token-budget", value_name: "n", description: "Approximate maximum output token budget (alias: --max-tokens; default: 4000 for brief, 2500 for prompt)", type: "string" },
|
|
682
|
+
{ long: "--max-tokens", value_name: "n", description: "Alias for --token-budget (default: 4000 for brief, 2500 for prompt)", type: "string" },
|
|
518
683
|
{ long: "--focus", value_name: "id", description: "Focus item id (repeatable or comma-separated)", type: "string" },
|
|
519
684
|
{ long: "--status", value_name: "status", description: "Statuses to include (comma-separated)", type: "string" },
|
|
520
685
|
{ long: "--assignee", value_name: "name", description: "Only include items assigned to this actor", type: "string" },
|
|
@@ -549,11 +714,40 @@ function registerCommands(api) {
|
|
|
549
714
|
});
|
|
550
715
|
const output = format === "json" ? `${JSON.stringify(brief, null, 2)}\n` : renderMarkdownBrief(brief);
|
|
551
716
|
const outputPath = readString(options, "output");
|
|
552
|
-
if (outputPath)
|
|
717
|
+
if (outputPath) {
|
|
718
|
+
writeFileSync(outputPath, output, "utf-8");
|
|
719
|
+
return { ok: true, format, output: outputPath, next: brief.next.length, risks: brief.risks.length, truncated: brief.budget.truncated };
|
|
720
|
+
}
|
|
721
|
+
return renderedCommandResult(output);
|
|
722
|
+
},
|
|
723
|
+
});
|
|
724
|
+
api.registerCommand({
|
|
725
|
+
name: "brief prompt",
|
|
726
|
+
description: "Render a compact copy-pasteable agent handoff prompt from pm state.",
|
|
727
|
+
intent: "turn pm state into executable next-turn instructions for coding agents",
|
|
728
|
+
examples: ["pm brief prompt", "pm brief prompt --focus pm-1234 --max-tokens 2000", "pm brief prompt --dependency-order --output HANDOFF.md"],
|
|
729
|
+
flags: commonFlags.filter((flag) => flag.long !== "--format"),
|
|
730
|
+
async run(ctx) {
|
|
731
|
+
const options = ctx.options;
|
|
732
|
+
const brief = buildBrief(readPmItems(ctx.pm_root), {
|
|
733
|
+
tokenBudget: readInt(options, ["token-budget", "tokenBudget", "max-tokens", "maxTokens"], 2500),
|
|
734
|
+
dependencyOrder: readBool(options, "dependency-order", "dependencyOrder"),
|
|
735
|
+
focusIds: asArray(options.focus),
|
|
736
|
+
statuses: asArray(options.status),
|
|
737
|
+
assignee: readString(options, "assignee"),
|
|
738
|
+
includeClosed: readBool(options, "include-closed", "includeClosed"),
|
|
739
|
+
staleDays: readNonNegativeInt(options, ["stale-days", "staleDays"], 7),
|
|
740
|
+
generatedAt: new Date().toISOString(),
|
|
741
|
+
pmRoot: ctx.pm_root,
|
|
742
|
+
pmVersion: pmVersion(),
|
|
743
|
+
});
|
|
744
|
+
const output = renderAgentPrompt(brief);
|
|
745
|
+
const outputPath = readString(options, "output");
|
|
746
|
+
if (outputPath) {
|
|
553
747
|
writeFileSync(outputPath, output, "utf-8");
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
return
|
|
748
|
+
return { ok: true, format: "prompt", output: outputPath, next: brief.next.length, risks: brief.risks.length, truncated: brief.budget.truncated };
|
|
749
|
+
}
|
|
750
|
+
return renderedCommandResult(output);
|
|
557
751
|
},
|
|
558
752
|
});
|
|
559
753
|
api.registerCommand({
|
|
@@ -564,7 +758,8 @@ function registerCommands(api) {
|
|
|
564
758
|
{ long: "--count", short: "-n", value_name: "n", description: "Number of next items (default: 5)", type: "string" },
|
|
565
759
|
{ long: "--assignee", value_name: "name", description: "Only include items assigned to this actor", type: "string" },
|
|
566
760
|
{ long: "--dependency-order", description: "Prefer prerequisite work before dependents", type: "boolean" },
|
|
567
|
-
{ long: "--explain", description: "Include
|
|
761
|
+
{ long: "--explain", description: "Include compact ranking evidence in text output", type: "boolean" },
|
|
762
|
+
{ long: "--confidence", description: "Include ranking confidence in text output", type: "boolean" },
|
|
568
763
|
{ long: "--format", value_name: "format", description: "Output format: text or json", type: "string" },
|
|
569
764
|
],
|
|
570
765
|
async run(ctx) {
|
|
@@ -579,19 +774,23 @@ function registerCommands(api) {
|
|
|
579
774
|
generatedAt: new Date().toISOString(),
|
|
580
775
|
};
|
|
581
776
|
const allItems = readPmItems(ctx.pm_root);
|
|
582
|
-
const next = selectNextItems(allItems, nextOptions);
|
|
583
777
|
const explain = readBool(options, "explain");
|
|
778
|
+
const confidence = readBool(options, "confidence");
|
|
584
779
|
const explained = explain ? explainNextItems(allItems, nextOptions) : [];
|
|
780
|
+
const next = explain ? explained.map((entry) => entry.item) : selectNextItems(allItems, nextOptions);
|
|
585
781
|
if (format === "json") {
|
|
586
782
|
const payload = explain ? { next, explanations: explained } : { next };
|
|
587
|
-
|
|
588
|
-
return { next: next.length, format };
|
|
783
|
+
return renderedCommandResult(`${JSON.stringify(payload, null, 2)}\n`);
|
|
589
784
|
}
|
|
590
785
|
const textOutput = explain
|
|
591
786
|
? explained.map((entry) => renderNextExplanationLine(entry)).join("\n")
|
|
592
|
-
: next.map((item) =>
|
|
593
|
-
|
|
594
|
-
|
|
787
|
+
: next.map((item) => {
|
|
788
|
+
const parts = [`${item.id}: ${escapeLine(item.title)} - ${item.whyNow}`, `score ${item.rankingScore}`];
|
|
789
|
+
if (confidence)
|
|
790
|
+
parts.push(`confidence ${item.confidence}`);
|
|
791
|
+
return parts.join(" | ");
|
|
792
|
+
}).join("\n");
|
|
793
|
+
return renderedCommandResult(`${textOutput}\n`);
|
|
595
794
|
},
|
|
596
795
|
});
|
|
597
796
|
api.registerCommand({
|
|
@@ -612,20 +811,22 @@ function registerCommands(api) {
|
|
|
612
811
|
generatedAt: new Date().toISOString(),
|
|
613
812
|
});
|
|
614
813
|
if (format === "json") {
|
|
615
|
-
|
|
616
|
-
return { stale: stale.length, format };
|
|
814
|
+
return renderedCommandResult(`${JSON.stringify({ stale }, null, 2)}\n`);
|
|
617
815
|
}
|
|
618
|
-
|
|
619
|
-
return { stale: stale.length, format };
|
|
816
|
+
return renderedCommandResult(`${stale.map((item) => `${item.itemId}: ${escapeLine(item.title)} - ${item.daysStale} day(s) stale`).join("\n")}\n`);
|
|
620
817
|
},
|
|
621
818
|
});
|
|
622
819
|
}
|
|
623
820
|
export default defineExtension({
|
|
624
821
|
name: "pm-brief",
|
|
625
|
-
version: "2026.6.
|
|
822
|
+
version: "2026.6.13",
|
|
626
823
|
description: "Token-budgeted agent briefs and next-work plans for pm workspaces",
|
|
627
824
|
activate(api) {
|
|
628
825
|
registerCommands(api);
|
|
826
|
+
if (typeof api.registerRenderer === "function") {
|
|
827
|
+
api.registerRenderer("toon", renderCommandResult);
|
|
828
|
+
api.registerRenderer("json", renderCommandResult);
|
|
829
|
+
}
|
|
629
830
|
},
|
|
630
831
|
});
|
|
631
832
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/manifest.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pm-brief",
|
|
3
|
-
"version": "2026.6.
|
|
3
|
+
"version": "2026.6.13",
|
|
4
4
|
"description": "Token-budgeted agent briefs and next-work plans for pm workspaces",
|
|
5
5
|
"author": "@unbraind",
|
|
6
6
|
"entry": "dist/index.js",
|
|
7
7
|
"capabilities": [
|
|
8
8
|
"commands",
|
|
9
|
+
"renderers",
|
|
9
10
|
"schema"
|
|
10
11
|
],
|
|
11
12
|
"compatibility": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pm-brief",
|
|
3
|
-
"version": "2026.6.
|
|
3
|
+
"version": "2026.6.13",
|
|
4
4
|
"description": "Token-budgeted agent briefs and next-work plans for pm workspaces",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"pack:dry-run": "npm pack --dry-run",
|
|
24
24
|
"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-brief/blob/main/.agents/pm",
|
|
25
25
|
"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-brief/blob/main/.agents/pm",
|
|
26
|
-
"changelog:check": "
|
|
26
|
+
"changelog:check": "npm run changelog -- --check",
|
|
27
27
|
"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-brief/blob/main/.agents/pm --pm-bin ./node_modules/.bin/pm --github-step-summary",
|
|
28
28
|
"release:check": "npm run typecheck && npm run build && npm test && npm run audit:prod && npm run pack:dry-run && npm run changelog:check",
|
|
29
29
|
"prepublishOnly": "npm run release:check"
|
|
@@ -50,13 +50,9 @@
|
|
|
50
50
|
"engines": {
|
|
51
51
|
"node": ">=20.0.0"
|
|
52
52
|
},
|
|
53
|
-
"peerDependencies": {
|
|
54
|
-
"@unbrained/pm-cli": ">=2026.6.7"
|
|
55
|
-
},
|
|
56
53
|
"devDependencies": {
|
|
57
54
|
"@types/node": "^25.9.2",
|
|
58
|
-
"
|
|
59
|
-
"pm-changelog": "^2026.6.8",
|
|
55
|
+
"pm-changelog": "^2026.6.13",
|
|
60
56
|
"typescript": "^6.0.3"
|
|
61
57
|
},
|
|
62
58
|
"pm": {
|
|
@@ -96,5 +92,8 @@
|
|
|
96
92
|
},
|
|
97
93
|
"publishConfig": {
|
|
98
94
|
"access": "public"
|
|
95
|
+
},
|
|
96
|
+
"dependencies": {
|
|
97
|
+
"@unbrained/pm-cli": "^2026.6.12"
|
|
99
98
|
}
|
|
100
99
|
}
|