@getripple/core 1.0.7 → 1.0.9

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/policy.d.ts CHANGED
@@ -13,6 +13,11 @@ export type RipplePolicy = {
13
13
  defaultMode?: ControlMode;
14
14
  riskRules?: RipplePolicyRiskRule[];
15
15
  };
16
+ export type SmartRipplePolicyDetection = {
17
+ kind: string;
18
+ evidence: string[];
19
+ rules: RipplePolicyRiskRule[];
20
+ };
16
21
  export type LoadedRipplePolicy = {
17
22
  policy: RipplePolicy;
18
23
  path: string;
@@ -47,6 +52,10 @@ export type RipplePolicyExplanationOptions = {
47
52
  controlMode?: ControlMode;
48
53
  };
49
54
  export declare function defaultRipplePolicy(): RipplePolicy;
55
+ export declare function buildSmartRipplePolicy(workspaceRoot: string): {
56
+ policy: RipplePolicy;
57
+ detections: SmartRipplePolicyDetection[];
58
+ };
50
59
  export declare function formatRipplePolicy(policy?: RipplePolicy): string;
51
60
  export declare function ripplePolicyPath(workspaceRoot: string): string;
52
61
  export declare function loadRipplePolicy(workspaceRoot: string): LoadedRipplePolicy;
package/dist/policy.js CHANGED
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.explainRipplePolicyForIntent = exports.explainRipplePolicyForTarget = exports.resolveRipplePolicyForTarget = exports.loadRipplePolicy = exports.ripplePolicyPath = exports.formatRipplePolicy = exports.defaultRipplePolicy = exports.RIPPLE_POLICY_PATH = void 0;
26
+ exports.explainRipplePolicyForIntent = exports.explainRipplePolicyForTarget = exports.resolveRipplePolicyForTarget = exports.loadRipplePolicy = exports.ripplePolicyPath = exports.formatRipplePolicy = exports.buildSmartRipplePolicy = exports.defaultRipplePolicy = exports.RIPPLE_POLICY_PATH = void 0;
27
27
  const fs = __importStar(require("fs"));
28
28
  const path = __importStar(require("path"));
29
29
  exports.RIPPLE_POLICY_PATH = ".ripple/policy.json";
@@ -55,6 +55,22 @@ function defaultRipplePolicy() {
55
55
  };
56
56
  }
57
57
  exports.defaultRipplePolicy = defaultRipplePolicy;
58
+ function buildSmartRipplePolicy(workspaceRoot) {
59
+ const base = defaultRipplePolicy();
60
+ const detections = detectSmartRipplePolicyRules(workspaceRoot);
61
+ const riskRules = mergeRippleRiskRules([
62
+ ...(base.riskRules ?? []),
63
+ ...detections.flatMap((detection) => detection.rules),
64
+ ]);
65
+ return {
66
+ policy: {
67
+ ...base,
68
+ riskRules,
69
+ },
70
+ detections,
71
+ };
72
+ }
73
+ exports.buildSmartRipplePolicy = buildSmartRipplePolicy;
58
74
  function formatRipplePolicy(policy = defaultRipplePolicy()) {
59
75
  return `${JSON.stringify(policy, null, 2)}\n`;
60
76
  }
@@ -163,10 +179,10 @@ function explainRipplePolicyForTarget(loaded, targetFile, options = {}) {
163
179
  why.push("PR mode still requires human review before merge.");
164
180
  }
165
181
  if (humanGate === "required-before-edit") {
166
- nextSteps.push("Ask the human to approve before the agent edits this file.");
182
+ nextSteps.push("Ask the human to approve before the agent edits this file. Agent must get human approval before editing.");
167
183
  }
168
184
  else if (humanGate === "required-before-merge") {
169
- nextSteps.push("Require human review before merging this change.");
185
+ nextSteps.push("Require human review before merging this change. Agent must get human approval before merging.");
170
186
  }
171
187
  else {
172
188
  nextSteps.push("Use ripple plan to create a saved intent before editing.");
@@ -212,6 +228,219 @@ function explainRipplePolicyForIntent(loaded, intent) {
212
228
  };
213
229
  }
214
230
  exports.explainRipplePolicyForIntent = explainRipplePolicyForIntent;
231
+ function detectSmartRipplePolicyRules(workspaceRoot) {
232
+ const detections = [];
233
+ const addDetection = (kind, evidence, rules) => {
234
+ const cleanEvidence = uniqueItems(evidence.filter(Boolean));
235
+ if (cleanEvidence.length === 0) {
236
+ return;
237
+ }
238
+ detections.push({ kind, evidence: cleanEvidence, rules });
239
+ };
240
+ const has = (relativePath) => pathExists(workspaceRoot, relativePath);
241
+ const hasAny = (relativePaths) => relativePaths.filter((relativePath) => has(relativePath));
242
+ const packageJson = readPackageJson(workspaceRoot);
243
+ const dependencies = packageJsonDependencies(packageJson);
244
+ const nextEvidence = [
245
+ ...hasAny(["next.config.js", "next.config.mjs", "next.config.ts", "app", "pages"]),
246
+ ...(dependencies.has("next") ? ["package.json dependency: next"] : []),
247
+ ];
248
+ addDetection("nextjs", nextEvidence, [
249
+ {
250
+ paths: ["app/api/**", "pages/api/**", "middleware.ts", "middleware.js"],
251
+ risk: "high",
252
+ requireHumanBeforeEdit: true,
253
+ requireHumanBeforeMerge: true,
254
+ },
255
+ ]);
256
+ const prismaEvidence = [
257
+ ...hasAny(["prisma/schema.prisma", "prisma/migrations"]),
258
+ ...(dependencies.has("prisma") || dependencies.has("@prisma/client")
259
+ ? ["package.json dependency: prisma"]
260
+ : []),
261
+ ];
262
+ addDetection("prisma", prismaEvidence, [
263
+ {
264
+ paths: ["prisma/schema.prisma", "prisma/migrations/**"],
265
+ risk: "critical",
266
+ requireHumanBeforeEdit: true,
267
+ requireHumanBeforeMerge: true,
268
+ },
269
+ ]);
270
+ const drizzleEvidence = [
271
+ ...hasAny(["drizzle", "drizzle.config.ts", "drizzle.config.js"]),
272
+ ...(dependencies.has("drizzle-orm") ? ["package.json dependency: drizzle-orm"] : []),
273
+ ];
274
+ addDetection("drizzle", drizzleEvidence, [
275
+ {
276
+ paths: ["drizzle/**", "drizzle.config.*"],
277
+ risk: "critical",
278
+ requireHumanBeforeEdit: true,
279
+ requireHumanBeforeMerge: true,
280
+ },
281
+ ]);
282
+ const envEvidence = hasAny([".env", ".env.local", ".env.production", ".env.example"]);
283
+ addDetection("env", envEvidence, [
284
+ {
285
+ paths: [".env", ".env.*"],
286
+ risk: "critical",
287
+ requireHumanBeforeEdit: true,
288
+ requireHumanBeforeMerge: true,
289
+ },
290
+ ]);
291
+ const githubEvidence = findGithubWorkflowEvidence(workspaceRoot);
292
+ addDetection("github-actions", githubEvidence, [
293
+ {
294
+ paths: [".github/workflows/**"],
295
+ risk: "high",
296
+ requireHumanBeforeEdit: true,
297
+ requireHumanBeforeMerge: true,
298
+ },
299
+ ]);
300
+ const lockfileEvidence = hasAny(["package-lock.json", "pnpm-lock.yaml", "yarn.lock", "bun.lockb"]);
301
+ addDetection("lockfiles", lockfileEvidence, [
302
+ {
303
+ paths: ["package-lock.json", "pnpm-lock.yaml", "yarn.lock", "bun.lockb"],
304
+ risk: "medium",
305
+ requireHumanBeforeMerge: true,
306
+ },
307
+ ]);
308
+ const infraEvidence = hasAny(["Dockerfile", "docker-compose.yml", "docker-compose.yaml", "terraform", "infra"]);
309
+ addDetection("infra", infraEvidence, [
310
+ {
311
+ paths: ["Dockerfile", "docker-compose.*", "terraform/**", "infra/**"],
312
+ risk: "high",
313
+ requireHumanBeforeEdit: true,
314
+ requireHumanBeforeMerge: true,
315
+ },
316
+ ]);
317
+ const appRiskEvidence = findDirectoriesMatching(workspaceRoot, [
318
+ "auth",
319
+ "security",
320
+ "session",
321
+ "payment",
322
+ "payments",
323
+ "billing",
324
+ "db",
325
+ "database",
326
+ "migration",
327
+ "migrations",
328
+ ]);
329
+ const appRiskRules = appRiskEvidence.flatMap((relativePath) => {
330
+ const name = path.basename(relativePath).toLowerCase();
331
+ const isCritical = ["payment", "payments", "billing", "db", "database", "migration", "migrations"].includes(name);
332
+ return [
333
+ {
334
+ paths: [`${relativePath}/**`],
335
+ risk: isCritical ? "critical" : "high",
336
+ requireHumanBeforeEdit: true,
337
+ requireHumanBeforeMerge: isCritical,
338
+ },
339
+ ];
340
+ });
341
+ addDetection("risky-directories", appRiskEvidence, appRiskRules);
342
+ return detections;
343
+ }
344
+ function mergeRippleRiskRules(rules) {
345
+ const merged = new Map();
346
+ rules.forEach((rule) => {
347
+ const key = rule.paths.join("\u0000");
348
+ const existing = merged.get(key);
349
+ if (!existing) {
350
+ merged.set(key, { ...rule, paths: [...rule.paths] });
351
+ return;
352
+ }
353
+ const allowPrMode = existing.allowPrMode === true || rule.allowPrMode === true ? true : undefined;
354
+ merged.set(key, {
355
+ paths: existing.paths,
356
+ risk: mergeRisk(existing.risk, rule.risk),
357
+ requireHumanBeforeEdit: existing.requireHumanBeforeEdit === true || rule.requireHumanBeforeEdit === true,
358
+ requireHumanBeforeMerge: existing.requireHumanBeforeMerge === true || rule.requireHumanBeforeMerge === true,
359
+ ...(allowPrMode === true ? { allowPrMode } : {}),
360
+ });
361
+ });
362
+ return [...merged.values()];
363
+ }
364
+ function mergeRisk(first, second) {
365
+ if (!second) {
366
+ return first;
367
+ }
368
+ if (!first) {
369
+ return second;
370
+ }
371
+ return strongestRisk(first, second);
372
+ }
373
+ function findGithubWorkflowEvidence(workspaceRoot) {
374
+ const workflowsRoot = path.join(workspaceRoot, ".github", "workflows");
375
+ if (!fs.existsSync(workflowsRoot) || !fs.statSync(workflowsRoot).isDirectory()) {
376
+ return [];
377
+ }
378
+ return fs
379
+ .readdirSync(workflowsRoot)
380
+ .filter((entry) => entry !== "ripple.yml")
381
+ .filter((entry) => /\.(ya?ml)$/i.test(entry))
382
+ .map((entry) => path.join(".github", "workflows", entry).split(path.sep).join("/"));
383
+ }
384
+ function pathExists(workspaceRoot, relativePath) {
385
+ return fs.existsSync(path.join(workspaceRoot, relativePath));
386
+ }
387
+ function readPackageJson(workspaceRoot) {
388
+ const packagePath = path.join(workspaceRoot, "package.json");
389
+ if (!fs.existsSync(packagePath)) {
390
+ return undefined;
391
+ }
392
+ try {
393
+ return JSON.parse(fs.readFileSync(packagePath, "utf8"));
394
+ }
395
+ catch {
396
+ return undefined;
397
+ }
398
+ }
399
+ function packageJsonDependencies(value) {
400
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
401
+ return new Set();
402
+ }
403
+ const record = value;
404
+ const names = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"]
405
+ .flatMap((field) => {
406
+ const dependencies = record[field];
407
+ if (!dependencies || typeof dependencies !== "object" || Array.isArray(dependencies)) {
408
+ return [];
409
+ }
410
+ return Object.keys(dependencies);
411
+ });
412
+ return new Set(names);
413
+ }
414
+ function findDirectoriesMatching(workspaceRoot, names) {
415
+ const targets = new Set(names.map((name) => name.toLowerCase()));
416
+ const results = [];
417
+ const ignored = new Set([".git", ".ripple", "node_modules", "dist", "build", "out", "coverage", ".next"]);
418
+ const visit = (absoluteDir, depth) => {
419
+ if (depth > 4) {
420
+ return;
421
+ }
422
+ let entries;
423
+ try {
424
+ entries = fs.readdirSync(absoluteDir, { withFileTypes: true });
425
+ }
426
+ catch {
427
+ return;
428
+ }
429
+ entries.forEach((entry) => {
430
+ if (!entry.isDirectory() || ignored.has(entry.name)) {
431
+ return;
432
+ }
433
+ const absolutePath = path.join(absoluteDir, entry.name);
434
+ const relativePath = normalizePolicyPath(path.relative(workspaceRoot, absolutePath));
435
+ if (targets.has(entry.name.toLowerCase())) {
436
+ results.push(relativePath);
437
+ }
438
+ visit(absolutePath, depth + 1);
439
+ });
440
+ };
441
+ visit(workspaceRoot, 0);
442
+ return uniqueItems(results).sort();
443
+ }
215
444
  function policyHumanGate(resolution, effectiveMode) {
216
445
  if (resolution.requireHumanBeforeEdit || effectiveMode === "brainstorm") {
217
446
  return "required-before-edit";
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
package/dist/readiness.js CHANGED
@@ -45,7 +45,8 @@ function buildRippleReadinessSummary(workspaceRoot, engine) {
45
45
  const gitOk = gitCheck.ok;
46
46
  const gitIgnoreCheck = rippleGitIgnoreCheck(workspaceRoot);
47
47
  const ciWorkflowOk = fs.existsSync(workflowPath);
48
- const latestIntentOk = fs.existsSync(latestIntentPath);
48
+ const latestIntentExists = fs.existsSync(latestIntentPath);
49
+ const latestIntentOk = latestIntentExists && hasActiveChangeIntentProtocol(latestIntentPath);
49
50
  const explicitPolicyOk = fs.existsSync(policyPath);
50
51
  const checks = {
51
52
  graph: {
@@ -68,10 +69,10 @@ function buildRippleReadinessSummary(workspaceRoot, engine) {
68
69
  ok: latestIntentOk,
69
70
  detail: latestIntentOk
70
71
  ? formatWorkspacePath(workspaceRoot, latestIntentPath)
71
- : "Missing .ripple/intents/latest.json",
72
- fix: latestIntentOk
73
- ? undefined
74
- : "Run ripple plan --file <file> --task \"<task>\" --save before CI.",
72
+ : latestIntentExists
73
+ ? "No active local intent found; latest.json is a closed or invalid marker."
74
+ : "No active local intent found; this is normal until an agent creates a saved plan.",
75
+ fix: undefined,
75
76
  },
76
77
  };
77
78
  const enforcement = buildEnforcementReadiness({
@@ -87,9 +88,10 @@ function buildRippleReadinessSummary(workspaceRoot, engine) {
87
88
  .map((check) => check.fix)
88
89
  .filter((fix) => Boolean(fix));
89
90
  if (nextSteps.length === 0) {
90
- nextSteps.push("Run ripple ci --base origin/main --intent latest --github-annotations.");
91
+ nextSteps.push("Run ripple ci --base origin/main --github-annotations.");
91
92
  }
92
- const status = Object.values(checks).every((check) => check.ok) ? "ready" : "needs_setup";
93
+ const requiredChecks = [checks.graph, checks.git, checks.gitIgnore, checks.ciWorkflow];
94
+ const status = requiredChecks.every((check) => check.ok) ? "ready" : "needs_setup";
93
95
  const contract = readinessContract(status, enforcement, nextSteps);
94
96
  return {
95
97
  status,
@@ -110,6 +112,15 @@ function buildRippleReadinessSummary(workspaceRoot, engine) {
110
112
  };
111
113
  }
112
114
  exports.buildRippleReadinessSummary = buildRippleReadinessSummary;
115
+ function hasActiveChangeIntentProtocol(filePath) {
116
+ try {
117
+ const parsed = JSON.parse(fs.readFileSync(filePath, "utf8"));
118
+ return parsed.protocol === "ripple-change-intent";
119
+ }
120
+ catch {
121
+ return false;
122
+ }
123
+ }
113
124
  function readinessContract(status, enforcement, nextSteps) {
114
125
  if (status === "ready") {
115
126
  return {
@@ -132,8 +143,9 @@ function readinessContract(status, enforcement, nextSteps) {
132
143
  }
133
144
  function buildEnforcementReadiness(input) {
134
145
  const canGuideAgents = input.graphOk;
135
- const canDetectDrift = input.graphOk && input.gitOk && input.latestIntentOk;
136
- const canBlockInCi = canDetectDrift && input.ciWorkflowOk;
146
+ const canDetectDrift = input.graphOk && input.gitOk;
147
+ const permanentSetupReady = input.gitIgnoreOk && input.ciWorkflowOk;
148
+ const canBlockInCi = canDetectDrift && permanentSetupReady;
137
149
  const level = enforcementLevel({
138
150
  canGuideAgents,
139
151
  canDetectDrift,
@@ -193,9 +205,6 @@ function enforcementGaps(input) {
193
205
  if (!input.gitIgnoreOk) {
194
206
  gaps.push("Missing .gitignore hygiene for .ripple/.cache/; generated cache files may be committed accidentally.");
195
207
  }
196
- if (!input.latestIntentOk) {
197
- gaps.push("No latest saved intent exists, so Ripple cannot compare agent work to a plan.");
198
- }
199
208
  if (!input.ciWorkflowOk) {
200
209
  gaps.push("Ripple setup is missing the CI workflow, so unsafe changes cannot be blocked in PR checks.");
201
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"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"}
@@ -64,8 +64,9 @@ export type StagedCheckAgentActions = {
64
64
  };
65
65
  export type StagedCheckSummary = {
66
66
  workspace: string;
67
- mode: "staged" | "changed";
67
+ mode: "staged" | "changed" | "worktree";
68
68
  baseRef?: string;
69
+ changeFingerprint: string;
69
70
  stagedFiles: number;
70
71
  checkedFiles: number;
71
72
  skippedFiles: string[];
@@ -81,7 +82,7 @@ export type StagedCheckSummary = {
81
82
  export type BuildStagedCheckSummaryOptions = {
82
83
  workspaceRoot: string;
83
84
  stagedFiles: string[];
84
- mode?: "staged" | "changed";
85
+ mode?: "staged" | "changed" | "worktree";
85
86
  baseRef?: string;
86
87
  stagedDiff?: string;
87
88
  task?: string;
@@ -90,6 +91,9 @@ export type BuildStagedCheckSummaryOptions = {
90
91
  export declare function isRippleSourceFile(filePath: string): boolean;
91
92
  export declare function listGitStagedFiles(workspaceRoot: string): string[];
92
93
  export declare function listGitStagedDiff(workspaceRoot: string): string;
94
+ export declare function fingerprintRippleChangeDiff(diff: string): string;
95
+ export declare function listGitWorktreeFiles(workspaceRoot: string): string[];
96
+ export declare function listGitWorktreeDiff(workspaceRoot: string): string;
93
97
  export declare function listGitChangedFiles(workspaceRoot: string, baseRef: string): string[];
94
98
  export declare function listGitChangedDiff(workspaceRoot: string, baseRef: string): string;
95
99
  export declare function buildStagedCheckSummary(engine: GraphEngine, options: BuildStagedCheckSummaryOptions): StagedCheckSummary;
@@ -23,9 +23,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.highestStagedRisk = exports.buildStagedCheckSummary = exports.listGitChangedDiff = exports.listGitChangedFiles = exports.listGitStagedDiff = exports.listGitStagedFiles = exports.isRippleSourceFile = void 0;
26
+ exports.highestStagedRisk = exports.buildStagedCheckSummary = exports.listGitChangedDiff = exports.listGitChangedFiles = exports.listGitWorktreeDiff = exports.listGitWorktreeFiles = exports.fingerprintRippleChangeDiff = exports.listGitStagedDiff = exports.listGitStagedFiles = exports.isRippleSourceFile = void 0;
27
27
  const fs = __importStar(require("fs"));
28
28
  const path = __importStar(require("path"));
29
+ const crypto = __importStar(require("crypto"));
29
30
  const ts_morph_1 = require("ts-morph");
30
31
  const git_1 = require("./git");
31
32
  const SOURCE_FILE_RE = /\.(ts|tsx|js|jsx|py)$/i;
@@ -74,6 +75,80 @@ function listGitStagedDiff(workspaceRoot) {
74
75
  }
75
76
  }
76
77
  exports.listGitStagedDiff = listGitStagedDiff;
78
+ function fingerprintRippleChangeDiff(diff) {
79
+ const sourceDiff = normalizeRippleSourceDiff(diff);
80
+ return crypto
81
+ .createHash("sha256")
82
+ .update(sourceDiff, "utf8")
83
+ .digest("hex");
84
+ }
85
+ exports.fingerprintRippleChangeDiff = fingerprintRippleChangeDiff;
86
+ function normalizeRippleSourceDiff(diff) {
87
+ const normalized = diff.replace(/\r\n/g, "\n");
88
+ const sourceBlocks = [];
89
+ let currentBlock = [];
90
+ const flush = () => {
91
+ if (currentBlock.length > 0 && diffBlockTargetsRippleSource(currentBlock)) {
92
+ sourceBlocks.push(currentBlock.join("\n"));
93
+ }
94
+ currentBlock = [];
95
+ };
96
+ normalized.split("\n").forEach((line) => {
97
+ if (line.startsWith("diff --git ")) {
98
+ flush();
99
+ currentBlock = [line];
100
+ return;
101
+ }
102
+ if (currentBlock.length > 0) {
103
+ currentBlock.push(line);
104
+ }
105
+ });
106
+ flush();
107
+ return sourceBlocks.join("\n");
108
+ }
109
+ function diffBlockTargetsRippleSource(lines) {
110
+ return lines.some((line) => {
111
+ if (!line.startsWith("+++ ") && !line.startsWith("--- ")) {
112
+ return false;
113
+ }
114
+ const file = parseDiffFilePath(line.slice(4));
115
+ return Boolean(file && isRippleSourceFile(file));
116
+ });
117
+ }
118
+ function listGitWorktreeFiles(workspaceRoot) {
119
+ try {
120
+ const output = (0, git_1.execGit)(workspaceRoot, [
121
+ "diff",
122
+ "--name-only",
123
+ "--diff-filter=ACMR",
124
+ ]);
125
+ return output
126
+ .split(/\r?\n/)
127
+ .map((line) => line.trim())
128
+ .filter(Boolean)
129
+ .concat(listGitUntrackedSourceFiles(workspaceRoot))
130
+ .filter(uniqueString);
131
+ }
132
+ catch (err) {
133
+ const message = err instanceof Error ? err.message : String(err);
134
+ throw new Error(`Could not read worktree files with git diff: ${message}`);
135
+ }
136
+ }
137
+ exports.listGitWorktreeFiles = listGitWorktreeFiles;
138
+ function listGitWorktreeDiff(workspaceRoot) {
139
+ try {
140
+ return (0, git_1.execGit)(workspaceRoot, [
141
+ "diff",
142
+ "--unified=0",
143
+ "--no-ext-diff",
144
+ ]);
145
+ }
146
+ catch (err) {
147
+ const message = err instanceof Error ? err.message : String(err);
148
+ throw new Error(`Could not read worktree diff with git diff: ${message}`);
149
+ }
150
+ }
151
+ exports.listGitWorktreeDiff = listGitWorktreeDiff;
77
152
  function listGitChangedFiles(workspaceRoot, baseRef) {
78
153
  try {
79
154
  const output = (0, git_1.execGit)(workspaceRoot, [
@@ -255,10 +330,13 @@ function buildStagedCheckSummary(engine, options) {
255
330
  const baseRef = mode === "changed" ? options.baseRef ?? "HEAD" : undefined;
256
331
  const sourceFiles = options.stagedFiles.filter(isRippleSourceFile);
257
332
  const skippedFiles = options.stagedFiles.filter((file) => !isRippleSourceFile(file));
258
- const stagedDiff = parseStagedDiff(options.stagedDiff ??
333
+ const rawDiff = options.stagedDiff ??
259
334
  (mode === "changed"
260
335
  ? listGitChangedDiff(options.workspaceRoot, baseRef ?? "HEAD")
261
- : listGitStagedDiff(options.workspaceRoot)));
336
+ : mode === "worktree"
337
+ ? listGitWorktreeDiff(options.workspaceRoot)
338
+ : listGitStagedDiff(options.workspaceRoot));
339
+ const stagedDiff = parseStagedDiff(rawDiff);
262
340
  const files = [];
263
341
  const missingFiles = [];
264
342
  const task = options.task ?? DEFAULT_STAGED_CHECK_TASK;
@@ -323,6 +401,7 @@ function buildStagedCheckSummary(engine, options) {
323
401
  workspace: path.resolve(options.workspaceRoot),
324
402
  mode,
325
403
  baseRef,
404
+ changeFingerprint: fingerprintRippleChangeDiff(rawDiff),
326
405
  stagedFiles: sourceFiles.length,
327
406
  checkedFiles: files.length,
328
407
  skippedFiles,
@@ -460,7 +539,7 @@ function getChangedSymbolsForFile(engine, workspaceRoot, projectPath, diff, mode
460
539
  if (diff.changedLineRanges.length === 0) {
461
540
  return [];
462
541
  }
463
- const content = mode === "changed"
542
+ const content = mode === "changed" || mode === "worktree"
464
543
  ? readWorkingTreeFileContent(workspaceRoot, projectPath)
465
544
  : readStagedFileContent(workspaceRoot, projectPath);
466
545
  if (content === null) {