@cat-factory/agents 0.129.2 → 0.130.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/catalog.d.ts.map +1 -1
- package/dist/agents/catalog.js +20 -17
- package/dist/agents/catalog.js.map +1 -1
- package/dist/agents/prompts/companion.d.ts.map +1 -1
- package/dist/agents/prompts/companion.js +20 -13
- package/dist/agents/prompts/companion.js.map +1 -1
- package/dist/agents/prompts/judge.d.ts +7 -7
- package/dist/agents/prompts/judge.js +7 -7
- package/dist/agents/prompts/review-rounds.d.ts +20 -4
- package/dist/agents/prompts/review-rounds.d.ts.map +1 -1
- package/dist/agents/prompts/review-rounds.js +79 -19
- package/dist/agents/prompts/review-rounds.js.map +1 -1
- package/dist/agents/prompts/shared.d.ts +19 -13
- package/dist/agents/prompts/shared.d.ts.map +1 -1
- package/dist/agents/prompts/shared.js +40 -26
- package/dist/agents/prompts/shared.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAc1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAc1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAiG5D;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAE1F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAsBR;AA4CD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAyBxF;AAwDD,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,GAAE,sBAA2B,GAChC,MAAM,CAWR"}
|
package/dist/agents/catalog.js
CHANGED
|
@@ -9,8 +9,8 @@ import { mockFrontendSection, mockSystemPrompt } from './prompts/mock.js';
|
|
|
9
9
|
import { testingSystemPrompt, testerEnvironmentSection } from './prompts/testing.js';
|
|
10
10
|
import { traitGuidanceFor } from './kinds/traits.js';
|
|
11
11
|
import { roleSystemPrompt } from './prompts/roles.js';
|
|
12
|
-
import { FINAL_ANSWER_IN_REPLY, PLATFORM_IS_NOT_THE_PRODUCT,
|
|
13
|
-
import { ACCOUNTING_REVIEW_DIRECTIVE, FEEDBACK_ACCOUNTING_DIRECTIVE, PRIOR_ROUNDS_DIRECTIVE, renderPriorReviewRounds, } from './prompts/review-rounds.js';
|
|
12
|
+
import { FINAL_ANSWER_IN_REPLY, PLATFORM_IS_NOT_THE_PRODUCT, REVIEW_FINDINGS_LAYOUT, } from './prompts/shared.js';
|
|
13
|
+
import { ACCOUNTING_REVIEW_DIRECTIVE, FEEDBACK_ACCOUNTING_DIRECTIVE, PRIOR_ROUNDS_DIRECTIVE, renderPriorReviewRounds, renderRevisionComments, } from './prompts/review-rounds.js';
|
|
14
14
|
import { customTaskTypeSection, environmentSection, initiativePresetSection, involvedServicesSection, linkedContextSection, ownServiceSection, phaseForKind, renderStandardUserPrompt, standardSystemPrompt, testSecretsSection, } from './prompts/standard.js';
|
|
15
15
|
// Prompt construction for the built-in agent kinds: turns an agent kind + block
|
|
16
16
|
// context into the system/user prompts handed to the LLM. This file is the
|
|
@@ -27,17 +27,18 @@ import { customTaskTypeSection, environmentSection, initiativePresetSection, inv
|
|
|
27
27
|
* override replaces the track prompt, so for a built-in kind it silently takes the inline copy
|
|
28
28
|
* with it. See {@link restoreShippedInvariants}.
|
|
29
29
|
*
|
|
30
|
-
* {@link
|
|
31
|
-
* a fact about how the platform READS a reviewer's reply, not editorial content. The
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
30
|
+
* {@link REVIEW_FINDINGS_LAYOUT} belongs here for the same reason the final-answer rule does: it
|
|
31
|
+
* is a fact about how the platform READS a reviewer's reply, not editorial content. The severities
|
|
32
|
+
* it asks for are what the ENGINE acts on (a `blocker` holds the step), the `summary` it shapes is
|
|
33
|
+
* rendered as markdown in the run panel, and the escaping sentence it carries is what keeps a
|
|
34
|
+
* multi-line verdict from arriving as invalid JSON. A workspace that edits its reviewer prompt for
|
|
35
|
+
* an unrelated reason would otherwise get ungraded findings back — every point reaching the engine
|
|
36
|
+
* as equally urgent — with nothing in the editor saying why.
|
|
36
37
|
*/
|
|
37
38
|
const OVERRIDE_PRESERVED_FRAGMENTS = [
|
|
38
39
|
READ_ONLY_GUARDRAIL,
|
|
39
40
|
FINAL_ANSWER_IN_REPLY,
|
|
40
|
-
|
|
41
|
+
REVIEW_FINDINGS_LAYOUT,
|
|
41
42
|
];
|
|
42
43
|
/**
|
|
43
44
|
* Re-append any invariant the SHIPPED prompt for this kind guaranteed and the overridden
|
|
@@ -239,14 +240,16 @@ function withRevision(prompt, context) {
|
|
|
239
240
|
'Reviewer feedback:',
|
|
240
241
|
revision.feedback || '(none given)',
|
|
241
242
|
];
|
|
242
|
-
// Per-block comments the reviewer left on specific parts of the proposal
|
|
243
|
-
//
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
243
|
+
// Per-block comments the reviewer left on specific parts of the proposal, each naming what it
|
|
244
|
+
// targets so the agent can locate and revise it.
|
|
245
|
+
//
|
|
246
|
+
// Rendered by `renderRevisionComments`, beside the renderer for the ROUNDS BEFORE this one: worst
|
|
247
|
+
// first (because a `blocker` left open sends the work straight back however much else was
|
|
248
|
+
// addressed), labelled with the urgency it was raised at, and anchored the way the reviewer
|
|
249
|
+
// anchored it. A person's comment carries no grade and is simply unlabelled: they are already
|
|
250
|
+
// holding the run, so there is nothing for a label to add.
|
|
251
|
+
if (revision.comments?.length)
|
|
252
|
+
lines.push(...renderRevisionComments(revision.comments));
|
|
250
253
|
return lines.join('\n');
|
|
251
254
|
}
|
|
252
255
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"companion.d.ts","sourceRoot":"","sources":["../../../src/agents/prompts/companion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"companion.d.ts","sourceRoot":"","sources":["../../../src/agents/prompts/companion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAc7D,2FAA2F;AAC3F,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,iBAAiB,GAC1B,MAAM,GAAG,SAAS,CAoHpB"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { companionFor, isContainerBackedCompanion } from '../kinds/companions.js';
|
|
2
|
-
import { FINAL_ANSWER_IN_REPLY, FRAGMENT_ADHERENCE_GUIDANCE,
|
|
2
|
+
import { FINAL_ANSWER_IN_REPLY, FRAGMENT_ADHERENCE_GUIDANCE, REVIEW_FINDINGS_LAYOUT, } from './shared.js';
|
|
3
3
|
import { anchoredQualityScale } from './review-rounds.js';
|
|
4
4
|
// System prompt for a companion agent, parameterised by the producer kind it
|
|
5
|
-
// reviews. The companion returns
|
|
6
|
-
//
|
|
7
|
-
// `companionAssessmentSchema`.
|
|
5
|
+
// reviews. The companion returns its findings as severity-graded `comments` plus a
|
|
6
|
+
// single overall quality rating (0..1) and a short verdict summary, all as JSON the
|
|
7
|
+
// engine validates with `companionAssessmentSchema`. The two halves are read
|
|
8
|
+
// independently: a `blocker` comment holds the step whatever the rating says.
|
|
8
9
|
/** The companion system prompt for `kind`, or undefined when `kind` is not a companion. */
|
|
9
10
|
export function companionSystemPrompt(kind, registry) {
|
|
10
11
|
const def = companionFor(kind, registry);
|
|
@@ -91,15 +92,21 @@ export function companionSystemPrompt(kind, registry) {
|
|
|
91
92
|
'the task is purely technical and rightly produced no business specs, and `false`',
|
|
92
93
|
'when business requirements were warranted (whether or not the writer produced them).',
|
|
93
94
|
'If you DISPUTE a "no new specs" claim for a task that does have business behaviour,',
|
|
94
|
-
'
|
|
95
|
+
'raise it as a `blocker` comment naming the behaviour that needs specifying, so the',
|
|
96
|
+
'writer is looped back on it.',
|
|
95
97
|
]
|
|
96
98
|
: []),
|
|
97
99
|
'',
|
|
98
100
|
'Respond with ONLY a JSON object of shape',
|
|
99
|
-
'{"rating":0.0,"summary":"…","comments":[{"
|
|
100
|
-
'overall score, `summary` is your
|
|
101
|
-
'
|
|
102
|
-
'
|
|
101
|
+
'{"rating":0.0,"summary":"…","comments":[{"severity":"blocker"|"major"|"minor",',
|
|
102
|
+
'"body":"…","anchorId":"…"}]}: `rating` is the overall score, `summary` is your verdict on',
|
|
103
|
+
'the work as a whole, and `comments` is one entry per point you raise, each graded by how',
|
|
104
|
+
'urgently it must be fixed. `anchorId` is optional and only applies where the reviewed',
|
|
105
|
+
'output is structured (e.g. a spec requirement / acceptance-criterion id).',
|
|
106
|
+
'THE TWO ARE READ SEPARATELY: the rating decides whether the work as a whole meets the bar,',
|
|
107
|
+
'and any `blocker` comment sends it back to be fixed regardless of that rating. So grade the',
|
|
108
|
+
'work honestly on the scale above rather than lowering the rating to force a fix, and raise',
|
|
109
|
+
'a `blocker` for anything that must not proceed rather than hoping a low rating conveys it.',
|
|
103
110
|
...(kind === 'spec-companion'
|
|
104
111
|
? ['Include `technicalCorroborated` (true/false) as described above.']
|
|
105
112
|
: []),
|
|
@@ -108,11 +115,11 @@ export function companionSystemPrompt(kind, registry) {
|
|
|
108
115
|
// below. Only the code `reviewer` does this; the other companions review different artifacts.
|
|
109
116
|
...(kind === 'reviewer' ? ['Include a `fragmentAdherence` array as described below.'] : []),
|
|
110
117
|
'No prose outside the JSON, no code fences.',
|
|
111
|
-
// `summary`
|
|
112
|
-
// the
|
|
113
|
-
// So the shape of
|
|
118
|
+
// `comments` + `summary` together ARE the review: nothing else on the step carries the
|
|
119
|
+
// findings, and the severities are what the engine reads to decide whether the run moves on.
|
|
120
|
+
// So the shape of both, and what each severity commits to, gets said here.
|
|
114
121
|
'',
|
|
115
|
-
|
|
122
|
+
REVIEW_FINDINGS_LAYOUT,
|
|
116
123
|
...(kind === 'reviewer' ? ['', FRAGMENT_ADHERENCE_GUIDANCE] : []),
|
|
117
124
|
'',
|
|
118
125
|
FINAL_ANSWER_IN_REPLY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"companion.js","sourceRoot":"","sources":["../../../src/agents/prompts/companion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAEjF,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"companion.js","sourceRoot":"","sources":["../../../src/agents/prompts/companion.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,13 +11,13 @@ import type { JudgeSubject } from '@cat-factory/kernel';
|
|
|
11
11
|
* {@link anchoredQualityScale}, SHARED with the companion prompt, because the same argument
|
|
12
12
|
* holds across the two grading buckets and not merely across rubrics.
|
|
13
13
|
*
|
|
14
|
-
* It deliberately does NOT carry `
|
|
15
|
-
*
|
|
16
|
-
* `JudgeResultView` renders that array as its own list directly below the summary — so the
|
|
17
|
-
* would
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
14
|
+
* It deliberately does NOT carry `REVIEW_FINDINGS_LAYOUT`, the companions' findings contract. A
|
|
15
|
+
* judge already returns its points as `findings`, graded on its own severity vocabulary, and
|
|
16
|
+
* `JudgeResultView` renders that array as its own list directly below the summary — so the
|
|
17
|
+
* fragment would impose a SECOND grading scheme over the same points. The same reasoning excludes
|
|
18
|
+
* the `pr-reviewer` and the tester. What the two buckets do share is stated where it belongs: the
|
|
19
|
+
* anchored scale above, and the "summary is a verdict, not a restatement" rule this prompt makes
|
|
20
|
+
* in its own words.
|
|
21
21
|
*/
|
|
22
22
|
export declare const JUDGE_SYSTEM_PROMPT: string;
|
|
23
23
|
/**
|
|
@@ -30,13 +30,13 @@ import { anchoredQualityScale, PRIOR_ROUNDS_DIRECTIVE } from './review-rounds.js
|
|
|
30
30
|
* {@link anchoredQualityScale}, SHARED with the companion prompt, because the same argument
|
|
31
31
|
* holds across the two grading buckets and not merely across rubrics.
|
|
32
32
|
*
|
|
33
|
-
* It deliberately does NOT carry `
|
|
34
|
-
*
|
|
35
|
-
* `JudgeResultView` renders that array as its own list directly below the summary — so the
|
|
36
|
-
* would
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
33
|
+
* It deliberately does NOT carry `REVIEW_FINDINGS_LAYOUT`, the companions' findings contract. A
|
|
34
|
+
* judge already returns its points as `findings`, graded on its own severity vocabulary, and
|
|
35
|
+
* `JudgeResultView` renders that array as its own list directly below the summary — so the
|
|
36
|
+
* fragment would impose a SECOND grading scheme over the same points. The same reasoning excludes
|
|
37
|
+
* the `pr-reviewer` and the tester. What the two buckets do share is stated where it belongs: the
|
|
38
|
+
* anchored scale above, and the "summary is a verdict, not a restatement" rule this prompt makes
|
|
39
|
+
* in its own words.
|
|
40
40
|
*/
|
|
41
41
|
export const JUDGE_SYSTEM_PROMPT = 'You are an impartial reviewer scoring a piece of work against a RUBRIC you are given. You ' +
|
|
42
42
|
'assess only — you never edit code, never open pull requests, and never decide what happens ' +
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ReviewedPoint } from '@cat-factory/kernel';
|
|
1
2
|
/** One already-settled round of a grading loop, as a prompt renders it. */
|
|
2
3
|
export interface PriorReviewRound {
|
|
3
4
|
/** 1-based, in the order they happened. */
|
|
@@ -5,10 +6,7 @@ export interface PriorReviewRound {
|
|
|
5
6
|
rating: number;
|
|
6
7
|
passed: boolean;
|
|
7
8
|
summary: string;
|
|
8
|
-
comments?:
|
|
9
|
-
quotedSource?: string;
|
|
10
|
-
body: string;
|
|
11
|
-
}[];
|
|
9
|
+
comments?: ReviewedPoint[];
|
|
12
10
|
}
|
|
13
11
|
/**
|
|
14
12
|
* The anchored 0..1 scale every grader in this repo scores on.
|
|
@@ -79,6 +77,24 @@ export declare const ACCOUNTING_REVIEW_DIRECTIVE: string;
|
|
|
79
77
|
* its prose than the rest; every earlier one is still NAMED, because a point raised in round 1 and
|
|
80
78
|
* quietly dropped by round 3 is exactly the regression this exists to catch. A trimmed round says
|
|
81
79
|
* so inline rather than ending mid-sentence, so nothing reads as a grader that had little to say.
|
|
80
|
+
*
|
|
81
|
+
* Each point carries the SEVERITY it was raised at, worst first, because that is what the round
|
|
82
|
+
* actually decided: a `[blocker]` from round 1 is the reason the loop is still running, and read
|
|
83
|
+
* as an undifferentiated bullet it competes for attention with a nit raised in the same breath.
|
|
82
84
|
*/
|
|
83
85
|
export declare function renderPriorReviewRounds(rounds: readonly PriorReviewRound[]): string[];
|
|
86
|
+
/**
|
|
87
|
+
* Render the points a producer must answer THIS round, worst first.
|
|
88
|
+
*
|
|
89
|
+
* The counterpart of {@link renderPriorReviewRounds} (settled history) and deliberately its
|
|
90
|
+
* neighbour: one loop's two renderings, ordered by the same rule, naming an anchor the same way.
|
|
91
|
+
* Each point gets its own block rather than a bullet, because a `body` is markdown that may itself
|
|
92
|
+
* carry lists.
|
|
93
|
+
*
|
|
94
|
+
* The blocker directive is stated once, above the list, and only when there IS one: a producer told
|
|
95
|
+
* on every round that blockers must be resolved first learns nothing from the sentence, and the
|
|
96
|
+
* engine's own rule is exactly this (kernel's `disposeCompanionVerdict` holds the step while one is
|
|
97
|
+
* open, whatever the rating).
|
|
98
|
+
*/
|
|
99
|
+
export declare function renderRevisionComments(comments: readonly ReviewedPoint[]): string[];
|
|
84
100
|
//# sourceMappingURL=review-rounds.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-rounds.d.ts","sourceRoot":"","sources":["../../../src/agents/prompts/review-rounds.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"review-rounds.d.ts","sourceRoot":"","sources":["../../../src/agents/prompts/review-rounds.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAkBxD,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO5D;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,QAKI,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,6BAA6B,QAQc,CAAA;AAExD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,2BAA2B,QAO6C,CAAA;AAMrF;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,MAAM,EAAE,CAkBrF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,EAAE,CAuBnF"}
|
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
// What a REPEATED grading loop says to itself, in one place.
|
|
3
|
-
//
|
|
4
|
-
// Two buckets of the step taxonomy re-grade the same artifact on a budget: JUDGES (score against
|
|
5
|
-
// a rubric, bounce the producer, re-score) and COMPANIONS (rate a producer's output, loop it back,
|
|
6
|
-
// re-rate). They differ in what they read and in the JSON they return, and in nothing that matters
|
|
7
|
-
// here — both must anchor their 0..1 score to the same meanings, and both must say what became of
|
|
8
|
-
// what they asked for last round.
|
|
9
|
-
//
|
|
10
|
-
// Keeping those two things here rather than in each prompt is what makes a threshold portable. An
|
|
11
|
-
// operator sets ONE number per policy (`judgeMinScore`, a companion step's `threshold`), and two
|
|
12
|
-
// graders that mean different things by `0.8` turn that number into noise. The rendering of the
|
|
13
|
-
// rounds themselves lives beside them for the same reason: a companion that showed its history in
|
|
14
|
-
// a different shape from the judge's would be a second thing to keep in step by hand.
|
|
15
|
-
// ---------------------------------------------------------------------------
|
|
1
|
+
import { hasBlockingReviewComments, reviewCommentSeverityRank } from '@cat-factory/contracts';
|
|
16
2
|
/**
|
|
17
3
|
* The anchored 0..1 scale every grader in this repo scores on.
|
|
18
4
|
*
|
|
@@ -107,6 +93,10 @@ const EARLIER_ROUND_CHARS = 1_200;
|
|
|
107
93
|
* its prose than the rest; every earlier one is still NAMED, because a point raised in round 1 and
|
|
108
94
|
* quietly dropped by round 3 is exactly the regression this exists to catch. A trimmed round says
|
|
109
95
|
* so inline rather than ending mid-sentence, so nothing reads as a grader that had little to say.
|
|
96
|
+
*
|
|
97
|
+
* Each point carries the SEVERITY it was raised at, worst first, because that is what the round
|
|
98
|
+
* actually decided: a `[blocker]` from round 1 is the reason the loop is still running, and read
|
|
99
|
+
* as an undifferentiated bullet it competes for attention with a nit raised in the same breath.
|
|
110
100
|
*/
|
|
111
101
|
export function renderPriorReviewRounds(rounds) {
|
|
112
102
|
const lines = [];
|
|
@@ -115,15 +105,85 @@ export function renderPriorReviewRounds(rounds) {
|
|
|
115
105
|
const verdict = round.passed ? 'met the bar' : 'did not meet the bar';
|
|
116
106
|
lines.push('', `Round ${round.round} — rated ${round.rating.toFixed(2)}, ${verdict}:`);
|
|
117
107
|
lines.push(clip(round.summary.trim() || '(no summary given)', isLatest));
|
|
118
|
-
for (const comment of round.comments
|
|
119
|
-
const target = comment
|
|
108
|
+
for (const comment of worstFirst(round.comments)) {
|
|
109
|
+
const target = reviewedPointTarget(comment);
|
|
110
|
+
const grade = comment.severity ? `[${comment.severity}] ` : '';
|
|
120
111
|
lines.push(target
|
|
121
|
-
? `- On
|
|
122
|
-
: `- ${clip(comment.body, isLatest)}`);
|
|
112
|
+
? `- ${grade}On ${clip(target, false)}: ${clip(comment.body, isLatest)}`
|
|
113
|
+
: `- ${grade}${clip(comment.body, isLatest)}`);
|
|
123
114
|
}
|
|
124
115
|
}
|
|
125
116
|
return lines;
|
|
126
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Render the points a producer must answer THIS round, worst first.
|
|
120
|
+
*
|
|
121
|
+
* The counterpart of {@link renderPriorReviewRounds} (settled history) and deliberately its
|
|
122
|
+
* neighbour: one loop's two renderings, ordered by the same rule, naming an anchor the same way.
|
|
123
|
+
* Each point gets its own block rather than a bullet, because a `body` is markdown that may itself
|
|
124
|
+
* carry lists.
|
|
125
|
+
*
|
|
126
|
+
* The blocker directive is stated once, above the list, and only when there IS one: a producer told
|
|
127
|
+
* on every round that blockers must be resolved first learns nothing from the sentence, and the
|
|
128
|
+
* engine's own rule is exactly this (kernel's `disposeCompanionVerdict` holds the step while one is
|
|
129
|
+
* open, whatever the rating).
|
|
130
|
+
*/
|
|
131
|
+
export function renderRevisionComments(comments) {
|
|
132
|
+
const lines = ['', 'Comments on specific parts of your proposal:'];
|
|
133
|
+
if (hasBlockingReviewComments(comments)) {
|
|
134
|
+
lines.push('Every comment marked [blocker] MUST be resolved in this revision: while one is open the', 'work does not move on. Deal with those first, then the rest.');
|
|
135
|
+
}
|
|
136
|
+
for (const comment of worstFirst(comments)) {
|
|
137
|
+
const grade = comment.severity ? ` [${comment.severity}]` : '';
|
|
138
|
+
const quoted = comment.quotedSource?.trim();
|
|
139
|
+
const anchor = comment.anchorId?.trim();
|
|
140
|
+
// A quoted block goes on its own line, because it is verbatim source of arbitrary length; an
|
|
141
|
+
// anchor is a short id and reads as part of the heading. A point with NEITHER is addressed to
|
|
142
|
+
// the proposal as a whole, which is what it is: the alternative shipped as `On this part:` over
|
|
143
|
+
// a literal `(empty)`, telling a producer to fix a specific part while showing it none — and
|
|
144
|
+
// that was every companion finding, since a companion anchors by id and quotes nothing.
|
|
145
|
+
if (quoted)
|
|
146
|
+
lines.push('', `On this part:${grade}`, quoted);
|
|
147
|
+
else if (anchor)
|
|
148
|
+
lines.push('', `On item \`${anchor}\`:${grade}`);
|
|
149
|
+
else
|
|
150
|
+
lines.push('', `On your proposal overall:${grade}`);
|
|
151
|
+
lines.push('Comment:', comment.body || '(none given)');
|
|
152
|
+
}
|
|
153
|
+
return lines;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* WHAT a point is about, as a prompt can name it, or `undefined` when the point named nothing.
|
|
157
|
+
*
|
|
158
|
+
* The two anchors are not interchangeable and neither may be rendered as the other: a human review
|
|
159
|
+
* quotes the prose it targets, so it reads back quoted, while a companion names a structured item's
|
|
160
|
+
* id, which is a locator the producer looks up. A point with neither is rendered as the standalone
|
|
161
|
+
* note it is, rather than against an empty target — the failure mode a `(empty)` placeholder
|
|
162
|
+
* produced, where a producer was told to fix a specific part and shown nothing.
|
|
163
|
+
*/
|
|
164
|
+
function reviewedPointTarget(comment) {
|
|
165
|
+
const quoted = comment.quotedSource?.trim();
|
|
166
|
+
if (quoted)
|
|
167
|
+
return `"${quoted}"`;
|
|
168
|
+
const anchor = comment.anchorId?.trim();
|
|
169
|
+
return anchor ? `item \`${anchor}\`` : undefined;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Severity-graded points, worst first; an ungraded one (a person's) sorts last.
|
|
173
|
+
*
|
|
174
|
+
* Generic over the shape rather than taking contracts' `StepReviewComment`, because the prompt layer
|
|
175
|
+
* renders what it was handed: a {@link ReviewedPoint} carries no `srcStart`/`srcEnd` and the
|
|
176
|
+
* persisted comment carries no reason to reach a prompt. The RANKING is contracts' own
|
|
177
|
+
* (`reviewCommentSeverityRank`), so a level this build no longer knows sinks to the ungraded end
|
|
178
|
+
* here exactly as it does in the panel, rather than sorting by `NaN`.
|
|
179
|
+
*
|
|
180
|
+
* Shared by both renderers here: {@link renderPriorReviewRounds} orders a settled round's points and
|
|
181
|
+
* {@link renderRevisionComments} the ones a producer must answer now. Two copies of one ranking is
|
|
182
|
+
* how a severity added to the vocabulary comes to sort differently in the two halves of one loop.
|
|
183
|
+
*/
|
|
184
|
+
function worstFirst(comments) {
|
|
185
|
+
return [...(comments ?? [])].sort((a, b) => reviewCommentSeverityRank(b.severity) - reviewCommentSeverityRank(a.severity));
|
|
186
|
+
}
|
|
127
187
|
/** Trim one field, STATING that it was trimmed (a silent cut reads as a shorter original). */
|
|
128
188
|
function clip(text, generous) {
|
|
129
189
|
const limit = generous ? LATEST_ROUND_CHARS : EARLIER_ROUND_CHARS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-rounds.js","sourceRoot":"","sources":["../../../src/agents/prompts/review-rounds.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"review-rounds.js","sourceRoot":"","sources":["../../../src/agents/prompts/review-rounds.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,27 +17,33 @@ export declare const STANDARDS_FOOTER = "Treat every best-practice standard appe
|
|
|
17
17
|
*/
|
|
18
18
|
export declare const FINAL_ANSWER_IN_REPLY: string;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
20
|
+
* How a COMPANION reports what it found: one graded entry per point in `comments`, and a `summary`
|
|
21
|
+
* that is a verdict rather than a second copy of the same list.
|
|
22
22
|
*
|
|
23
|
-
*
|
|
24
|
-
* (
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
23
|
+
* This replaced a layout instruction that asked for the whole review as prose bullet groups
|
|
24
|
+
* (`**Must fix**` / `**Should fix**` / `**Minor**`) inside the summary string. Those groups were
|
|
25
|
+
* the right SHAPE and the wrong PLACE: they were the reviewer stating urgency in a channel only a
|
|
26
|
+
* human reads, so a "must fix" and a nit reached the engine as the same thing and the run advanced
|
|
27
|
+
* on the overall rating alone. Graded entries put the same judgement where the engine can act on
|
|
28
|
+
* it (kernel's `disposeCompanionVerdict` holds the step while a `blocker` is open) and where the
|
|
29
|
+
* panel can group and colour it, which prose never allowed.
|
|
28
30
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
31
|
+
* Each level therefore STATES what it costs, because the engine acts on all three and a reviewer
|
|
32
|
+
* that cannot predict the consequence cannot grade deliberately. They are kept in step with
|
|
33
|
+
* `disposeCompanionVerdict` by hand and in one direction: this text may describe less than the rule
|
|
34
|
+
* does, never more.
|
|
33
35
|
*
|
|
34
|
-
*
|
|
36
|
+
* With the points structured, the summary must NOT restate them: the panel renders both, so a
|
|
37
|
+
* duplicated review means writing everything twice in two orderings that can disagree. Same rule
|
|
38
|
+
* the judge and the `pr-reviewer` have always followed ("do NOT restate the findings there").
|
|
39
|
+
*
|
|
40
|
+
* Two sentences here are load-bearing rather than editorial, both about `summary` being a JSON
|
|
35
41
|
* STRING the platform parses. A raw line break inside one is invalid JSON (kernel's `extractJson`
|
|
36
42
|
* repairs it, but a reviewer that escapes correctly never costs a repair retry), and a FENCED block
|
|
37
43
|
* inside it puts a ``` pair ahead of the object in a reply whose JSON is not itself fenced, which is
|
|
38
44
|
* what `extractJson` reads first. Inline backticks carry code in a verdict perfectly well.
|
|
39
45
|
*/
|
|
40
|
-
export declare const
|
|
46
|
+
export declare const REVIEW_FINDINGS_LAYOUT: string;
|
|
41
47
|
/**
|
|
42
48
|
* Appended to every agent that reasons about a work item WITHOUT a checkout to orient itself in —
|
|
43
49
|
* the inline reviewers and structured-dialogue agents (requirements review + rework, the Writer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/agents/prompts/shared.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,+FACiE,CAAA;AAE9F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,QAIV,CAAA;AAExB
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/agents/prompts/shared.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,+FACiE,CAAA;AAE9F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,QAIV,CAAA;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,sBAAsB,QAsBkC,CAAA;AAErE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB,QAQiD,CAAA;AAEhF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,QAQT,CAAA;AAE/B;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,QAQA,CAAA;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,qBAAqB,CAAA;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,0BAA0B,CAAA;AAEtD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,QASc,CAAA;AAEjD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,2BAA2B,CAAA;AAE3D;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,QAoBX,CAAA;AA2BzB,eAAO,MAAM,2BAA2B,QAOyC,CAAA;AAEjF,eAAO,MAAM,yCAAyC,QAQF,CAAA;AAEpD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,QAW0C,CAAA"}
|
|
@@ -23,40 +23,54 @@ export const FINAL_ANSWER_IN_REPLY = 'Your deliverable is the text of your FINAL
|
|
|
23
23
|
'reply whose visible content is empty is treated as a failure even when your reasoning ' +
|
|
24
24
|
'contains the answer.';
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
26
|
+
* How a COMPANION reports what it found: one graded entry per point in `comments`, and a `summary`
|
|
27
|
+
* that is a verdict rather than a second copy of the same list.
|
|
28
28
|
*
|
|
29
|
-
*
|
|
30
|
-
* (
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
29
|
+
* This replaced a layout instruction that asked for the whole review as prose bullet groups
|
|
30
|
+
* (`**Must fix**` / `**Should fix**` / `**Minor**`) inside the summary string. Those groups were
|
|
31
|
+
* the right SHAPE and the wrong PLACE: they were the reviewer stating urgency in a channel only a
|
|
32
|
+
* human reads, so a "must fix" and a nit reached the engine as the same thing and the run advanced
|
|
33
|
+
* on the overall rating alone. Graded entries put the same judgement where the engine can act on
|
|
34
|
+
* it (kernel's `disposeCompanionVerdict` holds the step while a `blocker` is open) and where the
|
|
35
|
+
* panel can group and colour it, which prose never allowed.
|
|
34
36
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
37
|
+
* Each level therefore STATES what it costs, because the engine acts on all three and a reviewer
|
|
38
|
+
* that cannot predict the consequence cannot grade deliberately. They are kept in step with
|
|
39
|
+
* `disposeCompanionVerdict` by hand and in one direction: this text may describe less than the rule
|
|
40
|
+
* does, never more.
|
|
39
41
|
*
|
|
40
|
-
*
|
|
42
|
+
* With the points structured, the summary must NOT restate them: the panel renders both, so a
|
|
43
|
+
* duplicated review means writing everything twice in two orderings that can disagree. Same rule
|
|
44
|
+
* the judge and the `pr-reviewer` have always followed ("do NOT restate the findings there").
|
|
45
|
+
*
|
|
46
|
+
* Two sentences here are load-bearing rather than editorial, both about `summary` being a JSON
|
|
41
47
|
* STRING the platform parses. A raw line break inside one is invalid JSON (kernel's `extractJson`
|
|
42
48
|
* repairs it, but a reviewer that escapes correctly never costs a repair retry), and a FENCED block
|
|
43
49
|
* inside it puts a ``` pair ahead of the object in a reply whose JSON is not itself fenced, which is
|
|
44
50
|
* what `extractJson` reads first. Inline backticks carry code in a verdict perfectly well.
|
|
45
51
|
*/
|
|
46
|
-
export const
|
|
47
|
-
'
|
|
48
|
-
'
|
|
49
|
-
'
|
|
50
|
-
'
|
|
51
|
-
'
|
|
52
|
-
'
|
|
53
|
-
'
|
|
54
|
-
'
|
|
55
|
-
'
|
|
56
|
-
'
|
|
57
|
-
'
|
|
58
|
-
'
|
|
59
|
-
'
|
|
52
|
+
export const REVIEW_FINDINGS_LAYOUT = 'REPORT EVERY POINT YOU RAISE AS ITS OWN `comments` ENTRY, GRADED BY URGENCY — never as prose ' +
|
|
53
|
+
'buried in the summary. Each entry is {"severity":"blocker"|"major"|"minor","body":"…"}, plus ' +
|
|
54
|
+
'"anchorId" when the thing you are commenting on is a structured item with an id (a spec ' +
|
|
55
|
+
'requirement, an acceptance criterion). Grade every one of them:\n' +
|
|
56
|
+
'- "blocker" — MUST be fixed before this work goes any further. Correctness, safety, data ' +
|
|
57
|
+
'loss, a requirement not met, a claim the work does not support. While one of these is open ' +
|
|
58
|
+
'the producer is sent back to fix it and the run does NOT advance, whatever you rate the work ' +
|
|
59
|
+
'overall, so reserve it for what genuinely must not ship and never use it for a preference.\n' +
|
|
60
|
+
'- "major" — should be fixed: a real gap or weakness a reviewer would ask about, but not one ' +
|
|
61
|
+
'that makes the work unusable as it stands. On a FIRST review one of these buys the producer a ' +
|
|
62
|
+
'revision pass even when you rate the work above its bar, so keep the level for a real gap.\n' +
|
|
63
|
+
'- "minor" — a nit, polish or suggestion. Worth saying, never worth holding anything for: on its ' +
|
|
64
|
+
'own it costs the producer no revision round and never stops the run.\n' +
|
|
65
|
+
'Write each `body` as Markdown starting with a bolded short title, then one or two sentences ' +
|
|
66
|
+
'saying what is wrong and the concrete change to make. Put code, paths, identifiers and ' +
|
|
67
|
+
'commands in INLINE backticks. If the work is sound, return `comments` as an empty array ' +
|
|
68
|
+
'rather than inventing something to say. ' +
|
|
69
|
+
'THE SUMMARY IS A VERDICT, NOT A SECOND COPY OF THE LIST: two or three sentences on what the ' +
|
|
70
|
+
'work is, what is genuinely good about it, and what holds it back overall. Do NOT restate the ' +
|
|
71
|
+
'individual findings there. Both are rendered together, so anything written twice is read ' +
|
|
72
|
+
'twice. Never open a fenced code block (```) inside the summary, and write any line break in ' +
|
|
73
|
+
'it as a \\n escape and never as a raw line break inside the JSON.';
|
|
60
74
|
/**
|
|
61
75
|
* Appended to every agent that reasons about a work item WITHOUT a checkout to orient itself in —
|
|
62
76
|
* the inline reviewers and structured-dialogue agents (requirements review + rework, the Writer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/agents/prompts/shared.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,kFAAkF;AAClF,4DAA4D;AAE5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,4FAA4F,CAAA;AAE9F;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAChC,oFAAoF;IACpF,wFAAwF;IACxF,wFAAwF;IACxF,sBAAsB,CAAA;AAExB
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/agents/prompts/shared.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/agents",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.130.0",
|
|
4
4
|
"description": "Agent catalog, routing, prompts and fragment library for the Agent Architecture Board.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
"handlebars": "^4.7.9",
|
|
33
33
|
"p-map": "^7.0.6",
|
|
34
34
|
"valibot": "^1.4.2",
|
|
35
|
-
"@cat-factory/contracts": "0.
|
|
36
|
-
"@cat-factory/kernel": "0.
|
|
37
|
-
"@cat-factory/prompt-fragments": "1.0.
|
|
35
|
+
"@cat-factory/contracts": "0.310.0",
|
|
36
|
+
"@cat-factory/kernel": "0.299.0",
|
|
37
|
+
"@cat-factory/prompt-fragments": "1.0.74"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"typescript": "7.0.2",
|
|
41
41
|
"vitest": "^4.1.10",
|
|
42
|
-
"@cat-factory/caching": "0.20.
|
|
42
|
+
"@cat-factory/caching": "0.20.19"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
45
45
|
"build": "tsc -b tsconfig.build.json",
|