@renaiss-shipflow/cli 0.11.0 → 0.15.0
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/dist/client.d.ts +8 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +3 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/stats.d.ts.map +1 -1
- package/dist/commands/stats.js +25 -1
- package/dist/commands/stats.js.map +1 -1
- package/dist/commands/test.d.ts +10 -0
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +52 -14
- package/dist/commands/test.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -0
- package/dist/config.js.map +1 -1
- package/dist/escalation-format.d.ts +69 -12
- package/dist/escalation-format.d.ts.map +1 -1
- package/dist/escalation-format.js +145 -18
- package/dist/escalation-format.js.map +1 -1
- package/dist/packet.d.ts +9 -3
- package/dist/packet.d.ts.map +1 -1
- package/dist/packet.js +39 -22
- package/dist/packet.js.map +1 -1
- package/dist/review-contract-data.d.ts +91 -0
- package/dist/review-contract-data.d.ts.map +1 -0
- package/dist/review-contract-data.js +111 -0
- package/dist/review-contract-data.js.map +1 -0
- package/dist/review-contract.d.ts +10 -3
- package/dist/review-contract.d.ts.map +1 -1
- package/dist/review-contract.js +10 -0
- package/dist/review-contract.js.map +1 -1
- package/package.json +1 -1
|
@@ -47,10 +47,11 @@ line) {
|
|
|
47
47
|
return null; // not a real multi-item list
|
|
48
48
|
return lead ? `${lead}\n\n${items.join("\n")}` : items.join("\n");
|
|
49
49
|
}
|
|
50
|
-
/** Why each escalation class is gated on a human. Rendered verbatim
|
|
51
|
-
*
|
|
52
|
-
* and never depends on how verbose a given reviewer subagent
|
|
53
|
-
* motivated by rental-portal#121's bare "money-write risk —
|
|
50
|
+
/** Why each escalation class is gated on a human. Rendered verbatim inside a
|
|
51
|
+
* folded "Why a human must decide — <category>" details block so the rationale
|
|
52
|
+
* is standardized and never depends on how verbose a given reviewer subagent
|
|
53
|
+
* felt (issue #58, motivated by rental-portal#121's bare "money-write risk —
|
|
54
|
+
* see the issue body"). */
|
|
54
55
|
export const ESCALATION_CATEGORIES = {
|
|
55
56
|
"money-write": "Enabling this writes real money-bearing values (prices, payouts, billing) to live systems. " +
|
|
56
57
|
"A bad value reaches customers immediately, and transactions made at a wrong value can't be " +
|
|
@@ -67,6 +68,49 @@ export const ESCALATION_CATEGORIES = {
|
|
|
67
68
|
invalid: "The issue looks invalid, duplicate, or out of scope; closing someone's issue is a judgment " +
|
|
68
69
|
"call the loop leaves to a human.",
|
|
69
70
|
};
|
|
71
|
+
/** Names the Action-needed section, tolerating LLM heading drift (emoji, case,
|
|
72
|
+
* colons, extra decoration). Single source of truth for the fold (what stays
|
|
73
|
+
* visible), the word-cap lint (which lines it applies to), and the
|
|
74
|
+
* missing-section check — sharing it means a section can never render
|
|
75
|
+
* unfolded while escaping the cap, or vice versa. */
|
|
76
|
+
export function isActionHeading(heading) {
|
|
77
|
+
return /action\s+needed/i.test(heading);
|
|
78
|
+
}
|
|
79
|
+
/** Progressive disclosure (issue #166): the on-screen comment is the banner, the
|
|
80
|
+
* owner, and the Action-needed steps — every other `###` section collapses into
|
|
81
|
+
* a closed `<details>` block, one click away. Prompt-side brevity contracts
|
|
82
|
+
* alone didn't hold (the reviewer still wrote walls of text), so the fold is
|
|
83
|
+
* enforced here where it can't drift. Sections matching "action needed" stay
|
|
84
|
+
* visible, as does any lead text before the first heading; if NO section
|
|
85
|
+
* matches, the first section stays visible so a fold can never hide the whole
|
|
86
|
+
* reason. Reasons without `###` headings pass through untouched. */
|
|
87
|
+
export function foldSecondarySections(reason) {
|
|
88
|
+
if (!/^###\s/m.test(reason))
|
|
89
|
+
return reason;
|
|
90
|
+
const sections = [{ heading: null, lines: [] }];
|
|
91
|
+
for (const line of reason.split("\n")) {
|
|
92
|
+
if (/^###\s/.test(line))
|
|
93
|
+
sections.push({ heading: line.replace(/^#+\s*/, "").trim(), lines: [] });
|
|
94
|
+
else
|
|
95
|
+
sections[sections.length - 1].lines.push(line);
|
|
96
|
+
}
|
|
97
|
+
const anyAction = sections.some((s) => s.heading && isActionHeading(s.heading));
|
|
98
|
+
let firstHeaded = true;
|
|
99
|
+
const rendered = sections
|
|
100
|
+
.map((s) => {
|
|
101
|
+
const body = s.lines.join("\n").trim();
|
|
102
|
+
if (s.heading === null)
|
|
103
|
+
return body; // lead text — always visible
|
|
104
|
+
const visible = anyAction ? isActionHeading(s.heading) : firstHeaded;
|
|
105
|
+
firstHeaded = false;
|
|
106
|
+
if (visible)
|
|
107
|
+
return `### ${s.heading}\n${body}`;
|
|
108
|
+
// Blank line after <summary> is required for GitHub to render the markdown inside.
|
|
109
|
+
return `<details>\n<summary><b>${s.heading}</b></summary>\n\n${body}\n\n</details>`;
|
|
110
|
+
})
|
|
111
|
+
.filter(Boolean);
|
|
112
|
+
return rendered.join("\n\n");
|
|
113
|
+
}
|
|
70
114
|
/** Canonical GitHub login: trimmed, leading @ stripped, empty collapsed to
|
|
71
115
|
* undefined — so "@gemscng", " gemscng " and "gemscng" all render as one
|
|
72
116
|
* consistent `@gemscng` (comment body, console line, and JSON alike). */
|
|
@@ -74,10 +118,39 @@ export function normalizeOwner(raw) {
|
|
|
74
118
|
const login = (raw ?? "").trim().replace(/^@/, "");
|
|
75
119
|
return login || undefined;
|
|
76
120
|
}
|
|
121
|
+
/** The visible part of the comment must read in one breath per line: any line
|
|
122
|
+
* in the Action-needed section over this many words is dense prose, not a step
|
|
123
|
+
* (the contract caps sentences at ~20 words; 30 leaves room for a code ref). */
|
|
124
|
+
export const ACTION_LINE_WORD_LIMIT = 30;
|
|
125
|
+
/** Lines of the Action-needed section(s) that exceed ACTION_LINE_WORD_LIMIT
|
|
126
|
+
* words. Only those sections are checked — they're the part that renders
|
|
127
|
+
* unfolded, and the fix for an overlong step is precisely to move detail into
|
|
128
|
+
* a folded section. An inline code span collapses to one word before counting:
|
|
129
|
+
* the cap measures prose, and an exact runnable command (which the contract
|
|
130
|
+
* requires for action escalations) must not blow it. Every section whose
|
|
131
|
+
* heading matches "action needed" is checked, not just the first — heading
|
|
132
|
+
* drift can produce more than one. */
|
|
133
|
+
export function overlongActionLines(reason) {
|
|
134
|
+
const offenders = [];
|
|
135
|
+
let inActionSection = false;
|
|
136
|
+
for (const line of reason.split("\n")) {
|
|
137
|
+
if (/^###\s/.test(line)) {
|
|
138
|
+
inActionSection = isActionHeading(line);
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
if (!inActionSection)
|
|
142
|
+
continue;
|
|
143
|
+
const prose = line.replace(/`[^`]+`/g, "code");
|
|
144
|
+
if (prose.split(/\s+/).filter(Boolean).length > ACTION_LINE_WORD_LIMIT)
|
|
145
|
+
offenders.push(line.trim());
|
|
146
|
+
}
|
|
147
|
+
return offenders;
|
|
148
|
+
}
|
|
77
149
|
/** Deterministic quality gate on an escalation reason — pure string checks, no
|
|
78
150
|
* AI. Returns one message per problem (empty array = clean). The rules encode
|
|
79
151
|
* the loop contract: no open questions without a recommendation, no pointers
|
|
80
|
-
* out of the comment, structured reasons lead with the action
|
|
152
|
+
* out of the comment, structured reasons lead with the action, and the visible
|
|
153
|
+
* action steps stay short enough to read without effort (issue #166). */
|
|
81
154
|
export function lintEscalationReason(reason) {
|
|
82
155
|
const r = reason.trim();
|
|
83
156
|
const problems = [];
|
|
@@ -93,12 +166,58 @@ export function lintEscalationReason(reason) {
|
|
|
93
166
|
}
|
|
94
167
|
// Tolerant match: subagents drift on heading spelling (case, emoji, colon);
|
|
95
168
|
// a substantively action-first reason must not be rejected.
|
|
96
|
-
if (r.includes("\n") &&
|
|
169
|
+
if (r.includes("\n") && !r.split("\n").some((l) => /^###\s/.test(l) && isActionHeading(l))) {
|
|
97
170
|
problems.push('structured reason is missing the "### 👤 Action needed" section — lead with the concrete steps');
|
|
98
171
|
}
|
|
172
|
+
for (const line of overlongActionLines(r)) {
|
|
173
|
+
problems.push(`"Action needed" line over ${ACTION_LINE_WORD_LIMIT} words ("${line.slice(0, 60)}…") — ` +
|
|
174
|
+
'a step must read in one breath; move the detail to "### Why it\'s blocked" (it renders folded)');
|
|
175
|
+
}
|
|
99
176
|
return problems;
|
|
100
177
|
}
|
|
101
|
-
|
|
178
|
+
/** Parse a human's structured per-decision reply on a `needs-human` issue into
|
|
179
|
+
* the decisions they answered (issue #60). The loop maps each answer back to the
|
|
180
|
+
* escalation's numbered decisions, so a reply like
|
|
181
|
+
*
|
|
182
|
+
* 1: frankfurter
|
|
183
|
+
* 3: me
|
|
184
|
+
*
|
|
185
|
+
* resolves decisions 1 and 3 and leaves the rest escalated (partial answers stay
|
|
186
|
+
* escalated with the remaining items). Accepted input, whitespace-tolerant throughout:
|
|
187
|
+
* - one decision per line — `N: answer`;
|
|
188
|
+
* - several on one line, comma-separated — `1: frankfurter, 3: me`;
|
|
189
|
+
* - only the FIRST colon splits the number from the answer, so an answer may
|
|
190
|
+
* itself contain colons (`1: use frankfurter: free tier` → n=1,
|
|
191
|
+
* answer="use frankfurter: free tier");
|
|
192
|
+
* - a comma only starts a new decision when a `N:` marker follows it, so an
|
|
193
|
+
* answer may contain commas (`1: A, B or C`) as long as no `N:` follows one.
|
|
194
|
+
* A line that does not START with `N:` is chatter and ignored — a non-numeric
|
|
195
|
+
* prefix ("option 1: x", "see step 2: …") is NOT a decision. No decisions → `[]`.
|
|
196
|
+
* Duplicate N → **last wins**: a later answer for the same decision overrides the
|
|
197
|
+
* earlier one, keeping the decision at its first-seen position. */
|
|
198
|
+
export function parseDecisionReplies(body) {
|
|
199
|
+
if (!body)
|
|
200
|
+
return []; // null/undefined/empty body — no decisions
|
|
201
|
+
const byNumber = new Map();
|
|
202
|
+
// A decision marker opens the line or follows a comma; its answer runs lazily
|
|
203
|
+
// to the next marker (or end of line), so the first colon splits and commas
|
|
204
|
+
// inside an answer survive unless a real `N:` marker follows them.
|
|
205
|
+
const marker = /(?:^|,)\s*(\d+)\s*:\s*([^]*?)(?=,\s*\d+\s*:|$)/g;
|
|
206
|
+
for (const line of body.split("\n")) {
|
|
207
|
+
if (!/^\s*\d+\s*:/.test(line))
|
|
208
|
+
continue; // not a decision line — chatter, skip
|
|
209
|
+
for (const m of line.matchAll(marker)) {
|
|
210
|
+
const answer = m[2].trim();
|
|
211
|
+
if (answer)
|
|
212
|
+
byNumber.set(Number(m[1]), answer); // last-wins on a duplicate N
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return [...byNumber].map(([n, answer]) => ({ n, answer }));
|
|
216
|
+
}
|
|
217
|
+
// The "🚧 **Needs a human**" prefix is load-bearing: findLatestEscalationComment
|
|
218
|
+
// matches comments on it, and the server's auto-unblock treats a leading 🚧 as
|
|
219
|
+
// loop machinery. Reword only what follows the dash.
|
|
220
|
+
const ESCALATION_BANNER = "🚧 **Needs a human** — the loop is parked here until you reply.";
|
|
102
221
|
/** The loop's most recent escalation comment on an issue (input oldest-first,
|
|
103
222
|
* as `gh issue view --json comments` returns them), so `issue escalate
|
|
104
223
|
* --update` can edit it in place instead of stacking a new banner. Only
|
|
@@ -115,30 +234,38 @@ export function findLatestEscalationComment(comments) {
|
|
|
115
234
|
return null;
|
|
116
235
|
}
|
|
117
236
|
/** Renders the escalation comment the loop posts when it hands an issue to a
|
|
118
|
-
* human.
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
237
|
+
* human. What a dev sees unfolded is deliberately minimal: banner, owner, the
|
|
238
|
+
* Action-needed steps, footer. Everything explanatory — the reason's other
|
|
239
|
+
* `###` sections and the `--category` rationale — collapses into `<details>`
|
|
240
|
+
* blocks (foldSecondarySections), so readability no longer depends on how
|
|
241
|
+
* verbose the reviewer subagent felt. A plain-paragraph reason just reads as
|
|
242
|
+
* text; this adds no competing heading of its own. `owner` names the
|
|
243
|
+
* accountable human right under the banner. */
|
|
125
244
|
export function formatEscalationBody(reason, opts = {}) {
|
|
126
245
|
if (opts.category && !(opts.category in ESCALATION_CATEGORIES)) {
|
|
127
246
|
throw new Error(`Unknown escalation category "${opts.category}" — valid: ${Object.keys(ESCALATION_CATEGORIES).join(", ")}`);
|
|
128
247
|
}
|
|
129
|
-
const why = bulletizeReason(reason.trim()) || "_No reason given._";
|
|
248
|
+
const why = foldSecondarySections(bulletizeReason(reason.trim())) || "_No reason given._";
|
|
130
249
|
const owner = normalizeOwner(opts.owner);
|
|
131
250
|
return [
|
|
132
251
|
ESCALATION_BANNER,
|
|
133
252
|
"",
|
|
134
|
-
...(owner ? [`**Owner:** @${owner}
|
|
253
|
+
...(owner ? [`**Owner:** @${owner}`, ""] : []),
|
|
135
254
|
why,
|
|
136
255
|
"",
|
|
137
256
|
...(opts.category
|
|
138
|
-
? [
|
|
257
|
+
? [
|
|
258
|
+
"<details>",
|
|
259
|
+
`<summary><b>Why a human must decide — ${opts.category}</b></summary>`,
|
|
260
|
+
"",
|
|
261
|
+
ESCALATION_CATEGORIES[opts.category],
|
|
262
|
+
"",
|
|
263
|
+
"</details>",
|
|
264
|
+
"",
|
|
265
|
+
]
|
|
139
266
|
: []),
|
|
140
267
|
"---",
|
|
141
|
-
"<sub>
|
|
268
|
+
"<sub>Reply with your decision (`1: <answer>` per numbered item works) — the **`needs-human`** label clears automatically and the loop resumes.</sub>",
|
|
142
269
|
].join("\n");
|
|
143
270
|
}
|
|
144
271
|
//# sourceMappingURL=escalation-format.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escalation-format.js","sourceRoot":"","sources":["../src/escalation-format.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,+EAA+E;AAC/E,gBAAgB;AAEhB;;;;;iCAKiC;AACjC,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,CAAY,+DAA+D;IACpH,OAAO,CACL,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7E,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5E,MAAM,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;6EAY6E;AAC7E,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,MAAc,EAAO,wEAAwE;AAC7F,WAAmB,EAAE,oDAAoD;AACzE,IAA8C;IAE9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,CAAmB,0CAA0C;IAC/F,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC,CAAW,sCAAsC;IAC3F,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,IAAI,CAAC,QAAQ;YAAE,SAAS,CAA2B,gDAAgD;QACnG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,CAAmB,6BAA6B;IAClF,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"escalation-format.js","sourceRoot":"","sources":["../src/escalation-format.ts"],"names":[],"mappings":"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"}
|
package/dist/packet.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { GhComment, GhIssue, GhPR, GhReviewThread } from "./gh.js";
|
|
2
|
-
export declare const PACKET_PER_FILE_CAP
|
|
3
|
-
export declare const PACKET_TOTAL_CAP
|
|
4
|
-
export declare const PACKET_BRIEF_CAP
|
|
2
|
+
export declare const PACKET_PER_FILE_CAP: number;
|
|
3
|
+
export declare const PACKET_TOTAL_CAP: number;
|
|
4
|
+
export declare const PACKET_BRIEF_CAP: number;
|
|
5
5
|
export declare function isNoiseDiffPath(path: string): boolean;
|
|
6
6
|
export interface DiffSection {
|
|
7
7
|
path: string;
|
|
@@ -29,6 +29,12 @@ export interface FeaturePathsEntry {
|
|
|
29
29
|
description?: string;
|
|
30
30
|
testPriority?: string;
|
|
31
31
|
}
|
|
32
|
+
/** Directory-boundary ownership: "src/app/admin" owns "src/app/admin/…" and
|
|
33
|
+
* the exact path itself, but never "src/app/admin-shop/…". A leading "./" on
|
|
34
|
+
* the prefix is ignored; an empty prefix owns nothing. Keep in lockstep with
|
|
35
|
+
* the server's reviewcontract.OwnsPath — both must pass the canonical
|
|
36
|
+
* contract's ownsTestVectors (contract-parity.test.ts). */
|
|
37
|
+
export declare function ownsPath(prefix: string, path: string): boolean;
|
|
32
38
|
/** Names of the features whose path prefixes match any non-noise diff path,
|
|
33
39
|
* in feature-map order, deduped. */
|
|
34
40
|
export declare function touchedFeatures(diffPaths: string[], features: FeaturePathsEntry[]): string[];
|
package/dist/packet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packet.d.ts","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"packet.d.ts","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAMxE,eAAO,MAAM,mBAAmB,EAAE,MAA+C,CAAC;AAClF,eAAO,MAAM,gBAAgB,EAAE,MAA+C,CAAC;AAC/E,eAAO,MAAM,gBAAgB,EAAE,MAAyC,CAAC;AAoBzE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASrD;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAe5D;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA2B9D;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAYpE;AAED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;4DAI4D;AAC5D,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAI9D;AAED;qCACqC;AACrC,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAS5F;AAED,MAAM,WAAW,gBAAgB;IAC/B;;uEAEmE;IACnE,aAAa,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;+DAG+D;AAC/D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,gBAAgB,CAmB9G;AAED;;wEAEwE;AACxE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMxD;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,IAAI,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,KAAK,EAAE,CAAC,OAAO,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IAC/C;iFAC6E;IAC7E,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED,iDAAiD;AACjD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAmH5D"}
|
package/dist/packet.js
CHANGED
|
@@ -6,26 +6,36 @@
|
|
|
6
6
|
// packet tempts a reviewer into confidently redefining "spec" as whatever the
|
|
7
7
|
// diff implies — the exact failure family Superpowers 6 measured (0/5 flagged
|
|
8
8
|
// a missing brief). When no linked issue exists, the packet says so loudly.
|
|
9
|
-
|
|
10
|
-
//
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export const
|
|
9
|
+
import { REVIEW_CONTRACT } from "./review-contract-data.js";
|
|
10
|
+
// Budgets come from the canonical review contract (contracts/review-contract.json,
|
|
11
|
+
// epic #96 slice 2) — the SAME values the server-side pr_review runner loads, so
|
|
12
|
+
// both reviewers see identically sized diffs.
|
|
13
|
+
export const PACKET_PER_FILE_CAP = REVIEW_CONTRACT.budgets.perFileDiffCap;
|
|
14
|
+
export const PACKET_TOTAL_CAP = REVIEW_CONTRACT.budgets.packetTotalCap;
|
|
15
|
+
export const PACKET_BRIEF_CAP = REVIEW_CONTRACT.budgets.briefCap; // acceptance criteria sit at the BOTTOM of issue bodies — a tight cap silently drops the spec's checklist
|
|
14
16
|
// Noise paths excluded from the packet diff — lockfiles, generated output,
|
|
15
|
-
// vendored deps, binary-adjacent assets.
|
|
16
|
-
//
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
// vendored deps, binary-adjacent assets. Loaded from the shared contract's
|
|
18
|
+
// review-filter scope (the union of both reviewers' pre-contract lists).
|
|
19
|
+
// The contract's `noise.featuremapOnly` scope (.claude/ — tracked plugin
|
|
20
|
+
// source) is deliberately NOT consumed here: the server reviewer drops those
|
|
21
|
+
// paths (featuremap.IsNoisePath), so this packet is the only reviewer that
|
|
22
|
+
// sees them — filtering them here would blind review entirely.
|
|
23
|
+
// Matching: substrings contains-match; suffixes/extensions match as trailing
|
|
24
|
+
// patterns; basenames match the path's base name EXACTLY (parity with the Go
|
|
25
|
+
// side's filepath.Base — `notbun.lockb` must not match `bun.lockb`). All
|
|
26
|
+
// matching is case-insensitive (this side's pre-contract semantics).
|
|
27
|
+
const NOISE_SUBSTRINGS = REVIEW_CONTRACT.noise.substrings.map((s) => s.toLowerCase());
|
|
21
28
|
const NOISE_SUFFIXES = [
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
29
|
+
...REVIEW_CONTRACT.noise.suffixes,
|
|
30
|
+
...REVIEW_CONTRACT.noise.extensions,
|
|
31
|
+
].map((s) => s.toLowerCase());
|
|
32
|
+
const NOISE_BASENAMES = REVIEW_CONTRACT.noise.basenames.map((s) => s.toLowerCase());
|
|
26
33
|
export function isNoiseDiffPath(path) {
|
|
27
|
-
|
|
28
|
-
|
|
34
|
+
// Normalize: forward slashes, no leading "./" — diff paths are repo-relative.
|
|
35
|
+
const p = path.replace(/\\/g, "/").replace(/^\.\//, "").toLowerCase();
|
|
36
|
+
const base = p.slice(p.lastIndexOf("/") + 1);
|
|
37
|
+
return (NOISE_BASENAMES.includes(base) ||
|
|
38
|
+
NOISE_SUBSTRINGS.some((s) => p.includes(s)) ||
|
|
29
39
|
NOISE_SUFFIXES.some((s) => p.endsWith(s)));
|
|
30
40
|
}
|
|
31
41
|
/** Split a unified `gh pr diff` output into per-file sections. */
|
|
@@ -91,17 +101,24 @@ export function extractEvidenceLines(comments) {
|
|
|
91
101
|
}
|
|
92
102
|
return lines.slice(0, 12);
|
|
93
103
|
}
|
|
104
|
+
/** Directory-boundary ownership: "src/app/admin" owns "src/app/admin/…" and
|
|
105
|
+
* the exact path itself, but never "src/app/admin-shop/…". A leading "./" on
|
|
106
|
+
* the prefix is ignored; an empty prefix owns nothing. Keep in lockstep with
|
|
107
|
+
* the server's reviewcontract.OwnsPath — both must pass the canonical
|
|
108
|
+
* contract's ownsTestVectors (contract-parity.test.ts). */
|
|
109
|
+
export function ownsPath(prefix, path) {
|
|
110
|
+
const p = prefix.replace(/^\.\//, "");
|
|
111
|
+
if (!p)
|
|
112
|
+
return false;
|
|
113
|
+
return path === p || path.startsWith(p.endsWith("/") ? p : p + "/");
|
|
114
|
+
}
|
|
94
115
|
/** Names of the features whose path prefixes match any non-noise diff path,
|
|
95
116
|
* in feature-map order, deduped. */
|
|
96
117
|
export function touchedFeatures(diffPaths, features) {
|
|
97
118
|
const changed = diffPaths.filter((p) => !isNoiseDiffPath(p));
|
|
98
119
|
const out = [];
|
|
99
120
|
for (const f of features) {
|
|
100
|
-
|
|
101
|
-
// Directory-boundary match: "src/app/admin" owns "src/app/admin/…" and the
|
|
102
|
-
// exact path itself, but never "src/app/admin-shop/…".
|
|
103
|
-
const owns = (prefix, path) => path === prefix || path.startsWith(prefix.endsWith("/") ? prefix : prefix + "/");
|
|
104
|
-
if (prefixes.some((prefix) => prefix && changed.some((path) => owns(prefix, path)))) {
|
|
121
|
+
if ((f.paths ?? []).some((prefix) => changed.some((path) => ownsPath(prefix, path)))) {
|
|
105
122
|
out.push(f.name || f.key);
|
|
106
123
|
}
|
|
107
124
|
}
|
package/dist/packet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packet.js","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"packet.js","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export declare const REVIEW_CONTRACT: {
|
|
2
|
+
readonly $comment: "Canonical review contract (epic #96, Option B): the single source of truth for constants BOTH reviewers share — the Go server's pr_review runner and the TS CLI's loop review packet. Mirrors: apps/renaissshipflow-server/internal/reviewcontract/review-contract.json (go:embed, byte-identical) and apps/renaissshipflow-cli/src/review-contract-data.ts (generated). Regenerate mirrors with `node scripts/sync-review-contract.mjs`; parity tests on both sides fail on drift. Noise lists are the UNION of the two pre-contract lists (never narrow), split into scopes: the lists under `noise` are shared review-filter noise; `noise.featuremapOnly` is feature-map-only (tracked, reviewable source the loop packet must keep showing). Verdict vocabularies are carried per side AS-IS — reconciliation is a later slice. `ownsTestVectors` pins the directory-boundary `owns` matcher, which stays implemented per language.";
|
|
3
|
+
readonly version: 1;
|
|
4
|
+
readonly budgets: {
|
|
5
|
+
readonly $comment: "perFileDiffCap/packetTotalCap bound each reviewer's diff; briefCap bounds the linked-issue spec + PR body (acceptance criteria sit at the BOTTOM of issue bodies — a tight cap silently drops the checklist).";
|
|
6
|
+
readonly perFileDiffCap: 6000;
|
|
7
|
+
readonly packetTotalCap: 60000;
|
|
8
|
+
readonly briefCap: 8000;
|
|
9
|
+
};
|
|
10
|
+
readonly noise: {
|
|
11
|
+
readonly $comment: "Paths excluded from review diffs / the feature map, in two scopes. The lists directly under `noise` are SHARED review-filter noise: excluded from both reviewers' diffs and from the feature map. `featuremapOnly` entries are excluded from the feature map only — and, transitively, from the Go server's review filter, which shares featuremap.IsNoisePath (its pre-contract behavior) — but they are tracked, reviewable source the loop packet MUST keep showing (pre-contract it was the only reviewer that saw them). Matching: substrings contains-match anywhere in the path (TS case-insensitively, Go case-sensitively — each side keeps its pre-contract semantics). suffixes: trailing patterns filepath.Ext can't express. basenames: exact filenames (matched against the path's base name, never as a suffix). extensions: final-dot file extensions.";
|
|
12
|
+
readonly substrings: readonly ["node_modules/", ".git/", "vendor/", "dist/", "build/", ".next/", "__pycache__/", ".mypy_cache/", ".tox/", ".venv/", ".cache/", "coverage/", ".nyc_output/", ".turbo/", "__generated__/", "__snapshots__/", "__mocks__/", "storybook-static/", ".pytest_cache/", ".gradle/", "DerivedData/", "Pods/", "target/", ".rush/", "out/", ".swc/", ".expo/"];
|
|
13
|
+
readonly suffixes: readonly [".pb.go", "_pb2.py", "_pb2_grpc.py", "_gen.go", "_generated.go", ".gen.go", ".generated.ts", ".generated.tsx", ".gen.ts", ".min.js", ".min.css", ".tsbuildinfo"];
|
|
14
|
+
readonly basenames: readonly ["package-lock.json", "bun.lockb"];
|
|
15
|
+
readonly extensions: readonly [".map", ".lock", ".sum", ".png", ".jpg", ".jpeg", ".gif", ".ico", ".svg", ".woff", ".woff2", ".ttf", ".eot", ".snap"];
|
|
16
|
+
readonly featuremapOnly: {
|
|
17
|
+
readonly $comment: ".claude/ is tracked, reviewable source in this repo (63 files incl. plugin-shipped .claude/commands/shipflow-*.md and .claude/skills TS source) — noise for the feature map (and the server reviewer, per its pre-contract IsNoisePath), never for the loop packet.";
|
|
18
|
+
readonly substrings: readonly [".claude/"];
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
readonly verdicts: {
|
|
22
|
+
readonly $comment: "Carried AS-IS per side; unifying the vocabulary is a later slice of #96. Do not gate on the server enum — the server review is advisory.";
|
|
23
|
+
readonly loop: readonly ["approve", "comment", "request_changes", "reject"];
|
|
24
|
+
readonly server: readonly ["looks_good", "comment", "request_changes"];
|
|
25
|
+
};
|
|
26
|
+
readonly severities: readonly ["critical", "high", "medium", "low"];
|
|
27
|
+
readonly defaultSeverity: "medium";
|
|
28
|
+
readonly ownsTestVectors: readonly [{
|
|
29
|
+
readonly $comment: "Directory-boundary match: a prefix owns itself and everything under it, never a sibling that merely shares the string.";
|
|
30
|
+
readonly prefix: "src/app/admin";
|
|
31
|
+
readonly path: "src/app/admin";
|
|
32
|
+
readonly owns: true;
|
|
33
|
+
}, {
|
|
34
|
+
readonly prefix: "src/app/admin";
|
|
35
|
+
readonly path: "src/app/admin/page.tsx";
|
|
36
|
+
readonly owns: true;
|
|
37
|
+
}, {
|
|
38
|
+
readonly prefix: "src/app/admin";
|
|
39
|
+
readonly path: "src/app/admin/nested/deep/file.ts";
|
|
40
|
+
readonly owns: true;
|
|
41
|
+
}, {
|
|
42
|
+
readonly prefix: "src/app/admin";
|
|
43
|
+
readonly path: "src/app/admin-shop/page.tsx";
|
|
44
|
+
readonly owns: false;
|
|
45
|
+
}, {
|
|
46
|
+
readonly prefix: "src/app/admin";
|
|
47
|
+
readonly path: "src/app/adminx";
|
|
48
|
+
readonly owns: false;
|
|
49
|
+
}, {
|
|
50
|
+
readonly prefix: "./src/app/admin";
|
|
51
|
+
readonly path: "src/app/admin/page.tsx";
|
|
52
|
+
readonly owns: true;
|
|
53
|
+
}, {
|
|
54
|
+
readonly prefix: "src/app/admin/";
|
|
55
|
+
readonly path: "src/app/admin/page.tsx";
|
|
56
|
+
readonly owns: true;
|
|
57
|
+
}, {
|
|
58
|
+
readonly prefix: "src/app/admin/";
|
|
59
|
+
readonly path: "src/app/admin/";
|
|
60
|
+
readonly owns: true;
|
|
61
|
+
}, {
|
|
62
|
+
readonly prefix: "src/app/admin/";
|
|
63
|
+
readonly path: "src/app/admin";
|
|
64
|
+
readonly owns: false;
|
|
65
|
+
}, {
|
|
66
|
+
readonly prefix: "";
|
|
67
|
+
readonly path: "src/anything.ts";
|
|
68
|
+
readonly owns: false;
|
|
69
|
+
}, {
|
|
70
|
+
readonly prefix: "./";
|
|
71
|
+
readonly path: "src/anything.ts";
|
|
72
|
+
readonly owns: false;
|
|
73
|
+
}, {
|
|
74
|
+
readonly prefix: "apps";
|
|
75
|
+
readonly path: "apps/renaissshipflow-cli/src/index.ts";
|
|
76
|
+
readonly owns: true;
|
|
77
|
+
}, {
|
|
78
|
+
readonly prefix: "src/app/admin";
|
|
79
|
+
readonly path: "src";
|
|
80
|
+
readonly owns: false;
|
|
81
|
+
}, {
|
|
82
|
+
readonly prefix: "app";
|
|
83
|
+
readonly path: "src/app/x.ts";
|
|
84
|
+
readonly owns: false;
|
|
85
|
+
}, {
|
|
86
|
+
readonly prefix: "SRC/App";
|
|
87
|
+
readonly path: "src/app/x.ts";
|
|
88
|
+
readonly owns: false;
|
|
89
|
+
}];
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=review-contract-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-contract-data.d.ts","sourceRoot":"","sources":["../src/review-contract-data.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyGlB,CAAC"}
|