rhachet-roles-bhrain 0.30.3 → 0.30.4
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/contract/cli/review.d.ts +1 -0
- package/dist/contract/cli/review.js +55 -0
- package/dist/contract/cli/review.js.map +1 -1
- package/dist/domain.operations/review/emitReviewSkip.d.ts +17 -0
- package/dist/domain.operations/review/emitReviewSkip.js +89 -0
- package/dist/domain.operations/review/emitReviewSkip.js.map +1 -0
- package/dist/domain.operations/review/getReviewDisplayPath.d.ts +10 -0
- package/dist/domain.operations/review/getReviewDisplayPath.js +39 -0
- package/dist/domain.operations/review/getReviewDisplayPath.js.map +1 -0
- package/dist/domain.operations/review/getReviewOptionalSkipDecision.d.ts +30 -0
- package/dist/domain.operations/review/getReviewOptionalSkipDecision.js +43 -0
- package/dist/domain.operations/review/getReviewOptionalSkipDecision.js.map +1 -0
- package/dist/domain.operations/review/getReviewSkipReport.d.ts +16 -0
- package/dist/domain.operations/review/getReviewSkipReport.js +30 -0
- package/dist/domain.operations/review/getReviewSkipReport.js.map +1 -0
- package/dist/domain.operations/review/getSuppliesOptionalSupported.d.ts +35 -0
- package/dist/domain.operations/review/getSuppliesOptionalSupported.js +34 -0
- package/dist/domain.operations/review/getSuppliesOptionalSupported.js.map +1 -0
- package/dist/domain.operations/review/stepReview.d.ts +9 -0
- package/dist/domain.operations/review/stepReview.js +32 -5
- package/dist/domain.operations/review/stepReview.js.map +1 -1
- package/dist/domain.roles/reviewer/briefs/contract.reviewer-output.md +21 -0
- package/package.json +2 -2
|
@@ -12,6 +12,7 @@ export declare const parseReviewArgs: (argv: string[]) => {
|
|
|
12
12
|
pathsWout: string | undefined;
|
|
13
13
|
join: 'union' | 'intersect';
|
|
14
14
|
refs: string[] | undefined;
|
|
15
|
+
optional: string[] | undefined;
|
|
15
16
|
conversation: string[] | undefined;
|
|
16
17
|
output: string | undefined;
|
|
17
18
|
focus: 'push' | 'pull';
|
|
@@ -28,7 +28,10 @@ const child_process_1 = require("child_process");
|
|
|
28
28
|
const helpful_errors_1 = require("helpful-errors");
|
|
29
29
|
const path = __importStar(require("path"));
|
|
30
30
|
const brains_1 = require("rhachet/brains");
|
|
31
|
+
const emitReviewSkip_1 = require("../../domain.operations/review/emitReviewSkip");
|
|
31
32
|
const genDefaultReviewOutputPath_1 = require("../../domain.operations/review/genDefaultReviewOutputPath");
|
|
33
|
+
const getReviewOptionalSkipDecision_1 = require("../../domain.operations/review/getReviewOptionalSkipDecision");
|
|
34
|
+
const getSuppliesOptionalSupported_1 = require("../../domain.operations/review/getSuppliesOptionalSupported");
|
|
32
35
|
const stepReview_1 = require("../../domain.operations/review/stepReview");
|
|
33
36
|
/**
|
|
34
37
|
* .what = default brain for review skill
|
|
@@ -60,6 +63,9 @@ options:
|
|
|
60
63
|
--diffs <range> diff range: since-main, since-commit, since-staged (default: since-main)
|
|
61
64
|
--join <mode> how to join --paths-with and --diffs: intersect or union (default: intersect)
|
|
62
65
|
--refs <globs> glob pattern(s) for reference files (can repeat)
|
|
66
|
+
--optional <supply> mark a supply as optional; when its glob matches zero files, skip the
|
|
67
|
+
review (emit 0 blockers / 0 nitpicks, exit 0) instead of a fail-loud error.
|
|
68
|
+
supported: rules (can repeat)
|
|
63
69
|
--conversation <files> comma-separated prior peer-review dialogue files (.given + .taken) to thread as context (opt-in; guard expands $conversation)
|
|
64
70
|
--output <path> output file path (default: .review/$branch/$isotime.output.md)
|
|
65
71
|
--focus <mode> review focus: push or pull (default: push)
|
|
@@ -120,6 +126,16 @@ const parseReviewArgs = (argv) => {
|
|
|
120
126
|
i++;
|
|
121
127
|
}
|
|
122
128
|
}
|
|
129
|
+
else if (key === 'optional') {
|
|
130
|
+
// --optional can repeat; record presence (as []) even when the value is absent or
|
|
131
|
+
// another flag, so review() can fail loud on a bare `--optional` (no supply named)
|
|
132
|
+
if (!options.optional)
|
|
133
|
+
options.optional = [];
|
|
134
|
+
if (value && !value.startsWith('--')) {
|
|
135
|
+
options.optional.push(value);
|
|
136
|
+
i++;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
123
139
|
else if (value && !value.startsWith('--')) {
|
|
124
140
|
// .note = --conversation is a normal single-value flag: the guard expands
|
|
125
141
|
// $conversation to ONE comma-joined token, split into files below
|
|
@@ -136,6 +152,7 @@ const parseReviewArgs = (argv) => {
|
|
|
136
152
|
pathsWout: options['paths-wout'],
|
|
137
153
|
join: options.join ?? 'intersect',
|
|
138
154
|
refs: options.refs,
|
|
155
|
+
optional: options.optional,
|
|
139
156
|
conversation: options.conversation
|
|
140
157
|
? options.conversation.split(',')
|
|
141
158
|
: undefined,
|
|
@@ -172,9 +189,46 @@ const review = async () => {
|
|
|
172
189
|
console.error('run with --help for usage');
|
|
173
190
|
process.exit(2);
|
|
174
191
|
}
|
|
192
|
+
// validate --optional supply names (fail loud: never silently disable strictness)
|
|
193
|
+
// .note = only 'rules' is supported today; 'refs' is a deliberate future extension, so it
|
|
194
|
+
// is rejected loudly rather than silently accepted as a no-op (see Q7 + edgecases)
|
|
195
|
+
if (options.optional !== undefined) {
|
|
196
|
+
// a bare `--optional` (no supply named) must not quietly disable the strict default
|
|
197
|
+
if (options.optional.length === 0) {
|
|
198
|
+
console.error('error: --optional requires a supply name (supported: rules)');
|
|
199
|
+
console.error('run with --help for usage');
|
|
200
|
+
process.exit(2);
|
|
201
|
+
}
|
|
202
|
+
// reject any unknown or not-yet-supported supply name
|
|
203
|
+
const unsupported = (0, getSuppliesOptionalSupported_1.getSuppliesUnsupported)({ supplies: options.optional });
|
|
204
|
+
if (unsupported.length > 0) {
|
|
205
|
+
console.error(`error: --optional does not support: ${unsupported.join(', ')} (supported: ${getSuppliesOptionalSupported_1.SUPPLIES_OPTIONAL_SUPPORTED.join(', ')})`);
|
|
206
|
+
console.error('run with --help for usage');
|
|
207
|
+
process.exit(2);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
175
210
|
// determine output path (generate default if not specified)
|
|
176
211
|
const cwd = process.cwd();
|
|
177
212
|
const outputPath = options.output ?? (0, genDefaultReviewOutputPath_1.genDefaultReviewOutputPath)({ cwd });
|
|
213
|
+
// fast --optional skip pre-check, BEFORE expensive brain discovery
|
|
214
|
+
// .why = the vision requires an empty-rules skip to pay ZERO brain cost; genContextBrain
|
|
215
|
+
// below walks the filesystem for brain packages, so the emptiness check must run
|
|
216
|
+
// first (mirrors the "validate required args before expensive brain discovery"
|
|
217
|
+
// pre-check above). the skip invokes no brain, so it is deterministic and zero-cost.
|
|
218
|
+
const skipDecision = await (0, getReviewOptionalSkipDecision_1.getReviewOptionalSkipDecision)({
|
|
219
|
+
rules: options.rules,
|
|
220
|
+
optional: options.optional,
|
|
221
|
+
cwd,
|
|
222
|
+
});
|
|
223
|
+
if (skipDecision.skip) {
|
|
224
|
+
await (0, emitReviewSkip_1.emitReviewSkip)({
|
|
225
|
+
supply: 'rules',
|
|
226
|
+
ruleGlobs: skipDecision.ruleGlobs,
|
|
227
|
+
output: outputPath,
|
|
228
|
+
cwd,
|
|
229
|
+
});
|
|
230
|
+
process.exit(0);
|
|
231
|
+
}
|
|
178
232
|
// create brain context via discovery with credentials
|
|
179
233
|
// .note = uses env: 'prep' because review is used to prepare code, not test it
|
|
180
234
|
// .note = keyrack auto-unlocks locked keys internally when the brain fetches its
|
|
@@ -194,6 +248,7 @@ const review = async () => {
|
|
|
194
248
|
pathsWout: options.pathsWout,
|
|
195
249
|
join: options.join,
|
|
196
250
|
refs: options.refs,
|
|
251
|
+
optional: options.optional,
|
|
197
252
|
conversation: options.conversation,
|
|
198
253
|
output: outputPath,
|
|
199
254
|
focus: options.focus,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/contract/cli/review.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAyC;AACzC,mDAAiD;AACjD,2CAA6B;AAC7B,2CAIwB;AAExB,yGAAsG;AACtG,yEAAsE;AAEtE;;;GAGG;AACH,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAEpD;;;GAGG;AACH,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;IAC1C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,2BAAkB,GAAE,CAAC;IACpD,MAAM,aAAa,GAAG,IAAA,kCAAyB,EAAC;QAC9C,KAAK;QACL,KAAK;QACL,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/contract/cli/review.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { StepReviewResult } from '../../domain.operations/review/stepReview';
|
|
2
|
+
/**
|
|
3
|
+
* .what = writes + echoes the 🌙 skipped review for an `--optional` supply-empty skip, and
|
|
4
|
+
* returns its zeroed result
|
|
5
|
+
* .why = one source for the skip's side effects (write `--output` + echo stdout) and result,
|
|
6
|
+
* shared by the CLI pre-check (`review.ts`, before `genContextBrain`) and `stepReview`'s
|
|
7
|
+
* defense-in-depth branch — so the skip behaves identically wherever the empty supply is
|
|
8
|
+
* detected, with no duplicated i/o.
|
|
9
|
+
* .note = emits real `0/0` counts (never a faked abstain — rule.forbid.failhide) so the guard
|
|
10
|
+
* tallies approved; invokes no brain, so it is deterministic and zero-cost.
|
|
11
|
+
*/
|
|
12
|
+
export declare const emitReviewSkip: (input: {
|
|
13
|
+
supply: 'rules';
|
|
14
|
+
ruleGlobs: string[];
|
|
15
|
+
output: string;
|
|
16
|
+
cwd: string;
|
|
17
|
+
}) => Promise<StepReviewResult>;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.emitReviewSkip = void 0;
|
|
27
|
+
const fs = __importStar(require("fs/promises"));
|
|
28
|
+
const iso_price_1 = require("iso-price");
|
|
29
|
+
const path = __importStar(require("path"));
|
|
30
|
+
const getReviewDisplayPath_1 = require("../../domain.operations/review/getReviewDisplayPath");
|
|
31
|
+
const getReviewSkipReport_1 = require("../../domain.operations/review/getReviewSkipReport");
|
|
32
|
+
/**
|
|
33
|
+
* .what = writes + echoes the 🌙 skipped review for an `--optional` supply-empty skip, and
|
|
34
|
+
* returns its zeroed result
|
|
35
|
+
* .why = one source for the skip's side effects (write `--output` + echo stdout) and result,
|
|
36
|
+
* shared by the CLI pre-check (`review.ts`, before `genContextBrain`) and `stepReview`'s
|
|
37
|
+
* defense-in-depth branch — so the skip behaves identically wherever the empty supply is
|
|
38
|
+
* detected, with no duplicated i/o.
|
|
39
|
+
* .note = emits real `0/0` counts (never a faked abstain — rule.forbid.failhide) so the guard
|
|
40
|
+
* tallies approved; invokes no brain, so it is deterministic and zero-cost.
|
|
41
|
+
*/
|
|
42
|
+
const emitReviewSkip = async (input) => {
|
|
43
|
+
const outputAbsolute = path.isAbsolute(input.output)
|
|
44
|
+
? input.output
|
|
45
|
+
: path.join(input.cwd, input.output);
|
|
46
|
+
// ensure the --output parent exists, then write the skip report + echo it to stdout
|
|
47
|
+
await fs.mkdir(path.dirname(outputAbsolute), { recursive: true });
|
|
48
|
+
const skipReport = (0, getReviewSkipReport_1.getReviewSkipReport)({
|
|
49
|
+
supply: input.supply,
|
|
50
|
+
globs: input.ruleGlobs,
|
|
51
|
+
reviewDisplayPath: (0, getReviewDisplayPath_1.getReviewDisplayPath)({ outputAbsolute, cwd: input.cwd }),
|
|
52
|
+
});
|
|
53
|
+
await fs.writeFile(outputAbsolute, skipReport, 'utf-8');
|
|
54
|
+
console.log(skipReport);
|
|
55
|
+
const zeroPrice = (0, iso_price_1.asIsoPriceHuman)({ amount: 0, currency: 'USD' });
|
|
56
|
+
return {
|
|
57
|
+
outcome: 'skipped',
|
|
58
|
+
review: { formatted: skipReport },
|
|
59
|
+
// a skip writes no separate log artifacts; the only artifact is the review file itself
|
|
60
|
+
log: { dir: path.dirname(outputAbsolute) },
|
|
61
|
+
output: { path: outputAbsolute },
|
|
62
|
+
metrics: {
|
|
63
|
+
files: { rulesCount: 0, refsCount: 0, targetsCount: 0 },
|
|
64
|
+
expected: {
|
|
65
|
+
tokens: { estimate: 0, contextWindowPercent: 0 },
|
|
66
|
+
cost: { estimate: zeroPrice },
|
|
67
|
+
},
|
|
68
|
+
realized: {
|
|
69
|
+
tokens: {
|
|
70
|
+
input: 0,
|
|
71
|
+
inputCacheCreation: 0,
|
|
72
|
+
inputCacheRead: 0,
|
|
73
|
+
output: 0,
|
|
74
|
+
},
|
|
75
|
+
cost: {
|
|
76
|
+
input: zeroPrice,
|
|
77
|
+
cacheWrite: zeroPrice,
|
|
78
|
+
cacheRead: zeroPrice,
|
|
79
|
+
output: zeroPrice,
|
|
80
|
+
total: zeroPrice,
|
|
81
|
+
},
|
|
82
|
+
// 'PT0S' is a compile-time-validated IsoDurationWords literal (rule.forbid.as-cast)
|
|
83
|
+
time: 'PT0S',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
exports.emitReviewSkip = emitReviewSkip;
|
|
89
|
+
//# sourceMappingURL=emitReviewSkip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emitReviewSkip.js","sourceRoot":"","sources":["../../../src/domain.operations/review/emitReviewSkip.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,yCAA4C;AAC5C,2CAA6B;AAE7B,6FAA0F;AAC1F,2FAAwF;AAGxF;;;;;;;;;GASG;AACI,MAAM,cAAc,GAAG,KAAK,EAAE,KAKpC,EAA6B,EAAE;IAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QAClD,CAAC,CAAC,KAAK,CAAC,MAAM;QACd,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEvC,oFAAoF;IACpF,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,IAAA,yCAAmB,EAAC;QACrC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,SAAS;QACtB,iBAAiB,EAAE,IAAA,2CAAoB,EAAC,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;KAC5E,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAExB,MAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,OAAO;QACL,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;QACjC,uFAAuF;QACvF,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;QAChC,OAAO,EAAE;YACP,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;YACvD,QAAQ,EAAE;gBACR,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;aAC9B;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE;oBACN,KAAK,EAAE,CAAC;oBACR,kBAAkB,EAAE,CAAC;oBACrB,cAAc,EAAE,CAAC;oBACjB,MAAM,EAAE,CAAC;iBACV;gBACD,IAAI,EAAE;oBACJ,KAAK,EAAE,SAAS;oBAChB,UAAU,EAAE,SAAS;oBACrB,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,SAAS;iBACjB;gBACD,oFAAoF;gBACpF,IAAI,EAAE,MAAM;aACb;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AApDW,QAAA,cAAc,kBAoDzB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* .what = the review output path to display: absolute when it escapes cwd, else cwd-relative
|
|
3
|
+
* .why = a cwd-relative path that escapes into a `..` crawl reads worse than the absolute form;
|
|
4
|
+
* shared by the skip + normal stdout render paths so the display rule lives in one place
|
|
5
|
+
* (rule.forbid.inline-decode-friction)
|
|
6
|
+
*/
|
|
7
|
+
export declare const getReviewDisplayPath: (input: {
|
|
8
|
+
outputAbsolute: string;
|
|
9
|
+
cwd: string;
|
|
10
|
+
}) => string;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.getReviewDisplayPath = void 0;
|
|
27
|
+
const path = __importStar(require("path"));
|
|
28
|
+
/**
|
|
29
|
+
* .what = the review output path to display: absolute when it escapes cwd, else cwd-relative
|
|
30
|
+
* .why = a cwd-relative path that escapes into a `..` crawl reads worse than the absolute form;
|
|
31
|
+
* shared by the skip + normal stdout render paths so the display rule lives in one place
|
|
32
|
+
* (rule.forbid.inline-decode-friction)
|
|
33
|
+
*/
|
|
34
|
+
const getReviewDisplayPath = (input) => {
|
|
35
|
+
const relative = path.relative(input.cwd, input.outputAbsolute);
|
|
36
|
+
return relative.startsWith('..') ? input.outputAbsolute : relative;
|
|
37
|
+
};
|
|
38
|
+
exports.getReviewDisplayPath = getReviewDisplayPath;
|
|
39
|
+
//# sourceMappingURL=getReviewDisplayPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReviewDisplayPath.js","sourceRoot":"","sources":["../../../src/domain.operations/review/getReviewDisplayPath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B;;;;;GAKG;AACI,MAAM,oBAAoB,GAAG,CAAC,KAGpC,EAAU,EAAE;IACX,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAChE,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrE,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* .what = the single trigger predicate for an `--optional` rules skip: rules is flagged
|
|
3
|
+
* optional AND its glob was effective (non-empty) yet matched zero files
|
|
4
|
+
* .why = one owner for "which supply skips on empty" so the literal `'rules'` + emptiness rule
|
|
5
|
+
* is not duplicated across `review.ts` and `stepReview` (which would drift when `refs`
|
|
6
|
+
* lands). pure, so both the CLI pre-check (which enumerates first, via
|
|
7
|
+
* getReviewOptionalSkipDecision) and stepReview (which already holds its rule files) call
|
|
8
|
+
* the same rule. callers validate `--optional` names against the shared allow-list
|
|
9
|
+
* upstream, so by here `optional` holds only supported names.
|
|
10
|
+
*/
|
|
11
|
+
export declare const isReviewRulesSkip: (input: {
|
|
12
|
+
ruleGlobs: string[];
|
|
13
|
+
ruleFiles: string[];
|
|
14
|
+
optional: string[] | undefined;
|
|
15
|
+
}) => boolean;
|
|
16
|
+
/**
|
|
17
|
+
* .what = decides whether an `--optional` rules skip applies, and returns the normalized rules
|
|
18
|
+
* globs (walked once) so the caller can emit the skip without a second glob walk
|
|
19
|
+
* .why = the CLI (`review.ts`) has no rule files yet when it must decide the skip BEFORE brain
|
|
20
|
+
* discovery, so it enumerates here and defers the rule to `isReviewRulesSkip`. keeps the
|
|
21
|
+
* skip trigger in one place while the CLI pays a single glob walk.
|
|
22
|
+
*/
|
|
23
|
+
export declare const getReviewOptionalSkipDecision: (input: {
|
|
24
|
+
rules: string | string[];
|
|
25
|
+
optional: string[] | undefined;
|
|
26
|
+
cwd: string;
|
|
27
|
+
}) => Promise<{
|
|
28
|
+
skip: boolean;
|
|
29
|
+
ruleGlobs: string[];
|
|
30
|
+
}>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getReviewOptionalSkipDecision = exports.isReviewRulesSkip = void 0;
|
|
4
|
+
const enumFilesForReviewSupplies_1 = require("../../domain.operations/review/enumFilesForReviewSupplies");
|
|
5
|
+
/**
|
|
6
|
+
* .what = the single trigger predicate for an `--optional` rules skip: rules is flagged
|
|
7
|
+
* optional AND its glob was effective (non-empty) yet matched zero files
|
|
8
|
+
* .why = one owner for "which supply skips on empty" so the literal `'rules'` + emptiness rule
|
|
9
|
+
* is not duplicated across `review.ts` and `stepReview` (which would drift when `refs`
|
|
10
|
+
* lands). pure, so both the CLI pre-check (which enumerates first, via
|
|
11
|
+
* getReviewOptionalSkipDecision) and stepReview (which already holds its rule files) call
|
|
12
|
+
* the same rule. callers validate `--optional` names against the shared allow-list
|
|
13
|
+
* upstream, so by here `optional` holds only supported names.
|
|
14
|
+
*/
|
|
15
|
+
const isReviewRulesSkip = (input) => input.ruleGlobs.length > 0 &&
|
|
16
|
+
input.ruleFiles.length === 0 &&
|
|
17
|
+
(input.optional ?? []).includes('rules');
|
|
18
|
+
exports.isReviewRulesSkip = isReviewRulesSkip;
|
|
19
|
+
/**
|
|
20
|
+
* .what = decides whether an `--optional` rules skip applies, and returns the normalized rules
|
|
21
|
+
* globs (walked once) so the caller can emit the skip without a second glob walk
|
|
22
|
+
* .why = the CLI (`review.ts`) has no rule files yet when it must decide the skip BEFORE brain
|
|
23
|
+
* discovery, so it enumerates here and defers the rule to `isReviewRulesSkip`. keeps the
|
|
24
|
+
* skip trigger in one place while the CLI pays a single glob walk.
|
|
25
|
+
*/
|
|
26
|
+
const getReviewOptionalSkipDecision = async (input) => {
|
|
27
|
+
const ruleGlobs = Array.isArray(input.rules)
|
|
28
|
+
? input.rules
|
|
29
|
+
: [input.rules].filter(Boolean);
|
|
30
|
+
// short-circuit before the glob walk when rules is not flagged optional or has no glob to test
|
|
31
|
+
if (!(input.optional ?? []).includes('rules') || ruleGlobs.length === 0)
|
|
32
|
+
return { skip: false, ruleGlobs };
|
|
33
|
+
const ruleFiles = await (0, enumFilesForReviewSupplies_1.enumFilesForReviewSupplies)({
|
|
34
|
+
glob: ruleGlobs,
|
|
35
|
+
cwd: input.cwd,
|
|
36
|
+
});
|
|
37
|
+
return {
|
|
38
|
+
skip: (0, exports.isReviewRulesSkip)({ ruleGlobs, ruleFiles, optional: input.optional }),
|
|
39
|
+
ruleGlobs,
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
exports.getReviewOptionalSkipDecision = getReviewOptionalSkipDecision;
|
|
43
|
+
//# sourceMappingURL=getReviewOptionalSkipDecision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReviewOptionalSkipDecision.js","sourceRoot":"","sources":["../../../src/domain.operations/review/getReviewOptionalSkipDecision.ts"],"names":[],"mappings":";;;AAAA,yGAAsG;AAEtG;;;;;;;;;GASG;AACI,MAAM,iBAAiB,GAAG,CAAC,KAIjC,EAAW,EAAE,CACZ,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;IAC1B,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;IAC5B,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAP9B,QAAA,iBAAiB,qBAOa;AAE3C;;;;;;GAMG;AACI,MAAM,6BAA6B,GAAG,KAAK,EAAE,KAInD,EAAmD,EAAE;IACpD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1C,CAAC,CAAC,KAAK,CAAC,KAAK;QACb,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElC,+FAA+F;IAC/F,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAEpC,MAAM,SAAS,GAAG,MAAM,IAAA,uDAA0B,EAAC;QACjD,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC,CAAC;IACH,OAAO;QACL,IAAI,EAAE,IAAA,yBAAiB,EAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3E,SAAS;KACV,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,6BAA6B,iCAqBxC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* .what = builds the 🌙 skipped report string (header + body) for an --optional skip
|
|
3
|
+
* .why = pure content-build for a supply-empty skip, so the orchestrator can write it to the
|
|
4
|
+
* --output file and echo it to stdout without inline string-assembly. kept pure (no
|
|
5
|
+
* i/o) so the transformer stays testable and the i/o lives in the orchestrator, peer
|
|
6
|
+
* to the normal path's inline write (rule.prefer.decomposable-architecture).
|
|
7
|
+
* .note = the `0 blockers` / `0 nitpicks` lines are real counts the guard's deterministic
|
|
8
|
+
* regex reads (0/0 → approved), never a faked abstain (rule.forbid.failhide).
|
|
9
|
+
* .note = no `logs:` line — a skip writes no log artifacts, so a log-dir pointer would send a
|
|
10
|
+
* reader to an empty directory (rule.forbid.surprises).
|
|
11
|
+
*/
|
|
12
|
+
export declare const getReviewSkipReport: (input: {
|
|
13
|
+
supply: 'rules';
|
|
14
|
+
globs: string[];
|
|
15
|
+
reviewDisplayPath: string;
|
|
16
|
+
}) => string;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getReviewSkipReport = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* .what = builds the 🌙 skipped report string (header + body) for an --optional skip
|
|
6
|
+
* .why = pure content-build for a supply-empty skip, so the orchestrator can write it to the
|
|
7
|
+
* --output file and echo it to stdout without inline string-assembly. kept pure (no
|
|
8
|
+
* i/o) so the transformer stays testable and the i/o lives in the orchestrator, peer
|
|
9
|
+
* to the normal path's inline write (rule.prefer.decomposable-architecture).
|
|
10
|
+
* .note = the `0 blockers` / `0 nitpicks` lines are real counts the guard's deterministic
|
|
11
|
+
* regex reads (0/0 → approved), never a faked abstain (rule.forbid.failhide).
|
|
12
|
+
* .note = no `logs:` line — a skip writes no log artifacts, so a log-dir pointer would send a
|
|
13
|
+
* reader to an empty directory (rule.forbid.surprises).
|
|
14
|
+
*/
|
|
15
|
+
const getReviewSkipReport = (input) => {
|
|
16
|
+
const skipHeader = [
|
|
17
|
+
`🌙 skipped — no ${input.supply} found (--optional ${input.supply})`,
|
|
18
|
+
` ├─ review: ${input.reviewDisplayPath}`,
|
|
19
|
+
` └─ summary`,
|
|
20
|
+
` ├─ 0 blockers`,
|
|
21
|
+
` └─ 0 nitpicks`,
|
|
22
|
+
'',
|
|
23
|
+
'---',
|
|
24
|
+
'',
|
|
25
|
+
].join('\n');
|
|
26
|
+
const skipBody = `_no ${input.supply} matched the --optional ${input.supply} glob (${input.globs.join(', ')}); review skipped._\n`;
|
|
27
|
+
return skipHeader + skipBody;
|
|
28
|
+
};
|
|
29
|
+
exports.getReviewSkipReport = getReviewSkipReport;
|
|
30
|
+
//# sourceMappingURL=getReviewSkipReport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReviewSkipReport.js","sourceRoot":"","sources":["../../../src/domain.operations/review/getReviewSkipReport.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACI,MAAM,mBAAmB,GAAG,CAAC,KAInC,EAAU,EAAE;IACX,MAAM,UAAU,GAAG;QACjB,mBAAmB,KAAK,CAAC,MAAM,sBAAsB,KAAK,CAAC,MAAM,GAAG;QACpE,iBAAiB,KAAK,CAAC,iBAAiB,EAAE;QAC1C,eAAe;QACf,qBAAqB;QACrB,qBAAqB;QACrB,EAAE;QACF,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,MAAM,2BAA2B,KAAK,CAAC,MAAM,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC;IACnI,OAAO,UAAU,GAAG,QAAQ,CAAC;AAC/B,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* .what = the single allow-list of supply names that `--optional` supports today
|
|
3
|
+
* .why = one source of truth for "which supplies may skip-on-empty", shared by the CLI
|
|
4
|
+
* (`review.ts`, to reject unsupported names) and the domain op (`stepReview.ts`, for
|
|
5
|
+
* defense-in-depth). two hand-synced lists would drift — a supply added to one but not
|
|
6
|
+
* the other would silently mis-handle it. only `rules` is supported now; `refs` is a
|
|
7
|
+
* deliberate future extension (rejected loudly until built).
|
|
8
|
+
* .note = declared `as const` so the runtime allow-list also drives the compile-time literal
|
|
9
|
+
* union `SupplyOptional` — add `'refs'` here and the type widens automatically, so every
|
|
10
|
+
* `SupplyOptional` call site is revisited by the compiler rather than by memory.
|
|
11
|
+
*/
|
|
12
|
+
export declare const SUPPLIES_OPTIONAL_SUPPORTED: readonly ["rules"];
|
|
13
|
+
/**
|
|
14
|
+
* .what = the literal union of supply names `--optional` supports, derived from the allow-list
|
|
15
|
+
* .why = one source drives both the runtime check and the compile-time type (no hand-synced union)
|
|
16
|
+
*/
|
|
17
|
+
export type SupplyOptional = (typeof SUPPLIES_OPTIONAL_SUPPORTED)[number];
|
|
18
|
+
/**
|
|
19
|
+
* .what = whether a given supply name is one `--optional` supports today
|
|
20
|
+
* .why = the shared membership check both layers use, so the allow-list has exactly one owner.
|
|
21
|
+
* a type guard, so callers that pass the check narrow `string` → `SupplyOptional`.
|
|
22
|
+
*/
|
|
23
|
+
export declare const isSupplyOptionalSupported: (supply: string) => supply is "rules";
|
|
24
|
+
/**
|
|
25
|
+
* .what = returns the given supply names that `--optional` does not support today
|
|
26
|
+
* .why = one shared transformer for "which of these names are unsupported", consumed by BOTH
|
|
27
|
+
* the CLI (`review.ts`, fail loud) and the domain op (`stepReview.ts`, defense-in-depth).
|
|
28
|
+
* lives here (domain.operations) — the common ancestor of both layers — so neither
|
|
29
|
+
* reimplements the filter (rule.prefer.most-common-denominator + rule.require.directional-deps:
|
|
30
|
+
* `stepReview` cannot import upward from `contract`, so a contract-layer home would force a
|
|
31
|
+
* duplicate).
|
|
32
|
+
*/
|
|
33
|
+
export declare const getSuppliesUnsupported: (input: {
|
|
34
|
+
supplies: string[];
|
|
35
|
+
}) => string[];
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSuppliesUnsupported = exports.isSupplyOptionalSupported = exports.SUPPLIES_OPTIONAL_SUPPORTED = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* .what = the single allow-list of supply names that `--optional` supports today
|
|
6
|
+
* .why = one source of truth for "which supplies may skip-on-empty", shared by the CLI
|
|
7
|
+
* (`review.ts`, to reject unsupported names) and the domain op (`stepReview.ts`, for
|
|
8
|
+
* defense-in-depth). two hand-synced lists would drift — a supply added to one but not
|
|
9
|
+
* the other would silently mis-handle it. only `rules` is supported now; `refs` is a
|
|
10
|
+
* deliberate future extension (rejected loudly until built).
|
|
11
|
+
* .note = declared `as const` so the runtime allow-list also drives the compile-time literal
|
|
12
|
+
* union `SupplyOptional` — add `'refs'` here and the type widens automatically, so every
|
|
13
|
+
* `SupplyOptional` call site is revisited by the compiler rather than by memory.
|
|
14
|
+
*/
|
|
15
|
+
exports.SUPPLIES_OPTIONAL_SUPPORTED = ['rules'];
|
|
16
|
+
/**
|
|
17
|
+
* .what = whether a given supply name is one `--optional` supports today
|
|
18
|
+
* .why = the shared membership check both layers use, so the allow-list has exactly one owner.
|
|
19
|
+
* a type guard, so callers that pass the check narrow `string` → `SupplyOptional`.
|
|
20
|
+
*/
|
|
21
|
+
const isSupplyOptionalSupported = (supply) => exports.SUPPLIES_OPTIONAL_SUPPORTED.some((candidate) => candidate === supply);
|
|
22
|
+
exports.isSupplyOptionalSupported = isSupplyOptionalSupported;
|
|
23
|
+
/**
|
|
24
|
+
* .what = returns the given supply names that `--optional` does not support today
|
|
25
|
+
* .why = one shared transformer for "which of these names are unsupported", consumed by BOTH
|
|
26
|
+
* the CLI (`review.ts`, fail loud) and the domain op (`stepReview.ts`, defense-in-depth).
|
|
27
|
+
* lives here (domain.operations) — the common ancestor of both layers — so neither
|
|
28
|
+
* reimplements the filter (rule.prefer.most-common-denominator + rule.require.directional-deps:
|
|
29
|
+
* `stepReview` cannot import upward from `contract`, so a contract-layer home would force a
|
|
30
|
+
* duplicate).
|
|
31
|
+
*/
|
|
32
|
+
const getSuppliesUnsupported = (input) => input.supplies.filter((supply) => !(0, exports.isSupplyOptionalSupported)(supply));
|
|
33
|
+
exports.getSuppliesUnsupported = getSuppliesUnsupported;
|
|
34
|
+
//# sourceMappingURL=getSuppliesOptionalSupported.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSuppliesOptionalSupported.js","sourceRoot":"","sources":["../../../src/domain.operations/review/getSuppliesOptionalSupported.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACU,QAAA,2BAA2B,GAAG,CAAC,OAAO,CAAU,CAAC;AAQ9D;;;;GAIG;AACI,MAAM,yBAAyB,GAAG,CACvC,MAAc,EACY,EAAE,CAC5B,mCAA2B,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC;AAH3D,QAAA,yBAAyB,6BAGkC;AAExE;;;;;;;;GAQG;AACI,MAAM,sBAAsB,GAAG,CAAC,KAEtC,EAAY,EAAE,CACb,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAA,iCAAyB,EAAC,MAAM,CAAC,CAAC,CAAC;AAH3D,QAAA,sBAAsB,0BAGqC"}
|
|
@@ -7,6 +7,14 @@ import { type BrainChoice, type ContextBrain } from 'rhachet';
|
|
|
7
7
|
* .why = enables caller to inspect review outcome and artifacts
|
|
8
8
|
*/
|
|
9
9
|
export type StepReviewResult = {
|
|
10
|
+
/**
|
|
11
|
+
* .what = which path produced this result: a real graded review, or an `--optional` skip
|
|
12
|
+
* .why = the skip path zeroes the metrics and points `log.dir` at the output file's parent
|
|
13
|
+
* (no debug artifacts live there), so a direct SDK consumer needs a typed discriminant
|
|
14
|
+
* to tell the two apart — without it they'd string-match `🌙 skipped` or infer from
|
|
15
|
+
* `metrics.files.rulesCount === 0` (rule.forbid.inline-decode-friction).
|
|
16
|
+
*/
|
|
17
|
+
outcome: 'reviewed' | 'skipped';
|
|
10
18
|
review: {
|
|
11
19
|
formatted: string;
|
|
12
20
|
};
|
|
@@ -78,6 +86,7 @@ export declare const stepReview: (input: {
|
|
|
78
86
|
pathsWout?: string | string[];
|
|
79
87
|
join?: 'union' | 'intersect';
|
|
80
88
|
refs?: string | string[];
|
|
89
|
+
optional?: string[];
|
|
81
90
|
conversation?: string | string[];
|
|
82
91
|
output: string;
|
|
83
92
|
focus: 'pull' | 'push';
|
|
@@ -32,6 +32,7 @@ const path = __importStar(require("path"));
|
|
|
32
32
|
const rhachet_1 = require("rhachet");
|
|
33
33
|
const zod_1 = require("zod");
|
|
34
34
|
const compileReviewPrompt_1 = require("../../domain.operations/review/compileReviewPrompt");
|
|
35
|
+
const emitReviewSkip_1 = require("../../domain.operations/review/emitReviewSkip");
|
|
35
36
|
const enumFilesForReviewSubjects_1 = require("../../domain.operations/review/enumFilesForReviewSubjects");
|
|
36
37
|
const enumFilesForReviewSupplies_1 = require("../../domain.operations/review/enumFilesForReviewSupplies");
|
|
37
38
|
const formatReviewOutput_1 = require("../../domain.operations/review/formatReviewOutput");
|
|
@@ -40,6 +41,9 @@ const genReviewOutputStdout_1 = require("../../domain.operations/review/genRevie
|
|
|
40
41
|
const genTokenBreakdownMarkdown_1 = require("../../domain.operations/review/genTokenBreakdownMarkdown");
|
|
41
42
|
const genTokenBreakdownReport_1 = require("../../domain.operations/review/genTokenBreakdownReport");
|
|
42
43
|
const getAllFileDiffsFromRange_1 = require("../../domain.operations/review/getAllFileDiffsFromRange");
|
|
44
|
+
const getReviewDisplayPath_1 = require("../../domain.operations/review/getReviewDisplayPath");
|
|
45
|
+
const getReviewOptionalSkipDecision_1 = require("../../domain.operations/review/getReviewOptionalSkipDecision");
|
|
46
|
+
const getSuppliesOptionalSupported_1 = require("../../domain.operations/review/getSuppliesOptionalSupported");
|
|
43
47
|
const isPathMatchedByGlob_1 = require("../../domain.operations/review/isPathMatchedByGlob");
|
|
44
48
|
const writeInputArtifacts_1 = require("../../domain.operations/review/writeInputArtifacts");
|
|
45
49
|
const writeOutputArtifacts_1 = require("../../domain.operations/review/writeOutputArtifacts");
|
|
@@ -177,6 +181,15 @@ const stepReview = async (input, context) => {
|
|
|
177
181
|
const hasPaths = input.paths && (Array.isArray(input.paths) ? input.paths.length > 0 : true);
|
|
178
182
|
if (!hasRules && !hasDiffs && !hasPaths)
|
|
179
183
|
throw new helpful_errors_1.BadRequestError('must specify at least one of --rules, --diffs, or --paths');
|
|
184
|
+
// validate --optional supply names against the shared allow-list (defense-in-depth)
|
|
185
|
+
// .why = stepReview is a public SDK export; a direct caller bypasses the CLI's own
|
|
186
|
+
// validation, so the domain op must own its invariant too — a typo'd or unsupported
|
|
187
|
+
// supply must fail loud here, never silently no-op (rule.forbid.failhide)
|
|
188
|
+
const optionalUnsupported = (0, getSuppliesOptionalSupported_1.getSuppliesUnsupported)({
|
|
189
|
+
supplies: input.optional ?? [],
|
|
190
|
+
});
|
|
191
|
+
if (optionalUnsupported.length > 0)
|
|
192
|
+
throw new helpful_errors_1.BadRequestError(`--optional does not support: ${optionalUnsupported.join(', ')} (supported: ${getSuppliesOptionalSupported_1.SUPPLIES_OPTIONAL_SUPPORTED.join(', ')})`, { optional: input.optional });
|
|
180
193
|
// ensure output parent directory exists (create if absent)
|
|
181
194
|
const outputParent = path.dirname(input.output);
|
|
182
195
|
const outputParentAbsolute = path.isAbsolute(outputParent)
|
|
@@ -191,6 +204,18 @@ const stepReview = async (input, context) => {
|
|
|
191
204
|
? input.rules
|
|
192
205
|
: [input.rules].filter(Boolean);
|
|
193
206
|
const ruleFiles = await (0, enumFilesForReviewSupplies_1.enumFilesForReviewSupplies)({ glob: ruleGlobs, cwd });
|
|
207
|
+
// when rules are flagged --optional, an empty rules glob is a valid skip, not an error:
|
|
208
|
+
// emit a 0/0 skip (exit 0) so the guard tallies approved and the stone proceeds.
|
|
209
|
+
// .note = defense-in-depth — the CLI (review.ts) already skips before brain discovery; this
|
|
210
|
+
// branch covers direct SDK callers that bypass review.ts. it shares one trigger rule
|
|
211
|
+
// (isReviewRulesSkip) with the CLI, against the rule files enumerated just above.
|
|
212
|
+
if ((0, getReviewOptionalSkipDecision_1.isReviewRulesSkip)({ ruleGlobs, ruleFiles, optional: input.optional }))
|
|
213
|
+
return (0, emitReviewSkip_1.emitReviewSkip)({
|
|
214
|
+
supply: 'rules',
|
|
215
|
+
ruleGlobs,
|
|
216
|
+
output: input.output,
|
|
217
|
+
cwd,
|
|
218
|
+
});
|
|
194
219
|
if (ruleGlobs.length > 0 && ruleFiles.length === 0) {
|
|
195
220
|
console.error('');
|
|
196
221
|
console.error('🦉 woah there');
|
|
@@ -640,7 +665,10 @@ const stepReview = async (input, context) => {
|
|
|
640
665
|
const outputAbsolute = path.isAbsolute(input.output)
|
|
641
666
|
? input.output
|
|
642
667
|
: path.join(cwd, input.output);
|
|
643
|
-
|
|
668
|
+
// single source of truth for the review path shown in BOTH the file header and the
|
|
669
|
+
// stdout summary — getReviewDisplayPath returns absolute when the relative form escapes
|
|
670
|
+
// cwd (starts with '..'), so the two render sites never disagree (single-source-of-truth-for-render)
|
|
671
|
+
const reviewDisplayPath = (0, getReviewDisplayPath_1.getReviewDisplayPath)({ outputAbsolute, cwd });
|
|
644
672
|
const blockersCount = reviewIssues.output.blockers.length;
|
|
645
673
|
const nitpicksCount = reviewIssues.output.nitpicks.length;
|
|
646
674
|
// generate output header with summary info
|
|
@@ -649,7 +677,7 @@ const stepReview = async (input, context) => {
|
|
|
649
677
|
const lines = [
|
|
650
678
|
summaryIcon,
|
|
651
679
|
` ├─ logs: ${logDirRelative}`,
|
|
652
|
-
` ├─ review: ${
|
|
680
|
+
` ├─ review: ${reviewDisplayPath}`,
|
|
653
681
|
` └─ summary`,
|
|
654
682
|
` ├─ ${blockersCount} blockers${blockersCount > 0 ? ' 🔴' : ''}`,
|
|
655
683
|
` └─ ${nitpicksCount} nitpicks${nitpicksCount > 0 ? ' 🟠' : ''}`,
|
|
@@ -681,9 +709,7 @@ const stepReview = async (input, context) => {
|
|
|
681
709
|
},
|
|
682
710
|
paths: {
|
|
683
711
|
logsRelative: logDirRelative,
|
|
684
|
-
reviewRelative:
|
|
685
|
-
? outputAbsolute
|
|
686
|
-
: reviewRelativePath,
|
|
712
|
+
reviewRelative: reviewDisplayPath,
|
|
687
713
|
},
|
|
688
714
|
summary: {
|
|
689
715
|
blockersCount,
|
|
@@ -691,6 +717,7 @@ const stepReview = async (input, context) => {
|
|
|
691
717
|
},
|
|
692
718
|
}));
|
|
693
719
|
return {
|
|
720
|
+
outcome: 'reviewed',
|
|
694
721
|
review: {
|
|
695
722
|
formatted: formattedReview,
|
|
696
723
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepReview.js","sourceRoot":"","sources":["../../../src/domain.operations/review/stepReview.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stepReview.js","sourceRoot":"","sources":["../../../src/domain.operations/review/stepReview.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,6 +84,27 @@ if you author your own reviewer, the **minimal** valid stdout is just the two nu
|
|
|
84
84
|
1 nitpick
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
+
## .the skip variant (`--optional`)
|
|
88
|
+
|
|
89
|
+
when the `rhx review` skill runs with `--optional rules` and the rules glob matches zero
|
|
90
|
+
files, it does not grade — there is no rubric — so it **skips**. the skip still honors this
|
|
91
|
+
contract: it emits a distinct `🌙 skipped` header for human legibility, plus the two required
|
|
92
|
+
numeric lines (`0 blockers` / `0 nitpicks`), and exits `0`:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
🌙 skipped — no rules found (--optional rules)
|
|
96
|
+
├─ review: <output path>
|
|
97
|
+
└─ summary
|
|
98
|
+
├─ 0 blockers
|
|
99
|
+
└─ 0 nitpicks
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
(no `logs:` line — a skip writes no log artifacts, so it advertises no log dir.)
|
|
103
|
+
|
|
104
|
+
the `🌙 skipped` header is prose the deterministic regex harmlessly ignores (it reads only the
|
|
105
|
+
two numbers), so the guard tallies the `0/0` as **approved** — no guard, verdict, or contract
|
|
106
|
+
change. the real `0/0` counts (never a faked abstain) keep `rule.forbid.failhide` honored.
|
|
107
|
+
|
|
87
108
|
## .what the guard does with it
|
|
88
109
|
|
|
89
110
|
| your stdout | guard reads | outcome |
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "rhachet-roles-bhrain",
|
|
3
3
|
"author": "ehmpathy",
|
|
4
4
|
"description": "reliable thought concept navigation roles, briefs, and skills, via rhachet",
|
|
5
|
-
"version": "0.30.
|
|
5
|
+
"version": "0.30.4",
|
|
6
6
|
"repository": "ehmpathy/rhachet-roles-bhrain",
|
|
7
7
|
"homepage": "https://github.com/ehmpathy/rhachet-roles-bhrain",
|
|
8
8
|
"keywords": [
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"rhachet-brains-fireworksai": "0.1.3",
|
|
126
126
|
"rhachet-brains-openai": "0.3.1",
|
|
127
127
|
"rhachet-roles-bhrain": "link:.",
|
|
128
|
-
"rhachet-roles-bhuild": "0.21.
|
|
128
|
+
"rhachet-roles-bhuild": "0.21.26",
|
|
129
129
|
"rhachet-roles-ehmpathy": "1.38.1",
|
|
130
130
|
"rhachet-roles-rhachet": "0.1.7",
|
|
131
131
|
"test-fns": "1.15.7",
|