clud-bug 0.7.0-rc.11 → 0.7.0-rc.13
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/cli/hooks.d.ts +40 -0
- package/dist/cli/hooks.d.ts.map +1 -0
- package/dist/cli/hooks.js +105 -0
- package/dist/cli/hooks.js.map +1 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +61 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/review-prompt.d.ts +28 -0
- package/dist/cli/review-prompt.d.ts.map +1 -0
- package/dist/cli/review-prompt.js +169 -0
- package/dist/cli/review-prompt.js.map +1 -0
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +22 -0
- package/dist/cli/update.js.map +1 -1
- package/dist/core/budget-plan.d.ts +125 -0
- package/dist/core/budget-plan.d.ts.map +1 -0
- package/dist/core/budget-plan.js +211 -0
- package/dist/core/budget-plan.js.map +1 -0
- package/dist/core/index.d.ts +5 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +14 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/multi-pass-aggregate.d.ts +131 -0
- package/dist/core/multi-pass-aggregate.d.ts.map +1 -0
- package/dist/core/multi-pass-aggregate.js +427 -0
- package/dist/core/multi-pass-aggregate.js.map +1 -0
- package/dist/core/plan-review.d.ts +57 -0
- package/dist/core/plan-review.d.ts.map +1 -0
- package/dist/core/plan-review.js +77 -0
- package/dist/core/plan-review.js.map +1 -0
- package/dist/core/review-plan.d.ts +219 -0
- package/dist/core/review-plan.d.ts.map +1 -0
- package/dist/core/review-plan.js +274 -0
- package/dist/core/review-plan.js.map +1 -0
- package/dist/core/review-writeback.d.ts +20 -0
- package/dist/core/review-writeback.d.ts.map +1 -1
- package/dist/core/review-writeback.js +16 -0
- package/dist/core/review-writeback.js.map +1 -1
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/package.json +1 -1
- package/src/cli/hooks.ts +122 -0
- package/src/cli/main.ts +56 -0
- package/src/cli/review-prompt.ts +206 -0
- package/src/cli/update.ts +22 -0
- package/src/core/budget-plan.ts +324 -0
- package/src/core/index.ts +64 -0
- package/src/core/multi-pass-aggregate.ts +545 -0
- package/src/core/plan-review.ts +136 -0
- package/src/core/review-plan.ts +485 -0
- package/src/core/review-writeback.ts +38 -0
- package/src/core/version.ts +1 -1
- package/templates/workflow-py.yml.tmpl +1 -1
- package/templates/workflow-ts.yml.tmpl +1 -1
- package/templates/workflow.yml.tmpl +1 -1
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import type { SkillFrontmatter } from './skills.js';
|
|
2
|
+
/**
|
|
3
|
+
* Multi-pass review config resolution.
|
|
4
|
+
*
|
|
5
|
+
* Each skill carries an effective `{ count, mode }` pair that drives how many
|
|
6
|
+
* AI calls the reviewer makes for that skill and how the orchestrator
|
|
7
|
+
* aggregates findings.
|
|
8
|
+
*
|
|
9
|
+
* Resolution precedence (highest → lowest):
|
|
10
|
+
* 1. `.clud-bug.json` `reviewPasses.perSkill[<slug>]` — per-skill consumer override
|
|
11
|
+
* 2. SKILL.md frontmatter `review_passes` (parsed from base ref) — skill author intent
|
|
12
|
+
* 3. `.clud-bug.json` `reviewPasses.default` / top-level fields — repo default
|
|
13
|
+
* 4. Hard-coded built-in `{ count: 1, mode: "cross-check" }` — D.2.5 baseline
|
|
14
|
+
*
|
|
15
|
+
* Hard cap: `count` is clamped to `MAX_PASSES = 3`. The plan calls this a
|
|
16
|
+
* brick wall — there is no escape hatch via config. Anything above gets
|
|
17
|
+
* silently clamped + logged. Three Claude calls per skill per review is the
|
|
18
|
+
* outer envelope before cost becomes user-hostile.
|
|
19
|
+
*
|
|
20
|
+
* The orchestrator uses the resolved entry to:
|
|
21
|
+
* - decide how many passes to run per skill (or per shared-skill bundle when
|
|
22
|
+
* `applyTo === "shared-only"`)
|
|
23
|
+
* - pass the right role / model to `runStructuredReview`
|
|
24
|
+
* - hand the aggregator the right mode
|
|
25
|
+
*
|
|
26
|
+
* SKILL.md frontmatter is read by the App's skills loader. We don't bake the
|
|
27
|
+
* parsing into the loader to keep that module simple — instead, the loader
|
|
28
|
+
* surfaces `frontmatter.review_passes` as opaque and we coerce it here. The
|
|
29
|
+
* loader is unchanged for D.2.5 — it just preserves any `review_passes` block
|
|
30
|
+
* verbatim through `stripFrontmatter` → body, which we never need to touch.
|
|
31
|
+
*
|
|
32
|
+
* NOTE: The loader currently only validates well-known fields. SKILL.md
|
|
33
|
+
* `review_passes` arrives via a NEW frontmatter pass we expose here as
|
|
34
|
+
* `extractSkillReviewPassesOverride` — the loader's `parseFrontmatter` doesn't
|
|
35
|
+
* preserve unknown top-level keys, but this helper re-parses the raw
|
|
36
|
+
* frontmatter on the side, so D.2.5 is additive (no breaking change to
|
|
37
|
+
* D.2.0 callers / tests).
|
|
38
|
+
*
|
|
39
|
+
* Decoupled from the App's `LoadedSkill` on the port to `clud-bug/core`:
|
|
40
|
+
* `resolveReviewPasses` accepts the minimal `{ slug, frontmatter }` shape
|
|
41
|
+
* (where `frontmatter` is the core `SkillFrontmatter`) so the engine has no
|
|
42
|
+
* dependency on the App's skills loader.
|
|
43
|
+
*/
|
|
44
|
+
/** The three review modes. See module doc for semantics. */
|
|
45
|
+
export type ReviewPassMode = 'cross-check' | 'consensus' | 'independent';
|
|
46
|
+
export declare const REVIEW_PASS_MODES: readonly ReviewPassMode[];
|
|
47
|
+
/** Apply scope. `shared-only` restricts multi-pass to shared (default) skills. */
|
|
48
|
+
export type ApplyTo = 'all' | 'shared-only';
|
|
49
|
+
/** The smallest config unit per skill. */
|
|
50
|
+
export interface ReviewPassesEntry {
|
|
51
|
+
/** Number of independent passes (1..MAX_PASSES). Always positive. */
|
|
52
|
+
count: number;
|
|
53
|
+
/** Aggregation mode. Only meaningful when count >= 2. */
|
|
54
|
+
mode: ReviewPassMode;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Reviewer-role tier abstraction. The orchestrator keys on the tier (not the
|
|
58
|
+
* display `name`) when it needs to reason about reviewer strength
|
|
59
|
+
* independent of the human-facing label:
|
|
60
|
+
* - `beetle` → fast first-pass reviewer (Sonnet-class).
|
|
61
|
+
* - `wasp` → deeper cross-check / consensus reviewer (Opus-class).
|
|
62
|
+
* - `mantis` → arbiter / third-pass reviewer (Opus-class).
|
|
63
|
+
*
|
|
64
|
+
* `name` + `model` stay for back-compat (inline attribution + AI-Gateway
|
|
65
|
+
* routing); `tier` is additive and optional so config-supplied roles that
|
|
66
|
+
* omit it still validate.
|
|
67
|
+
*/
|
|
68
|
+
export type ReviewRoleTier = 'beetle' | 'wasp' | 'mantis';
|
|
69
|
+
/** One role definition; pairs a label ("Beetle") with a model slug. */
|
|
70
|
+
export interface ReviewRole {
|
|
71
|
+
/** Display name. Surfaced inline in the comment per the spec. */
|
|
72
|
+
name: string;
|
|
73
|
+
/** AI Gateway model slug, e.g. `anthropic/claude-sonnet-4.6`. */
|
|
74
|
+
model: string;
|
|
75
|
+
/** Optional reviewer tier. See ReviewRoleTier. */
|
|
76
|
+
tier?: ReviewRoleTier;
|
|
77
|
+
}
|
|
78
|
+
/** Full resolved per-skill config exposed to the orchestrator. */
|
|
79
|
+
export interface ResolvedReviewPasses {
|
|
80
|
+
/** The skill slug this entry applies to. */
|
|
81
|
+
slug: string;
|
|
82
|
+
/** Number of passes to run for this skill. Always >= 1. */
|
|
83
|
+
count: number;
|
|
84
|
+
/** Aggregation mode. */
|
|
85
|
+
mode: ReviewPassMode;
|
|
86
|
+
/** Roles, in pass order. May have fewer entries than `count`; we recycle. */
|
|
87
|
+
roles: ReviewRole[];
|
|
88
|
+
/**
|
|
89
|
+
* Provenance — which precedence layer produced the chosen count.
|
|
90
|
+
* Useful in tests + logs to verify the precedence chain.
|
|
91
|
+
*/
|
|
92
|
+
source: 'perSkill' | 'frontmatter' | 'repoDefault' | 'builtin';
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Shape of `reviewPasses` in `.clud-bug.json`.
|
|
96
|
+
*
|
|
97
|
+
* We accept two layouts (per the plan):
|
|
98
|
+
*
|
|
99
|
+
* // (A) flat — repo-wide single setting
|
|
100
|
+
* "reviewPasses": {
|
|
101
|
+
* "count": 2,
|
|
102
|
+
* "mode": "cross-check",
|
|
103
|
+
* "applyTo": "all",
|
|
104
|
+
* "roles": [{ "name": "Beetle", "model": "..." }]
|
|
105
|
+
* }
|
|
106
|
+
*
|
|
107
|
+
* // (B) split — default + perSkill overrides
|
|
108
|
+
* "reviewPasses": {
|
|
109
|
+
* "default": { "count": 1, "mode": "cross-check" },
|
|
110
|
+
* "perSkill": { "security-audit": { "count": 3 } },
|
|
111
|
+
* "roles": [...]
|
|
112
|
+
* }
|
|
113
|
+
*
|
|
114
|
+
* (B) supersedes (A) when both are present; the flat keys are read as the
|
|
115
|
+
* `default` block. Roles are read from the outer object regardless.
|
|
116
|
+
*/
|
|
117
|
+
export interface ReviewPassesConfig {
|
|
118
|
+
count?: number;
|
|
119
|
+
mode?: ReviewPassMode;
|
|
120
|
+
applyTo?: ApplyTo;
|
|
121
|
+
roles?: ReviewRole[];
|
|
122
|
+
default?: Partial<ReviewPassesEntry>;
|
|
123
|
+
perSkill?: Record<string, Partial<ReviewPassesEntry>>;
|
|
124
|
+
}
|
|
125
|
+
/** Frontmatter shape (subset) — only the bit D.2.5 cares about. */
|
|
126
|
+
export interface SkillReviewPassesFrontmatter {
|
|
127
|
+
count?: number;
|
|
128
|
+
mode?: ReviewPassMode;
|
|
129
|
+
}
|
|
130
|
+
/** Hard cap, enforced silently. Plan: count > 3 is brand-damaging cost. */
|
|
131
|
+
export declare const MAX_PASSES = 3;
|
|
132
|
+
/** Floor, enforced silently. Negative / zero / non-integer collapses to 1. */
|
|
133
|
+
export declare const MIN_PASSES = 1;
|
|
134
|
+
/** Built-in defaults — pre-config bottom of the precedence stack. */
|
|
135
|
+
export declare const BUILTIN_DEFAULT: ReviewPassesEntry;
|
|
136
|
+
/** Built-in roles, in order. Used when config omits the `roles` array. */
|
|
137
|
+
export declare const BUILTIN_ROLES: ReviewRole[];
|
|
138
|
+
/**
|
|
139
|
+
* Reads top-level `reviewPasses` from a parsed `.clud-bug.json` object.
|
|
140
|
+
* Tolerates absence + invalid types.
|
|
141
|
+
*/
|
|
142
|
+
export declare function readReviewPassesConfig(parsedJson: unknown): ReviewPassesConfig | null;
|
|
143
|
+
/**
|
|
144
|
+
* Re-parses raw SKILL.md frontmatter to extract the (optional)
|
|
145
|
+
* `review_passes` block. Returns null when the block is absent / malformed.
|
|
146
|
+
*
|
|
147
|
+
* We can't reuse the App skills-loader's `parseFrontmatter` — it strips
|
|
148
|
+
* unknown nested keys for security/forward-compat. This helper is scoped to
|
|
149
|
+
* one block: it tolerates `count` + `mode` inline scalars and nothing else.
|
|
150
|
+
*
|
|
151
|
+
* Raw frontmatter is whatever sits between the leading `---\n` and the
|
|
152
|
+
* matching `---\n` in the SKILL.md file. The caller (orchestrator) already
|
|
153
|
+
* has the parsed `body`/frontmatter from the skills loader; what we need here
|
|
154
|
+
* is the RAW source so we can pluck `review_passes` out.
|
|
155
|
+
*/
|
|
156
|
+
export declare function extractSkillReviewPassesOverride(rawSkillMd: string): SkillReviewPassesFrontmatter | null;
|
|
157
|
+
/** Minimal skill shape the resolver needs — decoupled from the App loader. */
|
|
158
|
+
export interface ReviewPlanSkill {
|
|
159
|
+
/** Skill slug (catalog identity). */
|
|
160
|
+
slug: string;
|
|
161
|
+
/** Parsed SKILL.md frontmatter (core shape). Only `review_mode` is read. */
|
|
162
|
+
frontmatter: SkillFrontmatter;
|
|
163
|
+
}
|
|
164
|
+
export interface ResolveReviewPassesInput {
|
|
165
|
+
/** Loaded skills, in catalog order. */
|
|
166
|
+
skills: ReviewPlanSkill[];
|
|
167
|
+
/**
|
|
168
|
+
* Raw SKILL.md text per slug (for the frontmatter `review_passes` block).
|
|
169
|
+
* Optional — when omitted, frontmatter override is treated as absent.
|
|
170
|
+
* Map key = slug; value = raw SKILL.md including the leading `---` block.
|
|
171
|
+
*/
|
|
172
|
+
rawSkillMd?: Record<string, string>;
|
|
173
|
+
/** Parsed `.clud-bug.json` `reviewPasses` block. May be null/empty. */
|
|
174
|
+
config: ReviewPassesConfig | null;
|
|
175
|
+
}
|
|
176
|
+
export interface ResolveReviewPassesResult {
|
|
177
|
+
/** Resolved entry per skill, in input order. */
|
|
178
|
+
perSkill: ResolvedReviewPasses[];
|
|
179
|
+
/**
|
|
180
|
+
* Effective roles list — falls back to BUILTIN_ROLES when config omits.
|
|
181
|
+
* The aggregator + writeback use this for inline attribution.
|
|
182
|
+
*/
|
|
183
|
+
roles: ReviewRole[];
|
|
184
|
+
/**
|
|
185
|
+
* `applyTo` scope. When `shared-only`, the orchestrator only multi-passes
|
|
186
|
+
* skills with `review_mode === 'shared'`. Defaults to `all`.
|
|
187
|
+
*/
|
|
188
|
+
applyTo: ApplyTo;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Walks the precedence stack and produces an effective `{ count, mode }` per
|
|
192
|
+
* skill plus the resolved roles + apply scope.
|
|
193
|
+
*
|
|
194
|
+
* Pure function; no I/O. The orchestrator handles the actual fetch ordering
|
|
195
|
+
* upstream (config from the skills loader, raw SKILL.md from a separate fetch
|
|
196
|
+
* in D.2.5 — the loader returns `body` with frontmatter stripped, so the
|
|
197
|
+
* orchestrator passes the un-stripped source on the side).
|
|
198
|
+
*/
|
|
199
|
+
export declare function resolveReviewPasses(input: ResolveReviewPassesInput): ResolveReviewPassesResult;
|
|
200
|
+
/**
|
|
201
|
+
* Returns the role for a given pass index, recycling when `roles.length` is
|
|
202
|
+
* smaller than the pass count. Pass 1 → roles[0], pass 2 → roles[1], etc.
|
|
203
|
+
* Empty roles array → synthesized `Pass N` / requested model fallback.
|
|
204
|
+
*
|
|
205
|
+
* The orchestrator calls this for every (skill, passIndex) combination.
|
|
206
|
+
*/
|
|
207
|
+
export declare function roleForPass(roles: ReviewRole[], passIndex: number, fallbackModel: string): ReviewRole;
|
|
208
|
+
/**
|
|
209
|
+
* Truthy when ANY resolved skill needs more than one pass. Used by the
|
|
210
|
+
* orchestrator to decide whether to invoke the aggregator at all (single-pass
|
|
211
|
+
* results render via the D.2.0 path verbatim).
|
|
212
|
+
*/
|
|
213
|
+
export declare function anyMultiPass(resolved: ResolvedReviewPasses[]): boolean;
|
|
214
|
+
/**
|
|
215
|
+
* Total pass count across every skill — the cost-gate input. Used by
|
|
216
|
+
* `./budget-plan.ts`'s Layer-1 estimator.
|
|
217
|
+
*/
|
|
218
|
+
export declare function totalPassCount(resolved: ResolvedReviewPasses[]): number;
|
|
219
|
+
//# sourceMappingURL=review-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-plan.d.ts","sourceRoot":"","sources":["../../src/core/review-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
export const REVIEW_PASS_MODES = [
|
|
2
|
+
'cross-check',
|
|
3
|
+
'consensus',
|
|
4
|
+
'independent',
|
|
5
|
+
];
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Constants
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
/** Hard cap, enforced silently. Plan: count > 3 is brand-damaging cost. */
|
|
10
|
+
export const MAX_PASSES = 3;
|
|
11
|
+
/** Floor, enforced silently. Negative / zero / non-integer collapses to 1. */
|
|
12
|
+
export const MIN_PASSES = 1;
|
|
13
|
+
/** Built-in defaults — pre-config bottom of the precedence stack. */
|
|
14
|
+
export const BUILTIN_DEFAULT = {
|
|
15
|
+
count: 1,
|
|
16
|
+
mode: 'cross-check',
|
|
17
|
+
};
|
|
18
|
+
/** Built-in roles, in order. Used when config omits the `roles` array. */
|
|
19
|
+
export const BUILTIN_ROLES = [
|
|
20
|
+
{ name: 'Beetle', model: 'anthropic/claude-sonnet-4.6', tier: 'beetle' },
|
|
21
|
+
{ name: 'Wasp', model: 'anthropic/claude-opus-4.7', tier: 'wasp' },
|
|
22
|
+
{ name: 'Mantis', model: 'anthropic/claude-opus-4.7', tier: 'mantis' },
|
|
23
|
+
];
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
// Helpers
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
/** Clamp a `count` to `[MIN_PASSES, MAX_PASSES]`. NaN / negative → MIN. */
|
|
28
|
+
function clampCount(raw) {
|
|
29
|
+
if (typeof raw !== 'number' || !Number.isFinite(raw))
|
|
30
|
+
return MIN_PASSES;
|
|
31
|
+
const truncated = Math.trunc(raw);
|
|
32
|
+
if (truncated < MIN_PASSES)
|
|
33
|
+
return MIN_PASSES;
|
|
34
|
+
if (truncated > MAX_PASSES)
|
|
35
|
+
return MAX_PASSES;
|
|
36
|
+
return truncated;
|
|
37
|
+
}
|
|
38
|
+
/** Returns the input mode if valid, else undefined. */
|
|
39
|
+
function asMode(raw) {
|
|
40
|
+
if (typeof raw !== 'string')
|
|
41
|
+
return undefined;
|
|
42
|
+
return REVIEW_PASS_MODES.includes(raw)
|
|
43
|
+
? raw
|
|
44
|
+
: undefined;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Coerces an arbitrary fragment into a partial entry. Unknown fields and
|
|
48
|
+
* invalid types collapse to `undefined` so downstream merging is honest about
|
|
49
|
+
* which fields the layer actually supplied.
|
|
50
|
+
*/
|
|
51
|
+
function coerceEntry(raw) {
|
|
52
|
+
if (!raw || typeof raw !== 'object')
|
|
53
|
+
return {};
|
|
54
|
+
const r = raw;
|
|
55
|
+
const out = {};
|
|
56
|
+
if (typeof r.count === 'number') {
|
|
57
|
+
out.count = clampCount(r.count);
|
|
58
|
+
}
|
|
59
|
+
const mode = asMode(r.mode);
|
|
60
|
+
if (mode)
|
|
61
|
+
out.mode = mode;
|
|
62
|
+
return out;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Reads top-level `reviewPasses` from a parsed `.clud-bug.json` object.
|
|
66
|
+
* Tolerates absence + invalid types.
|
|
67
|
+
*/
|
|
68
|
+
export function readReviewPassesConfig(parsedJson) {
|
|
69
|
+
if (!parsedJson || typeof parsedJson !== 'object')
|
|
70
|
+
return null;
|
|
71
|
+
const root = parsedJson;
|
|
72
|
+
const raw = root.reviewPasses;
|
|
73
|
+
if (!raw || typeof raw !== 'object')
|
|
74
|
+
return null;
|
|
75
|
+
const obj = raw;
|
|
76
|
+
const cfg = {};
|
|
77
|
+
if (typeof obj.count === 'number')
|
|
78
|
+
cfg.count = clampCount(obj.count);
|
|
79
|
+
const flatMode = asMode(obj.mode);
|
|
80
|
+
if (flatMode)
|
|
81
|
+
cfg.mode = flatMode;
|
|
82
|
+
if (obj.applyTo === 'all' || obj.applyTo === 'shared-only') {
|
|
83
|
+
cfg.applyTo = obj.applyTo;
|
|
84
|
+
}
|
|
85
|
+
if (Array.isArray(obj.roles)) {
|
|
86
|
+
cfg.roles = obj.roles
|
|
87
|
+
.map((entry) => coerceRole(entry))
|
|
88
|
+
.filter((r) => r !== null);
|
|
89
|
+
}
|
|
90
|
+
if (obj.default && typeof obj.default === 'object') {
|
|
91
|
+
cfg.default = coerceEntry(obj.default);
|
|
92
|
+
}
|
|
93
|
+
if (obj.perSkill && typeof obj.perSkill === 'object') {
|
|
94
|
+
const out = {};
|
|
95
|
+
for (const [slug, value] of Object.entries(obj.perSkill)) {
|
|
96
|
+
out[slug] = coerceEntry(value);
|
|
97
|
+
}
|
|
98
|
+
cfg.perSkill = out;
|
|
99
|
+
}
|
|
100
|
+
return cfg;
|
|
101
|
+
}
|
|
102
|
+
function coerceRole(raw) {
|
|
103
|
+
if (!raw || typeof raw !== 'object')
|
|
104
|
+
return null;
|
|
105
|
+
const r = raw;
|
|
106
|
+
if (typeof r.name !== 'string' || typeof r.model !== 'string')
|
|
107
|
+
return null;
|
|
108
|
+
if (!r.name.trim() || !r.model.trim())
|
|
109
|
+
return null;
|
|
110
|
+
return { name: r.name.trim(), model: r.model.trim() };
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Re-parses raw SKILL.md frontmatter to extract the (optional)
|
|
114
|
+
* `review_passes` block. Returns null when the block is absent / malformed.
|
|
115
|
+
*
|
|
116
|
+
* We can't reuse the App skills-loader's `parseFrontmatter` — it strips
|
|
117
|
+
* unknown nested keys for security/forward-compat. This helper is scoped to
|
|
118
|
+
* one block: it tolerates `count` + `mode` inline scalars and nothing else.
|
|
119
|
+
*
|
|
120
|
+
* Raw frontmatter is whatever sits between the leading `---\n` and the
|
|
121
|
+
* matching `---\n` in the SKILL.md file. The caller (orchestrator) already
|
|
122
|
+
* has the parsed `body`/frontmatter from the skills loader; what we need here
|
|
123
|
+
* is the RAW source so we can pluck `review_passes` out.
|
|
124
|
+
*/
|
|
125
|
+
export function extractSkillReviewPassesOverride(rawSkillMd) {
|
|
126
|
+
const trimmed = rawSkillMd.replace(/^/, '');
|
|
127
|
+
const match = trimmed.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/);
|
|
128
|
+
if (!match)
|
|
129
|
+
return null;
|
|
130
|
+
const block = match[1] ?? '';
|
|
131
|
+
// We want the `review_passes:` top-level key + its indented children
|
|
132
|
+
// (count, mode). Anything outside this block is ignored.
|
|
133
|
+
const lines = block.split(/\r?\n/);
|
|
134
|
+
let inBlock = false;
|
|
135
|
+
const out = {};
|
|
136
|
+
for (const line of lines) {
|
|
137
|
+
if (!inBlock) {
|
|
138
|
+
// Top-level key match: `review_passes:` with no value (block start).
|
|
139
|
+
if (/^review_passes\s*:\s*$/.test(line)) {
|
|
140
|
+
inBlock = true;
|
|
141
|
+
}
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
// Inside the block: keep going while the line is indented OR blank.
|
|
145
|
+
if (line.trim() === '')
|
|
146
|
+
continue;
|
|
147
|
+
if (!/^\s/.test(line)) {
|
|
148
|
+
// De-dent → block ended.
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
const inner = line.trim();
|
|
152
|
+
const colon = inner.indexOf(':');
|
|
153
|
+
if (colon === -1)
|
|
154
|
+
continue;
|
|
155
|
+
const key = inner.slice(0, colon).trim();
|
|
156
|
+
const value = inner.slice(colon + 1).trim();
|
|
157
|
+
if (key === 'count') {
|
|
158
|
+
const n = Number(value);
|
|
159
|
+
if (Number.isFinite(n))
|
|
160
|
+
out.count = clampCount(n);
|
|
161
|
+
}
|
|
162
|
+
else if (key === 'mode') {
|
|
163
|
+
// Strip surrounding quotes.
|
|
164
|
+
const m = asMode(value.replace(/^['"]|['"]$/g, ''));
|
|
165
|
+
if (m)
|
|
166
|
+
out.mode = m;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Return null when neither field landed — keeps the precedence resolver's
|
|
170
|
+
// "frontmatter layer supplied nothing" branch honest.
|
|
171
|
+
if (out.count === undefined && out.mode === undefined)
|
|
172
|
+
return null;
|
|
173
|
+
return out;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Walks the precedence stack and produces an effective `{ count, mode }` per
|
|
177
|
+
* skill plus the resolved roles + apply scope.
|
|
178
|
+
*
|
|
179
|
+
* Pure function; no I/O. The orchestrator handles the actual fetch ordering
|
|
180
|
+
* upstream (config from the skills loader, raw SKILL.md from a separate fetch
|
|
181
|
+
* in D.2.5 — the loader returns `body` with frontmatter stripped, so the
|
|
182
|
+
* orchestrator passes the un-stripped source on the side).
|
|
183
|
+
*/
|
|
184
|
+
export function resolveReviewPasses(input) {
|
|
185
|
+
const { skills, rawSkillMd = {}, config } = input;
|
|
186
|
+
// 1. Repo-level default — collapses the two .clud-bug.json layouts.
|
|
187
|
+
const repoDefault = (() => {
|
|
188
|
+
if (!config)
|
|
189
|
+
return {};
|
|
190
|
+
const flat = {};
|
|
191
|
+
if (config.count !== undefined)
|
|
192
|
+
flat.count = clampCount(config.count);
|
|
193
|
+
if (config.mode)
|
|
194
|
+
flat.mode = config.mode;
|
|
195
|
+
const explicit = config.default ?? {};
|
|
196
|
+
// `default` wins over flat — explicit always beats inferred.
|
|
197
|
+
return { ...flat, ...explicit };
|
|
198
|
+
})();
|
|
199
|
+
// 2. Roles + applyTo carry over uniformly.
|
|
200
|
+
const roles = config?.roles && config.roles.length > 0 ? config.roles : BUILTIN_ROLES;
|
|
201
|
+
const applyTo = config?.applyTo === 'shared-only' ? 'shared-only' : 'all';
|
|
202
|
+
const perSkill = skills.map((skill) => {
|
|
203
|
+
const fromPerSkill = config?.perSkill?.[skill.slug] ?? {};
|
|
204
|
+
const fromFrontmatter = rawSkillMd[skill.slug] !== undefined
|
|
205
|
+
? extractSkillReviewPassesOverride(rawSkillMd[skill.slug] ?? '') ?? {}
|
|
206
|
+
: {};
|
|
207
|
+
// 3. shared-only scope clamps non-shared skills to count = 1.
|
|
208
|
+
// Apply BEFORE precedence merging so even a perSkill override can't
|
|
209
|
+
// re-enable multi-pass for a dedicated skill in shared-only mode.
|
|
210
|
+
const sharedOnlyClamp = applyTo === 'shared-only' && skill.frontmatter.review_mode !== 'shared'
|
|
211
|
+
? { count: 1 }
|
|
212
|
+
: {};
|
|
213
|
+
// Precedence: perSkill → frontmatter → repoDefault → builtin
|
|
214
|
+
const merged = {
|
|
215
|
+
count: sharedOnlyClamp.count ??
|
|
216
|
+
fromPerSkill.count ??
|
|
217
|
+
fromFrontmatter.count ??
|
|
218
|
+
repoDefault.count ??
|
|
219
|
+
BUILTIN_DEFAULT.count,
|
|
220
|
+
mode: fromPerSkill.mode ??
|
|
221
|
+
fromFrontmatter.mode ??
|
|
222
|
+
repoDefault.mode ??
|
|
223
|
+
BUILTIN_DEFAULT.mode,
|
|
224
|
+
};
|
|
225
|
+
// Provenance — which precedence layer SUPPLIED count.
|
|
226
|
+
const source = sharedOnlyClamp.count !== undefined
|
|
227
|
+
? 'repoDefault' // applyTo lives at the repo layer
|
|
228
|
+
: fromPerSkill.count !== undefined
|
|
229
|
+
? 'perSkill'
|
|
230
|
+
: fromFrontmatter.count !== undefined
|
|
231
|
+
? 'frontmatter'
|
|
232
|
+
: repoDefault.count !== undefined
|
|
233
|
+
? 'repoDefault'
|
|
234
|
+
: 'builtin';
|
|
235
|
+
return {
|
|
236
|
+
slug: skill.slug,
|
|
237
|
+
count: clampCount(merged.count),
|
|
238
|
+
mode: merged.mode,
|
|
239
|
+
roles,
|
|
240
|
+
source,
|
|
241
|
+
};
|
|
242
|
+
});
|
|
243
|
+
return { perSkill, roles, applyTo };
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Returns the role for a given pass index, recycling when `roles.length` is
|
|
247
|
+
* smaller than the pass count. Pass 1 → roles[0], pass 2 → roles[1], etc.
|
|
248
|
+
* Empty roles array → synthesized `Pass N` / requested model fallback.
|
|
249
|
+
*
|
|
250
|
+
* The orchestrator calls this for every (skill, passIndex) combination.
|
|
251
|
+
*/
|
|
252
|
+
export function roleForPass(roles, passIndex, fallbackModel) {
|
|
253
|
+
if (roles.length === 0) {
|
|
254
|
+
return { name: `Pass ${passIndex + 1}`, model: fallbackModel };
|
|
255
|
+
}
|
|
256
|
+
const i = passIndex % roles.length;
|
|
257
|
+
return roles[i];
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Truthy when ANY resolved skill needs more than one pass. Used by the
|
|
261
|
+
* orchestrator to decide whether to invoke the aggregator at all (single-pass
|
|
262
|
+
* results render via the D.2.0 path verbatim).
|
|
263
|
+
*/
|
|
264
|
+
export function anyMultiPass(resolved) {
|
|
265
|
+
return resolved.some((r) => r.count > 1);
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Total pass count across every skill — the cost-gate input. Used by
|
|
269
|
+
* `./budget-plan.ts`'s Layer-1 estimator.
|
|
270
|
+
*/
|
|
271
|
+
export function totalPassCount(resolved) {
|
|
272
|
+
return resolved.reduce((sum, r) => sum + r.count, 0);
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=review-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-plan.js","sourceRoot":"","sources":["../../src/core/review-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,9 +109,29 @@ export interface PassAttribution {
|
|
|
109
109
|
/** Optional one-line note from the pass, e.g. cross-check rationale. */
|
|
110
110
|
note?: string;
|
|
111
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* SPEC §6.10.1 consensus marker, derived from a finding's per-pass attributions
|
|
114
|
+
* by the aggregator's `deriveConsensus`. Defined here — the canonical home of
|
|
115
|
+
* the unified-finding shape — so it rides on `MultiPassReview.findings`.
|
|
116
|
+
*
|
|
117
|
+
* - `1-of-N` — single pass produced this finding; no consensus reached.
|
|
118
|
+
* §6.10.2 MUST NOT fire auto-fix on these.
|
|
119
|
+
* - `2-of-2` — two passes independently produced an equivalent finding.
|
|
120
|
+
* Qualifies for auto-fix per §6.10.2.
|
|
121
|
+
* - `arbitrated` — passes disagreed; an arbiter resolved the dispute. Today's
|
|
122
|
+
* cross-check shape treats `arbitrated` as NOT-qualifying (conservative).
|
|
123
|
+
*/
|
|
124
|
+
export type Consensus = '1-of-N' | '2-of-2' | 'arbitrated';
|
|
112
125
|
export interface UnifiedFinding extends Finding {
|
|
113
126
|
/** One PassAttribution per pass involved with this finding. Order: by passNumber. */
|
|
114
127
|
attributions: PassAttribution[];
|
|
128
|
+
/**
|
|
129
|
+
* SPEC §6.10.1 consensus verdict. Stamped by the aggregator's `finalize()`
|
|
130
|
+
* from `deriveConsensus(attributions)`. Optional: single-pass / non-aggregated
|
|
131
|
+
* findings omit it; consumers treat absence as '1-of-N' (the auto-fix gate
|
|
132
|
+
* default — see clud-bug-app/lib/auto-fix-policy.ts).
|
|
133
|
+
*/
|
|
134
|
+
consensus?: Consensus;
|
|
115
135
|
}
|
|
116
136
|
/** Effective resolution verdict the multi-pass orchestrator emits. */
|
|
117
137
|
export type MultiPassVerdict = 'request_changes' | 'review_only' | 'clean';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-writeback.d.ts","sourceRoot":"","sources":["../../src/core/review-writeback.ts"],"names":[],"mappings":"AAwBA,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,MAAM,EACZ,MAAM,wBAAwB,CAAC;AAEhC,kDAAkD;AAClD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,0DAA0D;AAC1D,eAAO,MAAM,UAAU,kBAAkB,CAAC;AAM1C,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,GAAG,OAAO,GAAG,aAAa,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACxC;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACzC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CA6GrE;AA0DD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,MAAM,EAAE,UAAU,CAAC;IACnB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,qFAAqF;IACrF,YAAY,EAAE,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"review-writeback.d.ts","sourceRoot":"","sources":["../../src/core/review-writeback.ts"],"names":[],"mappings":"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"}
|
|
@@ -303,6 +303,15 @@ function renderUnifiedFinding(f, includeReasoning) {
|
|
|
303
303
|
}
|
|
304
304
|
const headLabel = formatAttributionLabel(head);
|
|
305
305
|
const lines = [];
|
|
306
|
+
// SPEC §6.8.1 (NORMATIVE for multi-pass): a per-finding pass-attribution HTML
|
|
307
|
+
// comment immediately preceding the bullet, naming the originating pass as a
|
|
308
|
+
// stable lowercase identifier so consumers can aggregate per-pass metrics.
|
|
309
|
+
lines.push(`<!-- pass: ${passIdentifier(head.roleName)} -->`);
|
|
310
|
+
// SPEC §6.10.1 (NORMATIVE for gated reviewers): the consensus marker alongside
|
|
311
|
+
// the pass attribution, when the finding carries a consensus verdict.
|
|
312
|
+
if (f.consensus) {
|
|
313
|
+
lines.push(`<!-- consensus: ${f.consensus} -->`);
|
|
314
|
+
}
|
|
306
315
|
lines.push(`- ${headLabel} **${location}** — ${f.skill}: ${f.summary}`);
|
|
307
316
|
if (includeReasoning && f.reasoning) {
|
|
308
317
|
lines.push(` Reasoning: ${f.reasoning}`);
|
|
@@ -325,6 +334,13 @@ function renderUnifiedFinding(f, includeReasoning) {
|
|
|
325
334
|
* `source: 'first'` — i.e. when a later pass surfaced this finding without
|
|
326
335
|
* Pass 1 raising it.
|
|
327
336
|
*/
|
|
337
|
+
/** SPEC §6.8.1 pass identifier: a stable lowercase slug of the role name. */
|
|
338
|
+
function passIdentifier(roleName) {
|
|
339
|
+
return roleName
|
|
340
|
+
.toLowerCase()
|
|
341
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
342
|
+
.replace(/^-+|-+$/g, '');
|
|
343
|
+
}
|
|
328
344
|
function formatAttributionLabel(a) {
|
|
329
345
|
const independent = a.source === 'independent' && a.passNumber > 1
|
|
330
346
|
? ' — found independently'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-writeback.js","sourceRoot":"","sources":["../../src/core/review-writeback.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"review-writeback.js","sourceRoot":"","sources":["../../src/core/review-writeback.ts"],"names":[],"mappings":"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"}
|
package/dist/core/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PKG_VERSION = "0.7.0-rc.
|
|
1
|
+
export declare const PKG_VERSION = "0.7.0-rc.13";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/core/version.js
CHANGED