rhachet-roles-bhrain 0.31.2 → 0.31.3
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/domain.operations/route/drive/formatRouteDriveBudgetExhausted.js +33 -0
- package/dist/domain.operations/route/drive/formatRouteDriveBudgetExhausted.js.map +1 -1
- package/dist/domain.operations/route/drive/formatRouteDriveMixedHalt.d.ts +21 -0
- package/dist/domain.operations/route/drive/formatRouteDriveMixedHalt.js +67 -0
- package/dist/domain.operations/route/drive/formatRouteDriveMixedHalt.js.map +1 -0
- package/dist/domain.operations/route/formatRouteStoneEmit.js +22 -1
- package/dist/domain.operations/route/formatRouteStoneEmit.js.map +1 -1
- package/dist/domain.operations/route/guard/review/peer/meter/getReviewPeerLadderStatus.d.ts +50 -0
- package/dist/domain.operations/route/guard/review/peer/meter/getReviewPeerLadderStatus.js +77 -0
- package/dist/domain.operations/route/guard/review/peer/meter/getReviewPeerLadderStatus.js.map +1 -0
- package/dist/domain.operations/route/guard/tree/formatGuardReviewLadderFooter.d.ts +26 -0
- package/dist/domain.operations/route/guard/tree/formatGuardReviewLadderFooter.js +79 -0
- package/dist/domain.operations/route/guard/tree/formatGuardReviewLadderFooter.js.map +1 -0
- package/dist/domain.operations/route/guard/tree/formatGuardReviewerTree.js +44 -4
- package/dist/domain.operations/route/guard/tree/formatGuardReviewerTree.js.map +1 -1
- package/dist/domain.operations/route/guard/tree/formatGuardTree.js +85 -52
- package/dist/domain.operations/route/guard/tree/formatGuardTree.js.map +1 -1
- package/dist/domain.operations/route/stepRouteDrive.js +35 -0
- package/dist/domain.operations/route/stepRouteDrive.js.map +1 -1
- package/dist/domain.operations/route/stones/setStoneAsPassed.js +91 -0
- package/dist/domain.operations/route/stones/setStoneAsPassed.js.map +1 -1
- package/dist/domain.roles/driver/boot.yml +4 -0
- package/dist/domain.roles/driver/briefs/howto.navigate-fulcrum-choices.[guide].md +82 -0
- package/dist/domain.roles/driver/briefs/rule.always.converge-to-terminal.md +108 -0
- package/dist/domain.roles/driver/briefs/rule.always.defer-fulcrums-to-last.md +79 -0
- package/dist/domain.roles/driver/briefs/rule.always.diagnose-reviewer-malfunctions.md +88 -0
- package/package.json +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatRouteDriveBudgetExhausted = void 0;
|
|
4
|
+
const getReviewPeerLadderStatus_1 = require("../guard/review/peer/meter/getReviewPeerLadderStatus");
|
|
5
|
+
const formatGuardReviewLadderFooter_1 = require("../guard/tree/formatGuardReviewLadderFooter");
|
|
4
6
|
const formatGuardTree_1 = require("../guard/tree/formatGuardTree");
|
|
5
7
|
const asRouteDisplayPath_1 = require("./asRouteDisplayPath");
|
|
6
8
|
/**
|
|
@@ -13,6 +15,37 @@ const asRouteDisplayPath_1 = require("./asRouteDisplayPath");
|
|
|
13
15
|
const formatRouteDriveBudgetExhausted = (input) => {
|
|
14
16
|
const approveCmd = `rhx route.stone.set --stone ${input.stone} --as approved`;
|
|
15
17
|
const passCmd = `rhx route.stone.set --stone ${input.stone} --as passed`;
|
|
18
|
+
// upward unlock — a lower level is exhausted (terminal) but a HIGHER level is live again
|
|
19
|
+
// (status.unlockTransition). this is NOT a spent ladder: the "halted, budget exhausted /
|
|
20
|
+
// ask a human" text would be a FALSE HALT (the vision's forbidden state) and would
|
|
21
|
+
// contradict the footer's "a human is only needed once every level is terminal" — two
|
|
22
|
+
// opposite reads in one stdout. so here render ONLY the reviews section + the "path
|
|
23
|
+
// continues" footer, which names the live level and the --as arrived re-drive. no human
|
|
24
|
+
// is needed yet (rule.require.single-source-of-truth-for-render).
|
|
25
|
+
const status = (0, getReviewPeerLadderStatus_1.getReviewPeerLadderStatus)({ peerMeters: input.meters });
|
|
26
|
+
if (status.unlockTransition) {
|
|
27
|
+
const unlockHeader = [
|
|
28
|
+
`🦉 where were we?`,
|
|
29
|
+
'',
|
|
30
|
+
`🗿 route.drive`,
|
|
31
|
+
` ├─ where do we go?`,
|
|
32
|
+
` │ ├─ route = ${(0, asRouteDisplayPath_1.asRouteDisplayPath)({ route: input.route })}`,
|
|
33
|
+
` │ └─ stone = ${input.stone}`,
|
|
34
|
+
` │`,
|
|
35
|
+
];
|
|
36
|
+
const unlockMeterLines = (0, formatGuardTree_1.formatReviewsMeterLines)({
|
|
37
|
+
meters: input.meters,
|
|
38
|
+
baseIndent: ' ',
|
|
39
|
+
sectionIndent: ' ',
|
|
40
|
+
includeHeader: true,
|
|
41
|
+
headerPrefix: '└─',
|
|
42
|
+
});
|
|
43
|
+
const ladderFooter = (0, formatGuardReviewLadderFooter_1.formatGuardReviewLadderFooter)({
|
|
44
|
+
stone: input.stone,
|
|
45
|
+
status,
|
|
46
|
+
});
|
|
47
|
+
return [...unlockHeader, ...unlockMeterLines, '', ...ladderFooter].join('\n');
|
|
48
|
+
}
|
|
16
49
|
// extract exhausted slugs from reason (format: "peer reviewer budget exhausted: slug1, slug2")
|
|
17
50
|
const exhaustedSlugs = [];
|
|
18
51
|
if (input.reason) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatRouteDriveBudgetExhausted.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/drive/formatRouteDriveBudgetExhausted.ts"],"names":[],"mappings":";;;AAAA,mEAGuC;AACvC,6DAA0D;AAE1D;;;;;;GAMG;AACI,MAAM,+BAA+B,GAAG,CAAC,KAK/C,EAAU,EAAE;IACX,MAAM,UAAU,GAAG,+BAA+B,KAAK,CAAC,KAAK,gBAAgB,CAAC;IAC9E,MAAM,OAAO,GAAG,+BAA+B,KAAK,CAAC,KAAK,cAAc,CAAC;IAEzE,+FAA+F;IAC/F,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC9D,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,MAAM,OAAO,GACX,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAA,uCAAkB,EAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC3D,sEAAsE;IACtE,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtB,wDAAwD;IACxD,MAAM,UAAU,GAAG,IAAA,yCAAuB,EAAC;QACzC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,QAAQ;QACpB,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtB,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CACR,6DAA6D,OAAO,YAAY,KAAK,CAAC,KAAK,EAAE,CAC9F,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"formatRouteDriveBudgetExhausted.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/drive/formatRouteDriveBudgetExhausted.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type GuardPeerMeterStatus } from '../guard/tree/formatGuardTree';
|
|
2
|
+
/**
|
|
3
|
+
* .what = formats the route.drive replay of a MIXED halt — a malfunction (or constraint)
|
|
4
|
+
* that broke in the SAME pass a lower level exhausted, so every reason + every
|
|
5
|
+
* remedy must show at once
|
|
6
|
+
* .why = a mixed halt persists status='malfunction' with a combined reason
|
|
7
|
+
* ("reviewer or judge malfunctioned; peer reviewer budget exhausted: <slugs>"). the
|
|
8
|
+
* onBoot/onStop replay must NOT collapse it to the bare "guard malfunction, tell a
|
|
9
|
+
* human" escalation — that drops the also-present exhaustion + its overrule/budget
|
|
10
|
+
* remedies, which sends the human down a path that hits a SECOND, unwarned block. this
|
|
11
|
+
* renders the full halt so the replay names every reason and offers every remedy,
|
|
12
|
+
* with the SAME labels the live guard tree emits (overrule / increase budget /
|
|
13
|
+
* approve as-is), so a driver reads the two surfaces as one story
|
|
14
|
+
* (rule.require.single-source-of-truth-for-render).
|
|
15
|
+
*/
|
|
16
|
+
export declare const formatRouteDriveMixedHalt: (input: {
|
|
17
|
+
route: string;
|
|
18
|
+
stone: string;
|
|
19
|
+
reason: string;
|
|
20
|
+
meters: GuardPeerMeterStatus[];
|
|
21
|
+
}) => string;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatRouteDriveMixedHalt = void 0;
|
|
4
|
+
const formatGuardTree_1 = require("../guard/tree/formatGuardTree");
|
|
5
|
+
const asRouteDisplayPath_1 = require("./asRouteDisplayPath");
|
|
6
|
+
/**
|
|
7
|
+
* .what = formats the route.drive replay of a MIXED halt — a malfunction (or constraint)
|
|
8
|
+
* that broke in the SAME pass a lower level exhausted, so every reason + every
|
|
9
|
+
* remedy must show at once
|
|
10
|
+
* .why = a mixed halt persists status='malfunction' with a combined reason
|
|
11
|
+
* ("reviewer or judge malfunctioned; peer reviewer budget exhausted: <slugs>"). the
|
|
12
|
+
* onBoot/onStop replay must NOT collapse it to the bare "guard malfunction, tell a
|
|
13
|
+
* human" escalation — that drops the also-present exhaustion + its overrule/budget
|
|
14
|
+
* remedies, which sends the human down a path that hits a SECOND, unwarned block. this
|
|
15
|
+
* renders the full halt so the replay names every reason and offers every remedy,
|
|
16
|
+
* with the SAME labels the live guard tree emits (overrule / increase budget /
|
|
17
|
+
* approve as-is), so a driver reads the two surfaces as one story
|
|
18
|
+
* (rule.require.single-source-of-truth-for-render).
|
|
19
|
+
*/
|
|
20
|
+
const formatRouteDriveMixedHalt = (input) => {
|
|
21
|
+
const overruleCmd = `rhx route.stone.set --stone ${input.stone} --as overruled`;
|
|
22
|
+
const approveCmd = `rhx route.stone.set --stone ${input.stone} --as approved`;
|
|
23
|
+
// extract the exhausted reviewer slugs from the combined reason (exhaustion is last)
|
|
24
|
+
const exhaustedMatch = input.reason.match(/budget exhausted:\s*(.+)/);
|
|
25
|
+
const exhaustedSlugs = exhaustedMatch?.[1]
|
|
26
|
+
? exhaustedMatch[1].split(',').map((s) => s.trim())
|
|
27
|
+
: [];
|
|
28
|
+
const peerArg = exhaustedSlugs.length === 1 ? ` --peer ${exhaustedSlugs[0]}` : '';
|
|
29
|
+
const budgetCmd = `rhx route.guard.budget --for review --add N${peerArg} --stone ${input.stone}`;
|
|
30
|
+
// malfunction outranks constraint for the overrule noun
|
|
31
|
+
const overruleNoun = input.reason.includes('malfunction')
|
|
32
|
+
? 'malfunction'
|
|
33
|
+
: 'constraint';
|
|
34
|
+
const lines = [];
|
|
35
|
+
lines.push(`🦉 where were we?`);
|
|
36
|
+
lines.push('');
|
|
37
|
+
lines.push(`🗿 route.drive`);
|
|
38
|
+
lines.push(` ├─ where do we go?`);
|
|
39
|
+
lines.push(` │ ├─ route = ${(0, asRouteDisplayPath_1.asRouteDisplayPath)({ route: input.route })}`);
|
|
40
|
+
lines.push(` │ └─ stone = ${input.stone}`);
|
|
41
|
+
lines.push(` │`);
|
|
42
|
+
lines.push(` └─ halted, ${input.reason}`);
|
|
43
|
+
lines.push(` │`);
|
|
44
|
+
// peer reviewer meters section via the shared formatter
|
|
45
|
+
const meterLines = (0, formatGuardTree_1.formatReviewsMeterLines)({
|
|
46
|
+
meters: input.meters,
|
|
47
|
+
baseIndent: ' ',
|
|
48
|
+
sectionIndent: '│ ',
|
|
49
|
+
includeHeader: true,
|
|
50
|
+
headerPrefix: '├─',
|
|
51
|
+
});
|
|
52
|
+
lines.push(...meterLines);
|
|
53
|
+
lines.push(` │`);
|
|
54
|
+
// every remedy, one per concurrent gate, in precedence order
|
|
55
|
+
lines.push(` └─ please ask a human to either`);
|
|
56
|
+
lines.push(` ├─ overrule the ${overruleNoun}`);
|
|
57
|
+
lines.push(` │ └─ ${overruleCmd}`);
|
|
58
|
+
lines.push(` │`);
|
|
59
|
+
lines.push(` ├─ increase budget (then rerun)`);
|
|
60
|
+
lines.push(` │ └─ ${budgetCmd}`);
|
|
61
|
+
lines.push(` │`);
|
|
62
|
+
lines.push(` └─ approve as-is`);
|
|
63
|
+
lines.push(` └─ ${approveCmd}`);
|
|
64
|
+
return lines.join('\n');
|
|
65
|
+
};
|
|
66
|
+
exports.formatRouteDriveMixedHalt = formatRouteDriveMixedHalt;
|
|
67
|
+
//# sourceMappingURL=formatRouteDriveMixedHalt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatRouteDriveMixedHalt.js","sourceRoot":"","sources":["../../../../src/domain.operations/route/drive/formatRouteDriveMixedHalt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatRouteStoneEmit = void 0;
|
|
4
|
+
const getReviewPeerLadderStatus_1 = require("./guard/review/peer/meter/getReviewPeerLadderStatus");
|
|
4
5
|
const getSelfReviewArticulationPath_1 = require("./guard/review/self/getSelfReviewArticulationPath");
|
|
6
|
+
const formatGuardReviewLadderFooter_1 = require("./guard/tree/formatGuardReviewLadderFooter");
|
|
5
7
|
const formatGuardTree_1 = require("./guard/tree/formatGuardTree");
|
|
6
8
|
const formatLetsReflect_1 = require("./guard/tree/formatLetsReflect");
|
|
7
9
|
const formatPatienceFriend_1 = require("./guard/tree/formatPatienceFriend");
|
|
@@ -66,7 +68,26 @@ const formatRouteStoneEmit = (input) => {
|
|
|
66
68
|
if (input.passage === 'allowed' || input.passage === 'overruled') {
|
|
67
69
|
return [header, '', tree, ...REMINDER_LINES].join('\n');
|
|
68
70
|
}
|
|
69
|
-
|
|
71
|
+
// append the "path continues" footer at an upward unlock transition — a lower level
|
|
72
|
+
// is terminal (INCLUDING by exhaustion) while a HIGHER level is now the live gate. the
|
|
73
|
+
// footer self-gates on status.unlockTransition, so it stays silent for an all-terminal
|
|
74
|
+
// halt (the halt's own options block guides instead) or a regression state
|
|
75
|
+
// (rule.require.single-source-of-truth-for-render — derived from the same peerMeters).
|
|
76
|
+
const ladderStatus = input.guard.peerMeters
|
|
77
|
+
? (0, getReviewPeerLadderStatus_1.getReviewPeerLadderStatus)({ peerMeters: input.guard.peerMeters })
|
|
78
|
+
: null;
|
|
79
|
+
const ladderFooter = ladderStatus
|
|
80
|
+
? (0, formatGuardReviewLadderFooter_1.formatGuardReviewLadderFooter)({
|
|
81
|
+
stone: input.stone,
|
|
82
|
+
status: ladderStatus,
|
|
83
|
+
})
|
|
84
|
+
: [];
|
|
85
|
+
return [
|
|
86
|
+
header,
|
|
87
|
+
'',
|
|
88
|
+
tree,
|
|
89
|
+
...(ladderFooter.length > 0 ? ['', ...ladderFooter] : []),
|
|
90
|
+
].join('\n');
|
|
70
91
|
}
|
|
71
92
|
// handle review.self blocked case
|
|
72
93
|
if (input.action === 'passed' && input.selfReview) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatRouteStoneEmit.js","sourceRoot":"","sources":["../../../src/domain.operations/route/formatRouteStoneEmit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formatRouteStoneEmit.js","sourceRoot":"","sources":["../../../src/domain.operations/route/formatRouteStoneEmit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { GuardPeerMeterStatus } from '../../../tree/formatGuardTree';
|
|
2
|
+
import type { ReviewPeerVerdict } from './computeReviewPeerVerdict';
|
|
3
|
+
/**
|
|
4
|
+
* .what = one terminal level in the ladder, with the representative verdict that
|
|
5
|
+
* earned its terminal state (the most-escalated verdict at the level)
|
|
6
|
+
* .why = the footer names WHY a level no longer blocks — "l1 is terminal (exhausted)"
|
|
7
|
+
*/
|
|
8
|
+
export interface ReviewPeerLadderLevelTerminal {
|
|
9
|
+
level: number;
|
|
10
|
+
verdict: ReviewPeerVerdict;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* .what = the ladder's terminal/live shape, derived from the peer meters
|
|
14
|
+
* .why = the "path continues" footer needs to say which levels are DONE (terminal),
|
|
15
|
+
* which level is NOW LIVE (the active gate), and whether the whole ladder is
|
|
16
|
+
* spent — all three read from the SAME peerMeters the tree already renders, so
|
|
17
|
+
* the footer can never drift from the reviewer lines above it
|
|
18
|
+
* (rule.require.single-source-of-truth-for-render)
|
|
19
|
+
*/
|
|
20
|
+
export interface ReviewPeerLadderStatus {
|
|
21
|
+
/** levels where every reviewer is terminal, low-to-high, each with a representative verdict */
|
|
22
|
+
terminalLevels: ReviewPeerLadderLevelTerminal[];
|
|
23
|
+
/** the lowest non-terminal level — the active gate now — or null when every level is terminal */
|
|
24
|
+
liveLevel: number | null;
|
|
25
|
+
/** every level is terminal (no live gate remains) */
|
|
26
|
+
allTerminal: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* a lower level went terminal via a HUMAN-DEFERRABLE verdict (approved or exhausted) and a
|
|
29
|
+
* HIGHER level is now the live gate — the true "path continues" unlock moment
|
|
30
|
+
* (lower-unlocks-higher). the sole gate the ladder footer reads. false when:
|
|
31
|
+
* - the live gate sits below every terminal level (a regression state, e.g. a higher level
|
|
32
|
+
* approved via overrule while a lower level re-rejects) — NOT an unlock, so the footer must
|
|
33
|
+
* not name the base level as "now live"; OR
|
|
34
|
+
* - any terminal level is malfunction/constraint — those need a human NOW (to overrule or fix
|
|
35
|
+
* the broken reviewer), which contradicts the footer's "a human is only needed once every
|
|
36
|
+
* level is terminal" line. only exhaustion/approval legitimately DEFER the human; a
|
|
37
|
+
* malfunction/constraint halt's own remedy block ("overrule the malfunction") carries the
|
|
38
|
+
* guidance instead, so the footer stays silent.
|
|
39
|
+
*/
|
|
40
|
+
unlockTransition: boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* .what = derives the ladder's terminal/live shape from the current peer meters
|
|
44
|
+
* .why = one transformer computes what the footer and any caller need to know about the
|
|
45
|
+
* ladder — which levels are done, which is live, whether all are spent — so the
|
|
46
|
+
* guidance is a read of the meters, never a hand-rolled re-derivation
|
|
47
|
+
*/
|
|
48
|
+
export declare const getReviewPeerLadderStatus: (input: {
|
|
49
|
+
peerMeters: GuardPeerMeterStatus[];
|
|
50
|
+
}) => ReviewPeerLadderStatus;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getReviewPeerLadderStatus = void 0;
|
|
4
|
+
const isReviewPeerLevelTerminal_1 = require("./isReviewPeerLevelTerminal");
|
|
5
|
+
/** verdict precedence for a level's representative label — most-escalated first */
|
|
6
|
+
const VERDICT_ESCALATION_ORDER = [
|
|
7
|
+
'malfunction',
|
|
8
|
+
'constraint',
|
|
9
|
+
'exhausted',
|
|
10
|
+
'approved',
|
|
11
|
+
];
|
|
12
|
+
/**
|
|
13
|
+
* .what = whether a terminal verdict lets the driver DEFER the human (vs need one now)
|
|
14
|
+
* .why = the footer promises "a human is only needed once every level is terminal" — true only
|
|
15
|
+
* when the terminal levels are approved or exhausted (the driver did all it could, or the
|
|
16
|
+
* level passed clean). a malfunction/constraint is terminal-for-unlock too, but it needs a
|
|
17
|
+
* human NOW (overrule the broken reviewer / lift the constraint), so it does NOT defer the
|
|
18
|
+
* human — the footer stays silent there, so the halt's own remedy block guides instead.
|
|
19
|
+
*/
|
|
20
|
+
const isReviewPeerVerdictDeferrable = (verdict) => verdict === 'approved' || verdict === 'exhausted';
|
|
21
|
+
/**
|
|
22
|
+
* .what = the single representative verdict for a terminal level
|
|
23
|
+
* .why = a level can hold several reviewers with different terminal verdicts; the footer
|
|
24
|
+
* shows one, and the human most needs the most-escalated (a malfunction outranks an
|
|
25
|
+
* approved) — so the parenthetical names the verdict that most warrants attention
|
|
26
|
+
*/
|
|
27
|
+
const asRepresentativeTerminalVerdict = (verdicts) => {
|
|
28
|
+
for (const candidate of VERDICT_ESCALATION_ORDER)
|
|
29
|
+
if (verdicts.includes(candidate))
|
|
30
|
+
return candidate;
|
|
31
|
+
// every terminal verdict is in the escalation order, so this is unreachable in practice;
|
|
32
|
+
// fall back to the first present verdict to stay total
|
|
33
|
+
return verdicts[0] ?? 'approved';
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* .what = derives the ladder's terminal/live shape from the current peer meters
|
|
37
|
+
* .why = one transformer computes what the footer and any caller need to know about the
|
|
38
|
+
* ladder — which levels are done, which is live, whether all are spent — so the
|
|
39
|
+
* guidance is a read of the meters, never a hand-rolled re-derivation
|
|
40
|
+
*/
|
|
41
|
+
const getReviewPeerLadderStatus = (input) => {
|
|
42
|
+
// unique levels, low-to-high — the ladder rungs in order
|
|
43
|
+
const levels = [...new Set(input.peerMeters.map((m) => m.level))].sort((a, b) => a - b);
|
|
44
|
+
const terminalLevels = [];
|
|
45
|
+
let liveLevel = null;
|
|
46
|
+
for (const level of levels) {
|
|
47
|
+
const atLevel = input.peerMeters.filter((m) => m.level === level);
|
|
48
|
+
const levelTerminal = atLevel.every((m) => (0, isReviewPeerLevelTerminal_1.isReviewPeerVerdictTerminal)(m.verdict));
|
|
49
|
+
// a terminal level joins the "done" list with its representative verdict
|
|
50
|
+
if (levelTerminal) {
|
|
51
|
+
terminalLevels.push({
|
|
52
|
+
level,
|
|
53
|
+
verdict: asRepresentativeTerminalVerdict(atLevel.map((m) => m.verdict)),
|
|
54
|
+
});
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
// the first non-terminal level is the live gate (lowest, since levels sort low-to-high)
|
|
58
|
+
if (liveLevel === null)
|
|
59
|
+
liveLevel = level;
|
|
60
|
+
}
|
|
61
|
+
// the unlock moment: a terminal level sits BELOW the live gate (lower-unlocks-higher) AND
|
|
62
|
+
// every terminal level is human-DEFERRABLE (approved or exhausted). false when:
|
|
63
|
+
// - no terminal level is below the live gate (a regression state, not an unlock), OR
|
|
64
|
+
// - any terminal level is malfunction/constraint — those need a human NOW, so the footer's
|
|
65
|
+
// "human only needed once all terminal" would contradict the halt's "overrule now" remedy.
|
|
66
|
+
const unlockTransition = liveLevel !== null &&
|
|
67
|
+
terminalLevels.some((terminal) => terminal.level < liveLevel) &&
|
|
68
|
+
terminalLevels.every((terminal) => isReviewPeerVerdictDeferrable(terminal.verdict));
|
|
69
|
+
return {
|
|
70
|
+
terminalLevels,
|
|
71
|
+
liveLevel,
|
|
72
|
+
allTerminal: liveLevel === null && terminalLevels.length > 0,
|
|
73
|
+
unlockTransition,
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
exports.getReviewPeerLadderStatus = getReviewPeerLadderStatus;
|
|
77
|
+
//# sourceMappingURL=getReviewPeerLadderStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReviewPeerLadderStatus.js","sourceRoot":"","sources":["../../../../../../../src/domain.operations/route/guard/review/peer/meter/getReviewPeerLadderStatus.ts"],"names":[],"mappings":";;;AAEA,2EAA0E;AA2C1E,mFAAmF;AACnF,MAAM,wBAAwB,GAAwB;IACpD,aAAa;IACb,YAAY;IACZ,WAAW;IACX,UAAU;CACX,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,6BAA6B,GAAG,CAAC,OAA0B,EAAW,EAAE,CAC5E,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,WAAW,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,+BAA+B,GAAG,CACtC,QAA6B,EACV,EAAE;IACrB,KAAK,MAAM,SAAS,IAAI,wBAAwB;QAC9C,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACrD,yFAAyF;IACzF,uDAAuD;IACvD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;AACnC,CAAC,CAAC;AAEF;;;;;GAKG;AACI,MAAM,yBAAyB,GAAG,CAAC,KAEzC,EAA0B,EAAE;IAC3B,yDAAyD;IACzD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CACpE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAChB,CAAC;IAEF,MAAM,cAAc,GAAoC,EAAE,CAAC;IAC3D,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,IAAA,uDAA2B,EAAC,CAAC,CAAC,OAAO,CAAC,CACvC,CAAC;QAEF,yEAAyE;QACzE,IAAI,aAAa,EAAE,CAAC;YAClB,cAAc,CAAC,IAAI,CAAC;gBAClB,KAAK;gBACL,OAAO,EAAE,+BAA+B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aACxE,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,wFAAwF;QACxF,IAAI,SAAS,KAAK,IAAI;YAAE,SAAS,GAAG,KAAK,CAAC;IAC5C,CAAC;IAED,0FAA0F;IAC1F,gFAAgF;IAChF,qFAAqF;IACrF,2FAA2F;IAC3F,6FAA6F;IAC7F,MAAM,gBAAgB,GACpB,SAAS,KAAK,IAAI;QAClB,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;QAC7D,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChC,6BAA6B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAChD,CAAC;IAEJ,OAAO;QACL,cAAc;QACd,SAAS;QACT,WAAW,EAAE,SAAS,KAAK,IAAI,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAC5D,gBAAgB;KACjB,CAAC;AACJ,CAAC,CAAC;AAhDW,QAAA,yBAAyB,6BAgDpC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ReviewPeerLadderStatus } from '../review/peer/meter/getReviewPeerLadderStatus';
|
|
2
|
+
/**
|
|
3
|
+
* .what = renders the "path continues" hint — a STANDALONE block (own 🪷 header) that the
|
|
4
|
+
* vision's day-in-the-life mockup shows beneath the guard tree
|
|
5
|
+
* .why = the wish's headline UX deliverable: when a lower level goes terminal (INCLUDING by
|
|
6
|
+
* exhaustion) and a higher level is now the live gate, the driver must be told plainly
|
|
7
|
+
* that the lower level no longer blocks, WHICH level has engaged, the exact command to
|
|
8
|
+
* re-drive, and that a human is only needed once every level is terminal. the
|
|
9
|
+
* per-reviewer `terminal — does not block higher levels` line kills the "it is all
|
|
10
|
+
* halted" misread at the reviewer; this hint answers the next question — "so where do i
|
|
11
|
+
* go now?" — at the ladder level. it stands APART from the `🗿 route.stone.set` tree (its
|
|
12
|
+
* own header, peer to the tree) so the driver reads it as guidance, not guard metadata.
|
|
13
|
+
* .note = derived entirely from the ladder status (a read of the SAME peerMeters the tree
|
|
14
|
+
* renders), so the hint can never drift from the reviewer lines
|
|
15
|
+
* (rule.require.single-source-of-truth-for-render).
|
|
16
|
+
* .note = shown ONLY at the unlock transition — a lower level terminal AND a HIGHER level now
|
|
17
|
+
* live (status.unlockTransition). when every level is terminal there is no live gate to
|
|
18
|
+
* point at, so the halt's own "options" block (overrule / budget / approve) carries the
|
|
19
|
+
* human guidance instead; and when the live gate sits below every terminal level (a
|
|
20
|
+
* regression state, e.g. a higher level approved via overrule while the base re-rejects)
|
|
21
|
+
* there is no upward unlock to narrate, so the hint stays silent.
|
|
22
|
+
*/
|
|
23
|
+
export declare const formatGuardReviewLadderFooter: (input: {
|
|
24
|
+
stone: string;
|
|
25
|
+
status: ReviewPeerLadderStatus;
|
|
26
|
+
}) => string[];
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatGuardReviewLadderFooter = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* the verdict glyphs the footer can show. only DEFERRABLE terminal verdicts ever reach the
|
|
6
|
+
* footer (status.unlockTransition gates out malfunction/constraint), so exhausted (🌙) is the
|
|
7
|
+
* only glyph — approved carries none. malfunction (💥) / constraint (✋) never render here; their
|
|
8
|
+
* halt shows its own remedy block instead (see getReviewPeerLadderStatus.unlockTransition).
|
|
9
|
+
*/
|
|
10
|
+
const VERDICT_GLYPH = {
|
|
11
|
+
exhausted: ' 🌙',
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* .what = the label for a terminal level's line, e.g. "l1 is terminal (exhausted 🌙)"
|
|
15
|
+
* .why = names WHY the level no longer blocks, with the same glyph the reviewer line above
|
|
16
|
+
* carries, so a driver reads the footer and the tree as one consistent story
|
|
17
|
+
*/
|
|
18
|
+
const asTerminalLevelLabel = (level) => {
|
|
19
|
+
const glyph = VERDICT_GLYPH[level.verdict] ?? '';
|
|
20
|
+
return `l${level.level} is terminal (${level.verdict}${glyph}) — it no longer blocks you`;
|
|
21
|
+
};
|
|
22
|
+
/** the header glyph — a lotus for the way that opens, set apart as a calm hint */
|
|
23
|
+
const FOOTER_HEADER = '🪷 the path continues';
|
|
24
|
+
/**
|
|
25
|
+
* .what = renders the "path continues" hint — a STANDALONE block (own 🪷 header) that the
|
|
26
|
+
* vision's day-in-the-life mockup shows beneath the guard tree
|
|
27
|
+
* .why = the wish's headline UX deliverable: when a lower level goes terminal (INCLUDING by
|
|
28
|
+
* exhaustion) and a higher level is now the live gate, the driver must be told plainly
|
|
29
|
+
* that the lower level no longer blocks, WHICH level has engaged, the exact command to
|
|
30
|
+
* re-drive, and that a human is only needed once every level is terminal. the
|
|
31
|
+
* per-reviewer `terminal — does not block higher levels` line kills the "it is all
|
|
32
|
+
* halted" misread at the reviewer; this hint answers the next question — "so where do i
|
|
33
|
+
* go now?" — at the ladder level. it stands APART from the `🗿 route.stone.set` tree (its
|
|
34
|
+
* own header, peer to the tree) so the driver reads it as guidance, not guard metadata.
|
|
35
|
+
* .note = derived entirely from the ladder status (a read of the SAME peerMeters the tree
|
|
36
|
+
* renders), so the hint can never drift from the reviewer lines
|
|
37
|
+
* (rule.require.single-source-of-truth-for-render).
|
|
38
|
+
* .note = shown ONLY at the unlock transition — a lower level terminal AND a HIGHER level now
|
|
39
|
+
* live (status.unlockTransition). when every level is terminal there is no live gate to
|
|
40
|
+
* point at, so the halt's own "options" block (overrule / budget / approve) carries the
|
|
41
|
+
* human guidance instead; and when the live gate sits below every terminal level (a
|
|
42
|
+
* regression state, e.g. a higher level approved via overrule while the base re-rejects)
|
|
43
|
+
* there is no upward unlock to narrate, so the hint stays silent.
|
|
44
|
+
*/
|
|
45
|
+
const formatGuardReviewLadderFooter = (input) => {
|
|
46
|
+
// render only at a true upward unlock — a lower level terminal beneath a higher live gate.
|
|
47
|
+
// silent otherwise: all-terminal (halt options guide instead) or a regression state where
|
|
48
|
+
// the live gate sits below every terminal level (no upward unlock to narrate).
|
|
49
|
+
if (!input.status.unlockTransition)
|
|
50
|
+
return [];
|
|
51
|
+
// build the ordered child groups: each terminal level, then the live level (+ its
|
|
52
|
+
// re-drive command), then the human-backstop reminder
|
|
53
|
+
const groups = [];
|
|
54
|
+
for (const terminal of input.status.terminalLevels)
|
|
55
|
+
groups.push({ label: asTerminalLevelLabel(terminal), cmd: null });
|
|
56
|
+
groups.push({
|
|
57
|
+
label: `l${input.status.liveLevel} has engaged — address its blockers, then:`,
|
|
58
|
+
cmd: `rhx route.stone.set --stone ${input.stone} --as arrived`,
|
|
59
|
+
});
|
|
60
|
+
groups.push({
|
|
61
|
+
label: `a human is only needed once every level is terminal`,
|
|
62
|
+
cmd: null,
|
|
63
|
+
});
|
|
64
|
+
// render as a standalone top-level block: the 🪷 header, then box-draw children at the
|
|
65
|
+
// same 3-space indent the other top-level blocks (🗿 route.stone.set) use
|
|
66
|
+
const lines = [FOOTER_HEADER];
|
|
67
|
+
groups.forEach((group, i) => {
|
|
68
|
+
const isLast = i === groups.length - 1;
|
|
69
|
+
const connector = isLast ? '└─' : '├─';
|
|
70
|
+
lines.push(` ${connector} ${group.label}`);
|
|
71
|
+
if (group.cmd !== null) {
|
|
72
|
+
const cmdIndent = isLast ? ' ' : '│ ';
|
|
73
|
+
lines.push(` ${cmdIndent}└─ ${group.cmd}`);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
return lines;
|
|
77
|
+
};
|
|
78
|
+
exports.formatGuardReviewLadderFooter = formatGuardReviewLadderFooter;
|
|
79
|
+
//# sourceMappingURL=formatGuardReviewLadderFooter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatGuardReviewLadderFooter.js","sourceRoot":"","sources":["../../../../../src/domain.operations/route/guard/tree/formatGuardReviewLadderFooter.ts"],"names":[],"mappings":";;;AAMA;;;;;GAKG;AACH,MAAM,aAAa,GAA+C;IAChE,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,CAAC,KAAoC,EAAU,EAAE;IAC5E,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACjD,OAAO,IAAI,KAAK,CAAC,KAAK,iBAAiB,KAAK,CAAC,OAAO,GAAG,KAAK,6BAA6B,CAAC;AAC5F,CAAC,CAAC;AAEF,kFAAkF;AAClF,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,MAAM,6BAA6B,GAAG,CAAC,KAG7C,EAAY,EAAE;IACb,2FAA2F;IAC3F,0FAA0F;IAC1F,+EAA+E;IAC/E,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB;QAAE,OAAO,EAAE,CAAC;IAE9C,kFAAkF;IAClF,sDAAsD;IACtD,MAAM,MAAM,GAAiD,EAAE,CAAC;IAChE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc;QAChD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,IAAI,CAAC;QACV,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,4CAA4C;QAC7E,GAAG,EAAE,+BAA+B,KAAK,CAAC,KAAK,eAAe;KAC/D,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,KAAK,EAAE,qDAAqD;QAC5D,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;IAEH,uFAAuF;IACvF,0EAA0E;IAC1E,MAAM,KAAK,GAAa,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,MAAM,SAAS,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AApCW,QAAA,6BAA6B,iCAoCxC"}
|
|
@@ -15,6 +15,14 @@ const asTakenDetailLine = (pathGiven) => {
|
|
|
15
15
|
return null;
|
|
16
16
|
return `taken: ${(0, getRouteGuardReviewPeerPathTaken_1.getRouteGuardReviewPeerPathTaken)({ pathGiven })}`;
|
|
17
17
|
};
|
|
18
|
+
/**
|
|
19
|
+
* .what = the one reassurance line every TERMINAL-for-unlock verdict carries
|
|
20
|
+
* .why = single source of truth so the four terminal verdicts (exhausted, malfunction,
|
|
21
|
+
* constraint, and any future kind) stay in lockstep — the asymmetry this narrative
|
|
22
|
+
* was added to kill must not recur through a copy that one branch forgets to update.
|
|
23
|
+
* speaks only to the LADDER (higher levels unlock and run); passage may still block.
|
|
24
|
+
*/
|
|
25
|
+
const TERMINAL_UNLOCK_NARRATIVE = 'terminal — does not block higher levels';
|
|
18
26
|
/**
|
|
19
27
|
* .what = formats a single reviewer as tree lines
|
|
20
28
|
* .why = shared format for inflight progress and final result contexts
|
|
@@ -52,7 +60,15 @@ const formatGuardReviewerTree = (input) => {
|
|
|
52
60
|
return lines;
|
|
53
61
|
}
|
|
54
62
|
if (state.type === 'malfunction') {
|
|
55
|
-
|
|
63
|
+
// terminal narrative: malfunction is TERMINAL-for-unlock (isReviewPeerVerdictTerminal),
|
|
64
|
+
// so like exhausted it never holds the ladder — higher levels unlock and run. it DOES
|
|
65
|
+
// block passage (the reviewer broke), but a driver must not misread it as "the whole
|
|
66
|
+
// ladder is halted here". same reassurance line as exhausted, for the same invariant. (D5)
|
|
67
|
+
const detailLines = [
|
|
68
|
+
'malfunction 💥',
|
|
69
|
+
TERMINAL_UNLOCK_NARRATIVE,
|
|
70
|
+
`given: ${state.path}`,
|
|
71
|
+
];
|
|
56
72
|
const takenLine = asTakenDetailLine(state.path);
|
|
57
73
|
if (takenLine)
|
|
58
74
|
detailLines.push(takenLine);
|
|
@@ -60,7 +76,15 @@ const formatGuardReviewerTree = (input) => {
|
|
|
60
76
|
return lines;
|
|
61
77
|
}
|
|
62
78
|
if (state.type === 'constraint') {
|
|
63
|
-
|
|
79
|
+
// terminal narrative: constraint is TERMINAL-for-unlock (isReviewPeerVerdictTerminal),
|
|
80
|
+
// so like exhausted it never holds the ladder — higher levels unlock and run. it DOES
|
|
81
|
+
// block passage (needs a fix or an overrule), but a driver must not misread it as "the
|
|
82
|
+
// whole ladder is halted here". same reassurance line as exhausted, same invariant. (D5)
|
|
83
|
+
const detailLines = [
|
|
84
|
+
'constraint ✋',
|
|
85
|
+
TERMINAL_UNLOCK_NARRATIVE,
|
|
86
|
+
`given: ${state.path}`,
|
|
87
|
+
];
|
|
64
88
|
const takenLine = asTakenDetailLine(state.path);
|
|
65
89
|
if (takenLine)
|
|
66
90
|
detailLines.push(takenLine);
|
|
@@ -70,13 +94,29 @@ const formatGuardReviewerTree = (input) => {
|
|
|
70
94
|
// finished state: approved, rejected, or exhausted
|
|
71
95
|
if (state.type === 'finished') {
|
|
72
96
|
const detailLines = [];
|
|
97
|
+
// verdict glyph: exhausted carries the 🌙 marker — an earned exhaustion, the level
|
|
98
|
+
// spent its whole budget on genuine convergence effort and yields (see the driver
|
|
99
|
+
// brief rule.always.converge-to-terminal). only exhausted gets a glyph here.
|
|
100
|
+
const verdictGlyph = state.verdict === 'exhausted' ? ' 🌙' : '';
|
|
73
101
|
// status line: verdict [duration] OR verdict, cached
|
|
74
102
|
if (state.cached) {
|
|
75
|
-
detailLines.push(`${state.verdict}, cached`);
|
|
103
|
+
detailLines.push(`${state.verdict}${verdictGlyph}, cached`);
|
|
76
104
|
}
|
|
77
105
|
else {
|
|
78
106
|
const dur = state.durationSec !== null ? ` ${state.durationSec.toFixed(1)}s` : '';
|
|
79
|
-
detailLines.push(`${state.verdict}${dur}`);
|
|
107
|
+
detailLines.push(`${state.verdict}${verdictGlyph}${dur}`);
|
|
108
|
+
}
|
|
109
|
+
// exhaustion narrative: exhausted is TERMINAL, so it never blocks higher levels — they
|
|
110
|
+
// unlock and run. a driver must never read `exhausted` as "you are blocked here"; this
|
|
111
|
+
// line states plainly the level is done and does not hold the ladder. (D5)
|
|
112
|
+
// .why = kills the "oh, it is all halted" misread at the exact spot it occurs. phrased
|
|
113
|
+
// to hold at ANY level: at a lower level the higher one runs (shown below in the
|
|
114
|
+
// tree); at the highest level there is no higher level to block, so it is still
|
|
115
|
+
// true. the cross-level "next level has engaged" callout — which names WHICH level
|
|
116
|
+
// is live + the re-drive command — is the aggregate `the path continues` footer,
|
|
117
|
+
// rendered once beneath the reviewers by formatGuardReviewLadderFooter.
|
|
118
|
+
if (state.verdict === 'exhausted') {
|
|
119
|
+
detailLines.push(TERMINAL_UNLOCK_NARRATIVE);
|
|
80
120
|
}
|
|
81
121
|
// blockers line: always show
|
|
82
122
|
const blockersLabel = state.blockers === 1 ? 'blocker' : 'blockers';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatGuardReviewerTree.js","sourceRoot":"","sources":["../../../../../src/domain.operations/route/guard/tree/formatGuardReviewerTree.ts"],"names":[],"mappings":";;;AAAA,qEAAkE;AAClE,qFAA6E;AAC7E,sGAGyD;AAEzD;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAiB,EAAE;IAC7D,IAAI,CAAC,IAAA,kEAA+B,EAAC,EAAE,SAAS,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,OAAO,UAAU,IAAA,mEAAgC,EAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC,CAAC;AA+
|
|
1
|
+
{"version":3,"file":"formatGuardReviewerTree.js","sourceRoot":"","sources":["../../../../../src/domain.operations/route/guard/tree/formatGuardReviewerTree.ts"],"names":[],"mappings":"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"}
|