@cat-factory/agents 0.129.1 → 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.
@@ -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;AA+F5D;;;;;;;;;;;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;AA6DD,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"}
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"}
@@ -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, REVIEW_SUMMARY_LAYOUT, } from './prompts/shared.js';
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 REVIEW_SUMMARY_LAYOUT} belongs here for the same reason the final-answer rule does: it is
31
- * a fact about how the platform READS a reviewer's reply, not editorial content. The `summary` it
32
- * shapes is rendered as markdown blocks in the run panel, and the escaping sentence it carries is
33
- * what keeps a multi-line verdict from arriving as invalid JSON. A workspace that edits its
34
- * reviewer prompt for an unrelated reason would otherwise send every later verdict back to one
35
- * unskimmable paragraph, with nothing in the editor saying why.
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
- REVIEW_SUMMARY_LAYOUT,
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. Each
243
- // quotes the exact text it targets, so the agent can locate and revise it.
244
- if (revision.comments?.length) {
245
- lines.push('', 'Comments on specific parts of your proposal:');
246
- for (const c of revision.comments) {
247
- lines.push('', 'On this part:', c.quotedSource || '(empty)', 'Comment:', c.body || '(none given)');
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;AAa7D,2FAA2F;AAC3F,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,iBAAiB,GAC1B,MAAM,GAAG,SAAS,CA8GpB"}
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, REVIEW_SUMMARY_LAYOUT, } from './shared.js';
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 a single overall quality rating (0..1) plus prose
6
- // feedback and optional per-item challenges, all as JSON the engine validates with
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
- 'rate it below the bar with a summary saying so, so the writer is looped back.',
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":[{"anchorId":"…","body":"…"}]}: `rating` is the',
100
- 'overall score, `summary` is your justification plus the concrete changes the step should',
101
- 'make, and `comments` (optional) anchors specific challenges to an item id when the',
102
- 'reviewed output is structured (e.g. a spec requirement / acceptance-criterion id).',
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` is the whole review as far as a human is concerned: `comments` only exist when
112
- // the graded output has ids to anchor to, and nothing else on the step carries the findings.
113
- // So the shape of that one string is the shape of the review, and it gets said here.
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
- REVIEW_SUMMARY_LAYOUT,
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":"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"}
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 `REVIEW_SUMMARY_LAYOUT`, which asks a reviewer to lay its
15
- * `summary` out as grouped bullets. A judge already returns its points as `findings`, and
16
- * `JudgeResultView` renders that array as its own list directly below the summary — so the layout
17
- * would have every point written twice, in two orderings that can disagree. The same reasoning
18
- * excludes the `pr-reviewer` and the tester; the fragment is for a reviewer whose one string IS
19
- * the whole review (the companions). What the judge needs is the RENDER half, which it has: the
20
- * summary goes through the same markdown reader, so a short verdict paragraph reads properly.
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 `REVIEW_SUMMARY_LAYOUT`, which asks a reviewer to lay its
34
- * `summary` out as grouped bullets. A judge already returns its points as `findings`, and
35
- * `JudgeResultView` renders that array as its own list directly below the summary — so the layout
36
- * would have every point written twice, in two orderings that can disagree. The same reasoning
37
- * excludes the `pr-reviewer` and the tester; the fragment is for a reviewer whose one string IS
38
- * the whole review (the companions). What the judge needs is the RENDER half, which it has: the
39
- * summary goes through the same markdown reader, so a short verdict paragraph reads properly.
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":"AAgBA,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;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACrD;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;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,MAAM,EAAE,CAiBrF"}
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.quotedSource?.trim();
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 "${clip(target, false)}": ${clip(comment.body, isLatest)}`
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":"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"}
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
- * Appended wherever a reviewer's `summary` field IS the review a human reads: the COMPANIONS (see
21
- * ./companion), the reviewers with no other outlet, so everything they found lands in one string.
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
- * Unshaped, a model writes that string as one dense paragraph that numbers its points inline
24
- * ("(1) … (2) …"), and the reader cannot see what blocks the work without reading all of it.
25
- * The skeleton asked for here is what the SPA renders: a verdict line, then bullet groups
26
- * ordered by disposition, through the same markdown reader the other agent prose goes through.
27
- * A fixed skeleton also makes two reviews of the same work comparable, which a free shape is not.
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
- * NOT for a reviewer that already reports its points as STRUCTURED findings beside a short summary
30
- * (every judge, the `pr-reviewer`, the tester): the view renders that array as its own list, so
31
- * asking for the same points as bullets in the summary means writing the whole review twice, in two
32
- * orderings that can disagree. Those surfaces need only the render half.
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
- * Two sentences here are load-bearing rather than editorial, both about the summary being a JSON
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 REVIEW_SUMMARY_LAYOUT: string;
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;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,qBAAqB,QAcrB,CAAA;AAEb;;;;;;;;;;;;;;;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"}
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
- * Appended wherever a reviewer's `summary` field IS the review a human reads: the COMPANIONS (see
27
- * ./companion), the reviewers with no other outlet, so everything they found lands in one string.
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
- * Unshaped, a model writes that string as one dense paragraph that numbers its points inline
30
- * ("(1) … (2) …"), and the reader cannot see what blocks the work without reading all of it.
31
- * The skeleton asked for here is what the SPA renders: a verdict line, then bullet groups
32
- * ordered by disposition, through the same markdown reader the other agent prose goes through.
33
- * A fixed skeleton also makes two reviews of the same work comparable, which a free shape is not.
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
- * NOT for a reviewer that already reports its points as STRUCTURED findings beside a short summary
36
- * (every judge, the `pr-reviewer`, the tester): the view renders that array as its own list, so
37
- * asking for the same points as bullets in the summary means writing the whole review twice, in two
38
- * orderings that can disagree. Those surfaces need only the render half.
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
- * Two sentences here are load-bearing rather than editorial, both about the summary being a JSON
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 REVIEW_SUMMARY_LAYOUT = 'LAY THE SUMMARY OUT AS BLOCKS, NEVER AS ONE PARAGRAPH. It is read in a narrow panel, so a ' +
47
- 'dense block of prose that numbers its points inline ("(1) … (2) …") cannot be skimmed: the ' +
48
- 'reader cannot tell what blocks the work from what is a nit without reading all of it. Write ' +
49
- 'it as Markdown, in this order. FIRST one short verdict sentence on its own line: what the ' +
50
- 'work is, what is genuinely good about it, and what holds it back. THEN, for each group of ' +
51
- 'points you actually have, a bold label line (`**Must fix**`, then `**Should fix**`, then ' +
52
- '`**Minor**`; skip a label you have no points for) followed by one `- ` bullet per point, ' +
53
- 'worst first. Each bullet starts with a bolded short title, then one or two sentences saying ' +
54
- 'what is wrong and the concrete change to make. Nothing else: no preamble, no closing ' +
55
- 'paragraph, no group for what is already fine. Keep every paragraph under four sentences, ' +
56
- 'leave a blank line between blocks, and put code, paths, identifiers and commands in INLINE ' +
57
- 'backticks — never open a fenced code block (```) inside the summary. The summary is a JSON ' +
58
- 'string value, so write its line breaks as \\n escapes and never as raw line breaks inside ' +
59
- 'the JSON.';
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":"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"}
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.129.1",
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.308.1",
36
- "@cat-factory/kernel": "0.298.1",
37
- "@cat-factory/prompt-fragments": "1.0.72"
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.17"
42
+ "@cat-factory/caching": "0.20.19"
43
43
  },
44
44
  "scripts": {
45
45
  "build": "tsc -b tsconfig.build.json",