rhachet-roles-bhrain 0.29.21 → 0.29.22

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.
@@ -31,6 +31,7 @@ const RouteStoneGuardJudgeArtifact_1 = require("../../../domain.objects/Driver/R
31
31
  const RouteStoneGuardReviewArtifact_1 = require("../../../domain.objects/Driver/RouteStoneGuardReviewArtifact");
32
32
  const enumRouteGuardJudgeFiles_1 = require("./enumRouteGuardJudgeFiles");
33
33
  const enumRouteGuardReviewPeerFiles_1 = require("./enumRouteGuardReviewPeerFiles");
34
+ const getDurationMsFromContent_1 = require("./getDurationMsFromContent");
34
35
  const getExitCodeClass_1 = require("./getExitCodeClass");
35
36
  const getReviewCountsFromContent_1 = require("./getReviewCountsFromContent");
36
37
  /**
@@ -124,10 +125,8 @@ const parseReviewMetadata = (filePath, content) => {
124
125
  const counts = (0, getReviewCountsFromContent_1.getReviewCountsFromContent)({ content });
125
126
  const blockers = counts.blockers;
126
127
  const nitpicks = counts.nitpicks;
127
- // parse duration from content
128
- // format: "└─ total: 51455ms" under metrics.realized > time
129
- const durationMatch = content.match(/total:\s*(\d+)ms/i);
130
- const durationMs = durationMatch?.[1] ? parseInt(durationMatch[1], 10) : null;
128
+ // parse duration from content via shared operation
129
+ const durationMs = (0, getDurationMsFromContent_1.getDurationMsFromContent)({ content });
131
130
  // parse exit code from tree bucket format
132
131
  const exitCodeMatch = content.match(/exit code:\s*(\d+)/);
133
132
  const exitCode = exitCodeMatch?.[1] ? parseInt(exitCodeMatch[1], 10) : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"getAllStoneGuardArtifactsByHash.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/guard/getAllStoneGuardArtifactsByHash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getAllStoneGuardArtifactsByHash.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/guard/getAllStoneGuardArtifactsByHash.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * .what = extracts the review duration in milliseconds from review content
3
+ * .why = encapsulates regex extraction so the orchestrator reads as narrative
4
+ *
5
+ * format: "└─ total: 51455ms" under metrics.realized > time.
6
+ * returns null when no duration line is present.
7
+ */
8
+ export declare const getDurationMsFromContent: (input: {
9
+ content: string;
10
+ }) => number | null;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDurationMsFromContent = void 0;
4
+ /**
5
+ * .what = extracts the review duration in milliseconds from review content
6
+ * .why = encapsulates regex extraction so the orchestrator reads as narrative
7
+ *
8
+ * format: "└─ total: 51455ms" under metrics.realized > time.
9
+ * returns null when no duration line is present.
10
+ */
11
+ const getDurationMsFromContent = (input) => {
12
+ const durationMatch = input.content.match(/total:\s*(\d+)ms/i);
13
+ return durationMatch?.[1] ? parseInt(durationMatch[1], 10) : null;
14
+ };
15
+ exports.getDurationMsFromContent = getDurationMsFromContent;
16
+ //# sourceMappingURL=getDurationMsFromContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDurationMsFromContent.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/guard/getDurationMsFromContent.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACI,MAAM,wBAAwB,GAAG,CAAC,KAExC,EAAiB,EAAE;IAClB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC/D,OAAO,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC,CAAC;AALW,QAAA,wBAAwB,4BAKnC"}
@@ -29,6 +29,7 @@ const helpful_errors_1 = require("helpful-errors");
29
29
  const path = __importStar(require("path"));
30
30
  const RouteStoneGuardReviewArtifact_1 = require("../../../domain.objects/Driver/RouteStoneGuardReviewArtifact");
31
31
  const enumRouteGuardReviewPeerFiles_1 = require("./enumRouteGuardReviewPeerFiles");
32
+ const getDurationMsFromContent_1 = require("./getDurationMsFromContent");
32
33
  const getExitCodeClass_1 = require("./getExitCodeClass");
33
34
  const getReviewCountsFromContent_1 = require("./getReviewCountsFromContent");
34
35
  /**
@@ -84,9 +85,8 @@ const getLatestReviewArtifactForIndex = async (input) => {
84
85
  const hash = hashMatch[1];
85
86
  // parse blockers and nitpicks from stdout
86
87
  const counts = (0, getReviewCountsFromContent_1.getReviewCountsFromContent)({ content });
87
- // parse duration from content
88
- const durationMatch = content.match(/total:\s*(\d+)ms/i);
89
- const durationMs = durationMatch?.[1] ? parseInt(durationMatch[1], 10) : null;
88
+ // parse duration from content via shared operation
89
+ const durationMs = (0, getDurationMsFromContent_1.getDurationMsFromContent)({ content });
90
90
  // parse exit code from tree bucket format
91
91
  const exitCodeMatch = content.match(/exit code:\s*(\d+)/);
92
92
  const exitCode = exitCodeMatch?.[1] ? parseInt(exitCodeMatch[1], 10) : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"getLatestReviewArtifactForIndex.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/guard/getLatestReviewArtifactForIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getLatestReviewArtifactForIndex.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/guard/getLatestReviewArtifactForIndex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * .what = looks up the git repo root, with a cwd fallback when not in a git repo
3
+ * .why = guard paths relativize against the repo root; integration tests run in temp
4
+ * dirs that are not git repos, so a cwd fallback keeps them functional.
5
+ * shared so the two guard call sites cannot drift apart.
6
+ */
7
+ export declare const getRepoRootWithFallback: (input: {
8
+ from: string;
9
+ }) => Promise<string>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRepoRootWithFallback = void 0;
4
+ const rhachet_artifact_git_1 = require("rhachet-artifact-git");
5
+ /**
6
+ * .what = looks up the git repo root, with a cwd fallback when not in a git repo
7
+ * .why = guard paths relativize against the repo root; integration tests run in temp
8
+ * dirs that are not git repos, so a cwd fallback keeps them functional.
9
+ * shared so the two guard call sites cannot drift apart.
10
+ */
11
+ const getRepoRootWithFallback = async (input) => {
12
+ try {
13
+ return await (0, rhachet_artifact_git_1.getGitRepoRoot)({ from: input.from });
14
+ }
15
+ catch (error) {
16
+ // only catch "not in git repo" error; rethrow any other errors
17
+ // .note = check error message instead of instanceof due to cross-module class instances
18
+ const isNotInGitRepoError = error instanceof Error && error.message.includes('Not inside a Git');
19
+ if (!isNotInGitRepoError)
20
+ throw error;
21
+ return process.cwd();
22
+ }
23
+ };
24
+ exports.getRepoRootWithFallback = getRepoRootWithFallback;
25
+ //# sourceMappingURL=getRepoRootWithFallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRepoRootWithFallback.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/guard/getRepoRootWithFallback.ts"],"names":[],"mappings":";;;AAAA,+DAAsD;AAEtD;;;;;GAKG;AACI,MAAM,uBAAuB,GAAG,KAAK,EAAE,KAE7C,EAAmB,EAAE;IACpB,IAAI,CAAC;QACH,OAAO,MAAM,IAAA,qCAAc,EAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+DAA+D;QAC/D,wFAAwF;QACxF,MAAM,mBAAmB,GACvB,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAI,CAAC,mBAAmB;YAAE,MAAM,KAAK,CAAC;QAEtC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,uBAAuB,2BAclC"}
@@ -1,10 +1,17 @@
1
1
  /**
2
2
  * .what = extracts blocker and nitpick counts from review content
3
3
  * .why = encapsulates regex extraction for readability
4
+ *
5
+ * .detected = whether BOTH dimensions carry an explicit numeric count.
6
+ * a reviewer must state a number for each (e.g. `0 blockers`, `2 nitpicks`).
7
+ * when a dimension has no numeric count, detected = false — the caller must NOT
8
+ * treat an absent count as zero. see rule.forbid.failhide + contract.reviewer-output.
9
+ * numbers-only by design: word-forms like "none"/"no blockers" do NOT count.
4
10
  */
5
11
  export declare const getReviewCountsFromContent: (input: {
6
12
  content: string;
7
13
  }) => {
14
+ detected: boolean;
8
15
  blockers: number;
9
16
  nitpicks: number;
10
17
  };
@@ -1,21 +1,52 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getReviewCountsFromContent = void 0;
4
+ /**
5
+ * .what = extracts the last numeric count for a single dimension from review content
6
+ * .why = the authoritative count is the reviewer's final declaration (typically the summary),
7
+ * so we take the LAST occurrence — a first-match would be fooled by incidental prose
8
+ * like "i reviewed the 3 blockers from last round. 0 blockers remain." (grabs 3, not 0).
9
+ *
10
+ * matches both numeric forms in one pass, in document order:
11
+ * 1. "blockers: N" (yaml/key-value form from review tools)
12
+ * 2. "N blockers" (tree/prose form from skill output)
13
+ * returns undefined when the dimension carries no numeric declaration.
14
+ */
15
+ const getLastCountForDimension = (input) => {
16
+ // .note = the "N word" form uses same-line whitespace ([ \t]+, not \s+) so a number on a
17
+ // prior line cannot bind to a word on the next (e.g. "blockers: 3\nnitpicks: 5"
18
+ // must not read "3 nitpicks"). count declarations are always single-line.
19
+ const pattern = new RegExp(`${input.stem}s?:\\s*(\\d+)|(\\d+)[ \\t]+${input.stem}s?`, 'gi');
20
+ const matches = [...input.content.matchAll(pattern)];
21
+ const lastMatch = matches.at(-1);
22
+ const value = lastMatch ? (lastMatch[1] ?? lastMatch[2]) : undefined;
23
+ return value !== undefined ? parseInt(value, 10) : undefined;
24
+ };
4
25
  /**
5
26
  * .what = extracts blocker and nitpick counts from review content
6
27
  * .why = encapsulates regex extraction for readability
28
+ *
29
+ * .detected = whether BOTH dimensions carry an explicit numeric count.
30
+ * a reviewer must state a number for each (e.g. `0 blockers`, `2 nitpicks`).
31
+ * when a dimension has no numeric count, detected = false — the caller must NOT
32
+ * treat an absent count as zero. see rule.forbid.failhide + contract.reviewer-output.
33
+ * numbers-only by design: word-forms like "none"/"no blockers" do NOT count.
7
34
  */
8
35
  const getReviewCountsFromContent = (input) => {
9
- // match both formats:
10
- // 1. "blockers: N" (yaml/key-value format from review tools)
11
- // 2. "N blockers" (tree/prose format from skill output)
12
- const blockerMatch = input.content.match(/blockers?:\s*(\d+)/i) ||
13
- input.content.match(/(\d+)\s+blockers?/i);
14
- const nitpickMatch = input.content.match(/nitpicks?:\s*(\d+)/i) ||
15
- input.content.match(/(\d+)\s+nitpicks?/i);
36
+ const blockerCount = getLastCountForDimension({
37
+ content: input.content,
38
+ stem: 'blocker',
39
+ });
40
+ const nitpickCount = getLastCountForDimension({
41
+ content: input.content,
42
+ stem: 'nitpick',
43
+ });
44
+ // detected only when both dimensions declared a number
45
+ const detected = blockerCount !== undefined && nitpickCount !== undefined;
16
46
  return {
17
- blockers: blockerMatch?.[1] ? parseInt(blockerMatch[1], 10) : 0,
18
- nitpicks: nitpickMatch?.[1] ? parseInt(nitpickMatch[1], 10) : 0,
47
+ detected,
48
+ blockers: blockerCount ?? 0,
49
+ nitpicks: nitpickCount ?? 0,
19
50
  };
20
51
  };
21
52
  exports.getReviewCountsFromContent = getReviewCountsFromContent;
@@ -1 +1 @@
1
- {"version":3,"file":"getReviewCountsFromContent.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/guard/getReviewCountsFromContent.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACI,MAAM,0BAA0B,GAAG,CAAC,KAE1C,EAA0C,EAAE;IAC3C,sBAAsB;IACtB,6DAA6D;IAC7D,wDAAwD;IACxD,MAAM,YAAY,GAChB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAC1C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC5C,MAAM,YAAY,GAChB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAC1C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAE5C,OAAO;QACL,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,0BAA0B,8BAiBrC"}
1
+ {"version":3,"file":"getReviewCountsFromContent.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/guard/getReviewCountsFromContent.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,MAAM,wBAAwB,GAAG,CAAC,KAGjC,EAAsB,EAAE;IACvB,yFAAyF;IACzF,wFAAwF;IACxF,kFAAkF;IAClF,MAAM,OAAO,GAAG,IAAI,MAAM,CACxB,GAAG,KAAK,CAAC,IAAI,8BAA8B,KAAK,CAAC,IAAI,IAAI,EACzD,IAAI,CACL,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACI,MAAM,0BAA0B,GAAG,CAAC,KAE1C,EAA6D,EAAE;IAC9D,MAAM,YAAY,GAAG,wBAAwB,CAAC;QAC5C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,wBAAwB,CAAC;QAC5C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IAEH,uDAAuD;IACvD,MAAM,QAAQ,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,CAAC;IAE1E,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,YAAY,IAAI,CAAC;QAC3B,QAAQ,EAAE,YAAY,IAAI,CAAC;KAC5B,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,0BAA0B,8BAoBrC"}
@@ -29,7 +29,6 @@ const fs = __importStar(require("fs/promises"));
29
29
  const helpful_errors_1 = require("helpful-errors");
30
30
  const iso_time_1 = require("iso-time");
31
31
  const path = __importStar(require("path"));
32
- const rhachet_artifact_git_1 = require("rhachet-artifact-git");
33
32
  const util_1 = require("util");
34
33
  const RouteStoneGuard_1 = require("../../../domain.objects/Driver/RouteStoneGuard");
35
34
  const RouteStoneGuardReviewArtifact_1 = require("../../../domain.objects/Driver/RouteStoneGuardReviewArtifact");
@@ -38,10 +37,11 @@ const findsertReviewPeerGitignore_1 = require("../gitignore/findsertReviewPeerGi
38
37
  const getStoneGuardOverruledLevels_1 = require("../judges/getStoneGuardOverruledLevels");
39
38
  const formatTreeBucket_1 = require("./formatTreeBucket");
40
39
  const getAllStoneGuardArtifactsByHash_1 = require("./getAllStoneGuardArtifactsByHash");
40
+ const getDurationMsFromContent_1 = require("./getDurationMsFromContent");
41
41
  const getExitCodeClass_1 = require("./getExitCodeClass");
42
42
  const getLatestReviewArtifactForIndex_1 = require("./getLatestReviewArtifactForIndex");
43
+ const getRepoRootWithFallback_1 = require("./getRepoRootWithFallback");
43
44
  const getReviewCountsFromContent_1 = require("./getReviewCountsFromContent");
44
- const isENOENT_1 = require("./isENOENT");
45
45
  const computeReviewPeerVerdict_1 = require("./reviewPeerMeter/computeReviewPeerVerdict");
46
46
  const getAllRouteStoneGuardReviewPeerMeters_1 = require("./reviewPeerMeter/getAllRouteStoneGuardReviewPeerMeters");
47
47
  const getReviewedJudgeThresholds_1 = require("./reviewPeerMeter/getReviewedJudgeThresholds");
@@ -49,6 +49,11 @@ const isReviewPeerLevelTerminal_1 = require("./reviewPeerMeter/isReviewPeerLevel
49
49
  const isReviewPeerLevelUnlocked_1 = require("./reviewPeerMeter/isReviewPeerLevelUnlocked");
50
50
  const setRouteStoneGuardReviewPeerMeter_1 = require("./reviewPeerMeter/setRouteStoneGuardReviewPeerMeter");
51
51
  const execAsync = (0, util_1.promisify)(child_process_1.exec);
52
+ /**
53
+ * .what = path to the reviewer-output contract brief
54
+ * .why = named once so the malfunction reason and its comment cannot drift if the brief moves
55
+ */
56
+ const REVIEWER_OUTPUT_CONTRACT_BRIEF = '.agent/repo=bhrain/role=reviewer/briefs/contract.reviewer-output.md';
52
57
  /**
53
58
  * .what = extracts slug from peer review
54
59
  * .why = accessor for slug
@@ -106,20 +111,8 @@ const runOneStoneGuardReview = async (input) => {
106
111
  // findsert gitignore to keep peer-review artifacts out of git
107
112
  // .why = guard runs spam git with one artifact per reviewer/iteration/hash
108
113
  await (0, findsertReviewPeerGitignore_1.findsertReviewPeerGitignore)({ route: input.route });
109
- // lookup repo root for $rhx/$rhachet paths
110
- // .note = falls back to cwd when not in a git repo (e.g., integration tests)
111
- let repoRoot;
112
- try {
113
- repoRoot = await (0, rhachet_artifact_git_1.getGitRepoRoot)({ from: input.route });
114
- }
115
- catch (error) {
116
- // only catch "not in git repo" error; rethrow any other errors
117
- // .note = check error message instead of instanceof due to cross-module class instances
118
- const isNotInGitRepoError = error instanceof Error && error.message.includes('Not inside a Git');
119
- if (!isNotInGitRepoError)
120
- throw error;
121
- repoRoot = process.cwd();
122
- }
114
+ // lookup repo root for $rhx/$rhachet paths (cwd fallback when not in a git repo)
115
+ const repoRoot = await (0, getRepoRootWithFallback_1.getRepoRootWithFallback)({ from: input.route });
123
116
  // validate no npx patterns before variable substitution
124
117
  validateNoNpx(input.reviewCmd);
125
118
  // sanitize slug for filename
@@ -151,6 +144,10 @@ const runOneStoneGuardReview = async (input) => {
151
144
  };
152
145
  // compute timeout in milliseconds
153
146
  const timeoutMs = getReviewTimeoutMs(input.timeout);
147
+ // .note = deliberate mutation. stdout/stderr/exitCode accumulate across the exec
148
+ // try/catch (success vs error branch) and the later malfunction promotion.
149
+ // an imperative accumulator is the clearest shape for capture-output-on-both-paths;
150
+ // see rule.require.immutable-vars (annotated-mutation exception).
154
151
  let stdout = '';
155
152
  let stderr = '';
156
153
  let exitCode = 0;
@@ -187,7 +184,24 @@ const runOneStoneGuardReview = async (input) => {
187
184
  throw error;
188
185
  }
189
186
  }
190
- // classify exit code
187
+ // parse blockers and nitpicks from stdout via shared operation
188
+ // .note = parsed before artifact build so an undetectable count can promote to malfunction
189
+ const counts = (0, getReviewCountsFromContent_1.getReviewCountsFromContent)({ content: stdout });
190
+ const { blockers, nitpicks } = counts;
191
+ // promote a "successful" review to malfunction when its counts are undetectable
192
+ // .why = a reviewer that exits 0 but declares no numeric blocker/nitpick count cannot be
193
+ // trusted as "approved" — the guard cannot see its verdict. a silent 0/0 would look
194
+ // like a clean review when in truth no review was read. failfast as a malfunction so
195
+ // the guard blocks this reviewer instead. see rule.forbid.failhide.
196
+ // contract: REVIEWER_OUTPUT_CONTRACT_BRIEF
197
+ if (exitCode === 0 && !counts.detected) {
198
+ exitCode = 1;
199
+ const reason = '💥 malfunction: reviewer output lacks a numeric blocker/nitpick count ' +
200
+ '(expected `N blockers` and `N nitpicks`; use `0 blockers` / `0 nitpicks` to declare clean). ' +
201
+ `see ${REVIEWER_OUTPUT_CONTRACT_BRIEF}`;
202
+ stderr = [stderr, reason].filter((line) => line !== '').join('\n');
203
+ }
204
+ // classify exit code (after possible malfunction promotion)
191
205
  const exitClass = (0, getExitCodeClass_1.getExitCodeClass)({ code: exitCode });
192
206
  // format artifact content with tree buckets
193
207
  const artifactLines = [];
@@ -206,13 +220,8 @@ const runOneStoneGuardReview = async (input) => {
206
220
  const artifactContent = artifactLines.join('\n');
207
221
  // write stdout artifact file
208
222
  await fs.writeFile(stdoutPath, artifactContent);
209
- // parse blockers and nitpicks from stdout via shared operation
210
- const counts = (0, getReviewCountsFromContent_1.getReviewCountsFromContent)({ content: stdout });
211
- const { blockers, nitpicks } = counts;
212
- // parse duration from stdout
213
- // format: "└─ total: 51455ms" under metrics.realized > time
214
- const durationMatch = stdout.match(/total:\s*(\d+)ms/i);
215
- const durationMs = durationMatch?.[1] ? parseInt(durationMatch[1], 10) : null;
223
+ // parse duration from stdout via shared operation
224
+ const durationMs = (0, getDurationMsFromContent_1.getDurationMsFromContent)({ content: stdout });
216
225
  return new RouteStoneGuardReviewArtifact_1.RouteStoneGuardReviewArtifact({
217
226
  stone: { path: input.stone.path },
218
227
  hash: input.hash,
@@ -236,18 +245,7 @@ exports.runOneStoneGuardReview = runOneStoneGuardReview;
236
245
  const runStoneGuardReviews = async (input, context) => {
237
246
  // lookup git root for path relativization
238
247
  // .why = paths in output should be relative to git root (e.g., .behavior/v.../...), not route
239
- let gitRoot;
240
- try {
241
- gitRoot = await (0, rhachet_artifact_git_1.getGitRepoRoot)({ from: input.route });
242
- }
243
- catch (error) {
244
- // only catch "not in git repo" error; rethrow any other errors
245
- // .note = check error name instead of instanceof due to cross-module class instances
246
- const isNotInGitRepoError = error instanceof Error && error.message.includes('Not inside a Git');
247
- if (!isNotInGitRepoError)
248
- throw error;
249
- gitRoot = process.cwd();
250
- }
248
+ const gitRoot = await (0, getRepoRootWithFallback_1.getRepoRootWithFallback)({ from: input.route });
251
249
  // get prior artifacts for this hash to determine which reviews already done
252
250
  // reviews are cached by hash: same artifact content = reuse prior review
253
251
  // this avoids redundant compute when artifact hasn't changed
@@ -600,20 +598,4 @@ const substituteVars = (cmd, vars) => {
600
598
  .replace(/\$rhx/g, rhxPath)
601
599
  .replace(/\$rhachet/g, rhachetPath);
602
600
  };
603
- /**
604
- * .what = checks if file is present at path
605
- * .why = enables detection of files written by external commands
606
- */
607
- const isFilePresent = async (filePath) => {
608
- try {
609
- await fs.access(filePath);
610
- return true;
611
- }
612
- catch (error) {
613
- // only catch ENOENT (file not found); rethrow other errors
614
- if ((0, isENOENT_1.isENOENT)(error))
615
- return false;
616
- throw error;
617
- }
618
- };
619
601
  //# sourceMappingURL=runStoneGuardReviews.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runStoneGuardReviews.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/guard/runStoneGuardReviews.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runStoneGuardReviews.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/guard/runStoneGuardReviews.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  always:
2
2
  briefs:
3
3
  say:
4
+ - briefs/contract.reviewer-output.md
4
5
  - briefs/review.tactics.md
5
6
  - briefs/on.rules/rules101.[article].md
6
7
  - briefs/on.rules/rules101.structure.[article].md
@@ -0,0 +1,76 @@
1
+ # contract.reviewer-output
2
+
3
+ ## .what
4
+
5
+ the exact stdout contract every reviewer MUST satisfy so the route guard can read its verdict.
6
+
7
+ when a reviewer runs under a route guard (peer review), the guard parses the reviewer's
8
+ **stdout** to learn how many blockers and nitpicks it found. this brief states precisely what
9
+ that stdout must contain.
10
+
11
+ ## .why
12
+
13
+ the guard cannot pass a stone on a review it cannot read. if the guard finds no numeric count,
14
+ it can NOT assume zero — a silent "0 blockers, 0 nitpicks" would look like a clean approval when
15
+ in truth no verdict was seen. so an unreadable review is treated as a **`💥 malfunction`** for
16
+ that reviewer, and the stone blocks. see `rule.forbid.failhide`.
17
+
18
+ ## .the contract
19
+
20
+ your stdout MUST contain a **numeric** count for **both** dimensions:
21
+
22
+ - blockers: `N blockers` — or `blockers: N` — where `N` is an integer `>= 0`
23
+ - nitpicks: `N nitpicks` — or `nitpicks: N` — where `N` is an integer `>= 0`
24
+
25
+ to declare a clean review, state the zeros explicitly:
26
+
27
+ ```
28
+ 0 blockers
29
+ 0 nitpicks
30
+ ```
31
+
32
+ ## .numbers only
33
+
34
+ only a **number** counts. these do NOT satisfy the contract and cause a `💥 malfunction`:
35
+
36
+ | stdout | why it fails |
37
+ |--------|--------------|
38
+ | `blockers = none` | word-form, not a number |
39
+ | `no blockers found` | prose, not a numeric count |
40
+ | `blockers: n/a` | not a number |
41
+ | (blockers omitted entirely) | absent — the guard cannot infer zero |
42
+ | `looks solid, ship it` | no counts at all |
43
+
44
+ one form to emit, one form to parse. numbers are unambiguous; words invite drift and
45
+ incidental-match traps (e.g. "no major blockers here" must never read as a count).
46
+
47
+ ## .the canonical form
48
+
49
+ the built-in `rhx review` skill already conforms — it emits a summary tree via
50
+ `genReviewOutputStdout`:
51
+
52
+ ```
53
+ └─ summary
54
+ ├─ 0 blockers ✓
55
+ ├─ 2 nitpicks 🟠
56
+ └─ ...
57
+ ```
58
+
59
+ if you author your own reviewer, the **minimal** valid stdout is just the two numeric lines:
60
+
61
+ ```
62
+ 3 blockers
63
+ 1 nitpick
64
+ ```
65
+
66
+ ## .what the guard does with it
67
+
68
+ | your stdout | guard reads | outcome |
69
+ |-------------|-------------|---------|
70
+ | `0 blockers` + `0 nitpicks` | detected, clean | approved |
71
+ | `3 blockers` + `1 nitpick` | detected, issues | rejected (blocks per thresholds) |
72
+ | only one dimension, or none | undetected | `💥 malfunction` (blocks) |
73
+
74
+ ## .enforcement
75
+
76
+ reviewer stdout without a numeric count for both dimensions = `💥 malfunction` = **blocker**.
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.29.21",
5
+ "version": "0.29.22",
6
6
  "repository": "ehmpathy/rhachet-roles-bhrain",
7
7
  "homepage": "https://github.com/ehmpathy/rhachet-roles-bhrain",
8
8
  "keywords": [