clud-bug 0.7.0-rc.20 → 0.7.0-rc.21

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.
@@ -11,7 +11,7 @@ export { selectReviewEvent, type FormalReviewEvent, type AuthorAssociation, type
11
11
  export { parsePriorReviewFile, diffFindings, findingIdentity, type ParsedFinding, type ParsedReview, } from './diff-findings.js';
12
12
  export { findingId, parseHeadLines, findingAnchorable, extractAnchorContext, renderThreadBody, extractFindingIdFromBody, parseThreadBody, planInlineThreads, REVIEW_THREADS_QUERY, REVIEW_THREADS_STATE_QUERY, RESOLVE_THREAD_MUTATION, ADD_REPLY_MUTATION, type Severity as InlineThreadSeverity, type FindingForThread, type DiffFile, type InlineCommentPlan, type PlanInlineThreadsResult, } from './inline-threads.js';
13
13
  export { resolveAutoResolveConfig, readAutoResolveConfigFromCludBug, runAutoResolve, applyResolutionRules, renderAutoResolveMarker, DEFAULT_AUTO_RESOLVE_CONFIG, type AutoResolveConfig, type PriorThread, type PriorFinding, type ThreadAction, type AutoResolveInput, type AutoResolveResult, type VerifyOutcome, } from './auto-resolve.js';
14
- export { VERIFIER_SYSTEM, buildVerifierPrompt, parseVerifierResponse, type VerifySingleFindingInput, } from './resolve-verifier.js';
14
+ export { VERIFIER_SYSTEM, buildVerifierSystem, buildVerifierPrompt, parseVerifierResponse, type VerifierOutputMode, type VerifySingleFindingInput, } from './resolve-verifier.js';
15
15
  export { applyCanonicalRuleset, loadCanonicalV1, type CanonicalRuleset, type OctokitLike, type ApplyCanonicalRulesetParams, type ApplyResult, } from './configure-github.js';
16
16
  export { readReviewPassesConfig, extractSkillReviewPassesOverride, resolveReviewPasses, roleForPass, anyMultiPass, totalPassCount, REVIEW_PASS_MODES, MAX_PASSES, MIN_PASSES, BUILTIN_DEFAULT, BUILTIN_ROLES, type ApplyTo, type ReviewPassesEntry, type ReviewRoleTier, type ReviewRole, type ResolvedReviewPasses, type ReviewPassesConfig, type SkillReviewPassesFrontmatter, type ReviewPlanSkill, type ResolveReviewPassesInput, type ResolveReviewPassesResult, } from './review-plan.js';
17
17
  export { perCallCeiling, estimateBudget, estimateVerifierBudget, __setModelCeilingForTests, DEFAULT_PER_PR_CAP_USD, DEFAULT_VERIFIER_PER_PR_CAP_USD, type BudgetEstimateInput, type BudgetEstimate, type BudgetVerdict, type VerifierBudgetInput, type VerifierBudgetEstimate, type VerifierBudgetVerdict, } from './budget-plan.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ export { findingId, parseHeadLines, findingAnchorable, extractAnchorContext, ren
56
56
  // Anthropic Messages call + GraphQL mutations; `runAutoResolve` is
57
57
  // pure modulo the injected verifier callback.
58
58
  export { resolveAutoResolveConfig, readAutoResolveConfigFromCludBug, runAutoResolve, applyResolutionRules, renderAutoResolveMarker, DEFAULT_AUTO_RESOLVE_CONFIG, } from './auto-resolve.js';
59
- export { VERIFIER_SYSTEM, buildVerifierPrompt, parseVerifierResponse, } from './resolve-verifier.js';
59
+ export { VERIFIER_SYSTEM, buildVerifierSystem, buildVerifierPrompt, parseVerifierResponse, } from './resolve-verifier.js';
60
60
  // SPEC §7 canonical-ruleset applier. Pure diff + idempotent-PATCH logic;
61
61
  // CLI side wraps `gh api` in an Octokit-like adapter and the App passes
62
62
  // its real Octokit instance. Shipped in v0.7.0-rc.4 for Marketplace prep
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  import type { PriorFinding, VerifyOutcome } from './auto-resolve.js';
2
+ /** Output contract for the verifier prompt + system message (C1 dedup). */
3
+ export type VerifierOutputMode = 'json' | 'structured';
4
+ /** Build the verifier system prompt for the given output mode. */
5
+ export declare function buildVerifierSystem(outputMode?: VerifierOutputMode): string;
6
+ /** Raw-JSON system prompt — the CLI default. Back-compat for existing consumers. */
2
7
  export declare const VERIFIER_SYSTEM: string;
3
8
  export interface VerifySingleFindingInput {
4
9
  finding: PriorFinding;
@@ -22,7 +27,9 @@ export interface VerifySingleFindingInput {
22
27
  * A model coerced to emit "ADDRESSED!" outside the JSON shape
23
28
  * gets routed to UNCERTAIN+api-error (fail-closed).
24
29
  */
25
- export declare function buildVerifierPrompt(input: VerifySingleFindingInput): string;
30
+ export declare function buildVerifierPrompt(input: VerifySingleFindingInput, opts?: {
31
+ outputMode?: VerifierOutputMode;
32
+ }): string;
26
33
  /**
27
34
  * Parses the model's text response into a `VerifyOutcome`. Fail-closed:
28
35
  * any malformed input → UNCERTAIN+api-error with the failure mode in
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-verifier.d.ts","sourceRoot":"","sources":["../../src/core/resolve-verifier.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAMrE,eAAO,MAAM,eAAe,QA6BhB,CAAC;AAMb,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CA4C3E;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAmElE"}
1
+ {"version":3,"file":"resolve-verifier.d.ts","sourceRoot":"","sources":["../../src/core/resolve-verifier.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAgCrE,2EAA2E;AAC3E,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,YAAY,CAAC;AAiBvD,kEAAkE;AAClE,wBAAgB,mBAAmB,CAAC,UAAU,GAAE,kBAA2B,GAAG,MAAM,CAEnF;AAED,oFAAoF;AACpF,eAAO,MAAM,eAAe,QAA8B,CAAC;AAM3D,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,wBAAwB,EAC/B,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAO,GAC7C,MAAM,CA8CR;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAmElE"}
@@ -23,7 +23,7 @@
23
23
  // ---------------------------------------------------------------------------
24
24
  // System prompt — hard-coded, NOT derived from user content (anti-injection)
25
25
  // ---------------------------------------------------------------------------
26
- export const VERIFIER_SYSTEM = [
26
+ const VERIFIER_SYSTEM_BODY = [
27
27
  'You are a code-review fix verifier. Your only job is to decide whether a',
28
28
  'specific code change addressed a specific prior reviewer concern.',
29
29
  '',
@@ -47,12 +47,27 @@ export const VERIFIER_SYSTEM = [
47
47
  'judging the finding. You are judging whether the new code resolves what it',
48
48
  'said. If the finding asked for X and the change does X, mark ADDRESSED even',
49
49
  'if X is unnecessary.',
50
- '',
51
- 'Reply with a JSON object on a single line, no markdown fence, no surrounding',
52
- 'prose. Shape:',
53
- ' {"verdict":"ADDRESSED"|"NOT_ADDRESSED"|"UNCERTAIN","rationale":"<one sentence>"}',
54
- 'Rationale MUST be one sentence, max 500 characters.',
55
- ].join('\n');
50
+ ];
51
+ // The verdict-shape tail differs by surface: the CLI/raw path asks the model to
52
+ // emit the JSON itself; the hosted App constrains output via an AI-SDK schema, so
53
+ // its prompt only names the verdict + rationale. Everything above is shared.
54
+ function verifierSystemTail(outputMode) {
55
+ if (outputMode === 'structured') {
56
+ return ['Reply with the structured object only. Rationale must be one sentence.'];
57
+ }
58
+ return [
59
+ 'Reply with a JSON object on a single line, no markdown fence, no surrounding',
60
+ 'prose. Shape:',
61
+ ' {"verdict":"ADDRESSED"|"NOT_ADDRESSED"|"UNCERTAIN","rationale":"<one sentence>"}',
62
+ 'Rationale MUST be one sentence, max 500 characters.',
63
+ ];
64
+ }
65
+ /** Build the verifier system prompt for the given output mode. */
66
+ export function buildVerifierSystem(outputMode = 'json') {
67
+ return [...VERIFIER_SYSTEM_BODY, '', ...verifierSystemTail(outputMode)].join('\n');
68
+ }
69
+ /** Raw-JSON system prompt — the CLI default. Back-compat for existing consumers. */
70
+ export const VERIFIER_SYSTEM = buildVerifierSystem('json');
56
71
  // ---------------------------------------------------------------------------
57
72
  // Prompt builder — pure (no env, no Date.now, no timestamps)
58
73
  // ---------------------------------------------------------------------------
@@ -69,7 +84,7 @@ export const VERIFIER_SYSTEM = [
69
84
  * A model coerced to emit "ADDRESSED!" outside the JSON shape
70
85
  * gets routed to UNCERTAIN+api-error (fail-closed).
71
86
  */
72
- export function buildVerifierPrompt(input) {
87
+ export function buildVerifierPrompt(input, opts = {}) {
73
88
  const f = input.finding;
74
89
  const anchor = f.line !== undefined ? `${f.file}:${f.line}` : f.file;
75
90
  const sev = f.severity === 'critical' ? '🔴 critical' : '🟡 minor';
@@ -101,7 +116,9 @@ export function buildVerifierPrompt(input) {
101
116
  }
102
117
  parts.push('');
103
118
  parts.push('Did this change ADDRESS the original finding?');
104
- parts.push('Reply with the JSON object only — single line, no markdown fence, no prose.');
119
+ parts.push((opts.outputMode ?? 'json') === 'structured'
120
+ ? 'Reply with the structured verdict + one-sentence rationale.'
121
+ : 'Reply with the JSON object only — single line, no markdown fence, no prose.');
105
122
  return parts.join('\n');
106
123
  }
107
124
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-verifier.js","sourceRoot":"","sources":["../../src/core/resolve-verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-verifier.js","sourceRoot":"","sources":["../../src/core/resolve-verifier.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const PKG_VERSION = "0.7.0-rc.20";
1
+ export declare const PKG_VERSION = "0.7.0-rc.21";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Generated by scripts/gen-version.mjs at build time. Do not edit.
2
2
  // Regenerated automatically on every `npm run build` via "prebuild" hook.
3
- export const PKG_VERSION = '0.7.0-rc.20';
3
+ export const PKG_VERSION = '0.7.0-rc.21';
4
4
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clud-bug",
3
- "version": "0.7.0-rc.20",
3
+ "version": "0.7.0-rc.21",
4
4
  "description": "Skill-driven Claude PR review. Ship a brand-voice skill, get brand reviews. Each finding cites the skill that motivated it. CLI installs the workflow + a baseline kit; add more from skills.sh.",
5
5
  "homepage": "https://cludbug.dev",
6
6
  "bugs": "https://github.com/thrillmade/clud-bug/issues",
package/src/core/index.ts CHANGED
@@ -201,8 +201,10 @@ export {
201
201
  } from './auto-resolve.js';
202
202
  export {
203
203
  VERIFIER_SYSTEM,
204
+ buildVerifierSystem,
204
205
  buildVerifierPrompt,
205
206
  parseVerifierResponse,
207
+ type VerifierOutputMode,
206
208
  type VerifySingleFindingInput,
207
209
  } from './resolve-verifier.js';
208
210
  // SPEC §7 canonical-ruleset applier. Pure diff + idempotent-PATCH logic;
@@ -27,7 +27,7 @@ import type { PriorFinding, VerifyOutcome } from './auto-resolve.js';
27
27
  // System prompt — hard-coded, NOT derived from user content (anti-injection)
28
28
  // ---------------------------------------------------------------------------
29
29
 
30
- export const VERIFIER_SYSTEM = [
30
+ const VERIFIER_SYSTEM_BODY = [
31
31
  'You are a code-review fix verifier. Your only job is to decide whether a',
32
32
  'specific code change addressed a specific prior reviewer concern.',
33
33
  '',
@@ -51,12 +51,33 @@ export const VERIFIER_SYSTEM = [
51
51
  'judging the finding. You are judging whether the new code resolves what it',
52
52
  'said. If the finding asked for X and the change does X, mark ADDRESSED even',
53
53
  'if X is unnecessary.',
54
- '',
55
- 'Reply with a JSON object on a single line, no markdown fence, no surrounding',
56
- 'prose. Shape:',
57
- ' {"verdict":"ADDRESSED"|"NOT_ADDRESSED"|"UNCERTAIN","rationale":"<one sentence>"}',
58
- 'Rationale MUST be one sentence, max 500 characters.',
59
- ].join('\n');
54
+ ];
55
+
56
+ /** Output contract for the verifier prompt + system message (C1 dedup). */
57
+ export type VerifierOutputMode = 'json' | 'structured';
58
+
59
+ // The verdict-shape tail differs by surface: the CLI/raw path asks the model to
60
+ // emit the JSON itself; the hosted App constrains output via an AI-SDK schema, so
61
+ // its prompt only names the verdict + rationale. Everything above is shared.
62
+ function verifierSystemTail(outputMode: VerifierOutputMode): string[] {
63
+ if (outputMode === 'structured') {
64
+ return ['Reply with the structured object only. Rationale must be one sentence.'];
65
+ }
66
+ return [
67
+ 'Reply with a JSON object on a single line, no markdown fence, no surrounding',
68
+ 'prose. Shape:',
69
+ ' {"verdict":"ADDRESSED"|"NOT_ADDRESSED"|"UNCERTAIN","rationale":"<one sentence>"}',
70
+ 'Rationale MUST be one sentence, max 500 characters.',
71
+ ];
72
+ }
73
+
74
+ /** Build the verifier system prompt for the given output mode. */
75
+ export function buildVerifierSystem(outputMode: VerifierOutputMode = 'json'): string {
76
+ return [...VERIFIER_SYSTEM_BODY, '', ...verifierSystemTail(outputMode)].join('\n');
77
+ }
78
+
79
+ /** Raw-JSON system prompt — the CLI default. Back-compat for existing consumers. */
80
+ export const VERIFIER_SYSTEM = buildVerifierSystem('json');
60
81
 
61
82
  // ---------------------------------------------------------------------------
62
83
  // Input shape
@@ -89,7 +110,10 @@ export interface VerifySingleFindingInput {
89
110
  * A model coerced to emit "ADDRESSED!" outside the JSON shape
90
111
  * gets routed to UNCERTAIN+api-error (fail-closed).
91
112
  */
92
- export function buildVerifierPrompt(input: VerifySingleFindingInput): string {
113
+ export function buildVerifierPrompt(
114
+ input: VerifySingleFindingInput,
115
+ opts: { outputMode?: VerifierOutputMode } = {},
116
+ ): string {
93
117
  const f = input.finding;
94
118
  const anchor = f.line !== undefined ? `${f.file}:${f.line}` : f.file;
95
119
  const sev = f.severity === 'critical' ? '🔴 critical' : '🟡 minor';
@@ -129,7 +153,9 @@ export function buildVerifierPrompt(input: VerifySingleFindingInput): string {
129
153
  parts.push('');
130
154
  parts.push('Did this change ADDRESS the original finding?');
131
155
  parts.push(
132
- 'Reply with the JSON object only — single line, no markdown fence, no prose.',
156
+ (opts.outputMode ?? 'json') === 'structured'
157
+ ? 'Reply with the structured verdict + one-sentence rationale.'
158
+ : 'Reply with the JSON object only — single line, no markdown fence, no prose.',
133
159
  );
134
160
 
135
161
  return parts.join('\n');
@@ -1,3 +1,3 @@
1
1
  // Generated by scripts/gen-version.mjs at build time. Do not edit.
2
2
  // Regenerated automatically on every `npm run build` via "prebuild" hook.
3
- export const PKG_VERSION = '0.7.0-rc.20';
3
+ export const PKG_VERSION = '0.7.0-rc.21';
@@ -413,7 +413,7 @@ jobs:
413
413
  # Strict-mode gate — composite action; see workflow.yml.tmpl for design notes.
414
414
  - name: Strict mode — fail check on critical findings
415
415
  if: success()
416
- uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.7.0-rc.20
416
+ uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.7.0-rc.21
417
417
  with:
418
418
  github-token: ${{ secrets.GITHUB_TOKEN }}
419
419
  # v0.6.22 / 0.0.O: summary now posted by github-actions[bot].
@@ -413,7 +413,7 @@ jobs:
413
413
  # Strict-mode gate — composite action; see workflow.yml.tmpl for design notes.
414
414
  - name: Strict mode — fail check on critical findings
415
415
  if: success()
416
- uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.7.0-rc.20
416
+ uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.7.0-rc.21
417
417
  with:
418
418
  github-token: ${{ secrets.GITHUB_TOKEN }}
419
419
  # v0.6.22 / 0.0.O: summary now posted by github-actions[bot].
@@ -717,7 +717,7 @@ jobs:
717
717
  # Letting the action's own failure fail the check is louder and right.
718
718
  - name: Strict mode — fail check on critical findings
719
719
  if: success()
720
- uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.7.0-rc.20
720
+ uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.7.0-rc.21
721
721
  with:
722
722
  github-token: ${{ secrets.GITHUB_TOKEN }}
723
723
  # v0.6.22 / 0.0.O: the summary is now posted by the workflow