@getripple/core 1.0.8 → 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/audit.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rippleAuditNextRequiredAction = exports.rippleAuditNextRequiredPhase = exports.rippleAuditRecommendedAction = exports.rippleAuditDecision = exports.rippleAuditStatus = exports.buildRippleGateSummary = exports.buildRippleAuditSummary = void 0;
3
+ exports.rippleAuditNextRequiredAction = exports.rippleAuditNextRequiredPhase = exports.rippleAuditRecommendedAction = exports.rippleAuditDecision = exports.rippleAuditStatus = exports.buildRippleGateIntentBlockSummary = exports.buildRippleGateSummary = exports.buildRippleAuditSummary = void 0;
4
4
  const change_intent_1 = require("./change-intent");
5
5
  const risk_1 = require("./risk");
6
6
  const approval_1 = require("./approval");
@@ -53,6 +53,7 @@ function buildRippleAuditSummary(input) {
53
53
  nextSteps,
54
54
  changedFiles: input.stagedCheck.files.map((file) => file.file),
55
55
  verificationTargets: input.repairPlan.verificationTargets,
56
+ reviewPacket: input.stagedCheck.reviewPacket ?? missingReviewPacket(input.stagedCheck, input.intent),
56
57
  risk: (0, risk_1.buildRippleRiskSummary)({
57
58
  boundaryRisk: input.intent.boundaryRisk,
58
59
  allowedFiles: validation.editableFiles,
@@ -105,9 +106,65 @@ function buildRippleGateSummary(audit) {
105
106
  askHuman: handoff.askHuman,
106
107
  commands: handoff.commands,
107
108
  risk: audit.risk,
109
+ reviewPacket: audit.reviewPacket,
108
110
  };
109
111
  }
110
112
  exports.buildRippleGateSummary = buildRippleGateSummary;
113
+ function missingReviewPacket(stagedCheck, intent) {
114
+ const validation = stagedCheck.intentValidation;
115
+ if (!validation) {
116
+ throw new Error("Review packet requires a validated saved intent.");
117
+ }
118
+ return {
119
+ protocol: "ripple-review-packet",
120
+ version: 1,
121
+ intentId: intent.id,
122
+ originalTask: intent.task,
123
+ mode: stagedCheck.mode,
124
+ declaredScope: {
125
+ controlMode: intent.controlMode,
126
+ targetFile: intent.targetFile,
127
+ allowedFiles: validation.editableFiles,
128
+ allowedSymbols: validation.allowedSymbols,
129
+ humanGate: validation.humanGate,
130
+ boundaryRisk: validation.boundaryRisk,
131
+ },
132
+ actualChanges: {
133
+ changedFiles: stagedCheck.files.map((file) => file.file),
134
+ changedSymbols: stagedCheck.changedSymbols.map((symbol) => symbol.symbol),
135
+ contractRiskSymbols: stagedCheck.contractRisks.map((risk) => risk.symbol),
136
+ skippedFiles: stagedCheck.skippedFiles,
137
+ missingFiles: stagedCheck.missingFiles,
138
+ },
139
+ scopeFindings: {
140
+ plannedFilesChanged: validation.plannedFilesChanged,
141
+ contextFilesChanged: validation.contextFilesChanged,
142
+ outsideBoundaryFiles: validation.boundaryVerdict.changedOutsideBoundaryFiles,
143
+ outsideBoundarySymbols: validation.boundaryVerdict.changedOutsideBoundarySymbols,
144
+ protectedContractChanges: validation.protectedContractChanges,
145
+ unplannedContractChanges: validation.unplannedContractChanges,
146
+ },
147
+ verification: {
148
+ expectedCommands: stagedCheck.files.flatMap((file) => file.verificationTargets),
149
+ testsRun: "unknown",
150
+ status: validation.verificationVerdict.status,
151
+ decision: validation.verificationVerdict.decision,
152
+ reportedCommands: [],
153
+ executedCommands: [],
154
+ evidence: [],
155
+ note: "Ripple records expected verification, not proof that tests were run.",
156
+ },
157
+ decision: {
158
+ canContinue: validation.handoff.canContinue,
159
+ mustStop: validation.handoff.mustStop,
160
+ needsHuman: validation.handoff.needsHuman,
161
+ verdict: validation.verdict,
162
+ nextRequiredAction: validation.nextRequiredAction,
163
+ recommendedAction: validation.recommendedAction,
164
+ },
165
+ reviewerNotes: validation.nextSteps,
166
+ };
167
+ }
111
168
  function buildAuditHandoff(audit) {
112
169
  const validation = audit.stagedCheck.intentValidation;
113
170
  if (!validation) {
@@ -115,6 +172,7 @@ function buildAuditHandoff(audit) {
115
172
  }
116
173
  const needsHuman = audit.status === "human-review-required" ||
117
174
  (audit.approvalStatus.required && !audit.approvalStatus.approved);
175
+ const verificationCommands = (0, change_intent_1.buildVerificationCommandSuggestions)(validation.verificationVerdict);
118
176
  return (0, change_intent_1.buildAgentHandoffVerdict)({
119
177
  source: "audit",
120
178
  canContinue: audit.canProceed,
@@ -139,14 +197,68 @@ function buildAuditHandoff(audit) {
139
197
  approve: audit.approvalStatus.required && !audit.approvalStatus.approved
140
198
  ? [
141
199
  "ripple approval --intent latest --agent",
142
- `ripple approve --intent latest --gate ${approvalGateForAudit(audit.intent.humanGate)}`,
200
+ `ripple approve --intent latest --gate ${approvalGateForAudit(audit.intent.humanGate)} --reason "<why this boundary is safe>"`,
143
201
  ]
144
202
  : [],
145
203
  unstage: audit.repairPlan.commands.unstage,
146
- verify: audit.verificationTargets,
204
+ verify: verificationCommands.length > 0
205
+ ? verificationCommands
206
+ : audit.verificationTargets,
147
207
  },
148
208
  });
149
209
  }
210
+ function buildRippleGateIntentBlockSummary(input) {
211
+ const intentLoadError = errorMessage(input.error);
212
+ const intentState = classifyIntentLoadError(intentLoadError);
213
+ const summary = gateIntentBlockSummary(intentState);
214
+ const intentStatusCommand = `ripple intent status --intent ${input.intentRef} --json`;
215
+ const nextRequiredAction = "Create a new saved Ripple plan before the agent edits or continues.";
216
+ return {
217
+ protocol: "ripple-gate-intent-block",
218
+ version: 1,
219
+ workspace: input.workspaceRoot,
220
+ mode: input.mode,
221
+ baseRef: input.baseRef,
222
+ status: "closed",
223
+ decision: "create-intent",
224
+ canContinue: false,
225
+ mustStop: true,
226
+ needsHuman: true,
227
+ nextRequiredPhase: "plan_before_edit",
228
+ nextRequiredAction,
229
+ summary,
230
+ intentRef: input.intentRef,
231
+ intentState,
232
+ intentLoadError,
233
+ why: [
234
+ summary,
235
+ "Ripple cannot prove the agent stayed inside a human-approved boundary without an active saved intent.",
236
+ "Agents must not treat missing, closed, or invalid intent state as permission to continue.",
237
+ ],
238
+ fixNow: [
239
+ `Run ${intentStatusCommand} to inspect the saved intent lifecycle state.`,
240
+ "Create a new saved plan with ripple plan --file <file> --task \"<task>\" --agent --save before editing.",
241
+ "If work already happened without an active intent, ask the human to review before continuing.",
242
+ ],
243
+ askHuman: [
244
+ "Choose the next trust boundary and approve a new saved intent before the agent continues.",
245
+ ],
246
+ commands: {
247
+ doctor: [],
248
+ plan: [
249
+ intentStatusCommand,
250
+ "ripple plan --file <file> --task \"<task>\" --agent --save",
251
+ ],
252
+ check: [],
253
+ audit: [],
254
+ repair: [],
255
+ approve: [],
256
+ unstage: [],
257
+ verify: [],
258
+ },
259
+ };
260
+ }
261
+ exports.buildRippleGateIntentBlockSummary = buildRippleGateIntentBlockSummary;
150
262
  function auditHandoffDecision(audit, needsHuman) {
151
263
  const validation = audit.stagedCheck.intentValidation;
152
264
  if (validation?.readinessDrift.status === "weakened") {
@@ -183,6 +295,9 @@ function auditHandoffAskHuman(audit) {
183
295
  if (validation?.readinessDrift.status === "weakened") {
184
296
  askHuman.push("Approve continuing only if weaker Ripple readiness is intentional.");
185
297
  }
298
+ if (validation?.verificationVerdict.status === "review") {
299
+ askHuman.push(validation.verificationVerdict.summary);
300
+ }
186
301
  return askHuman;
187
302
  }
188
303
  function approvalGateForAudit(humanGate) {
@@ -191,15 +306,42 @@ function approvalGateForAudit(humanGate) {
191
306
  }
192
307
  return "before-risky-edit";
193
308
  }
309
+ function classifyIntentLoadError(message) {
310
+ if (message.includes("saved boundary is closed")) {
311
+ return "closed";
312
+ }
313
+ if (message.includes("Invalid Ripple change intent") ||
314
+ message.includes("Malformed Ripple change intent") ||
315
+ message.includes("Found protocol")) {
316
+ return "invalid";
317
+ }
318
+ return "missing";
319
+ }
320
+ function gateIntentBlockSummary(intentState) {
321
+ if (intentState === "closed") {
322
+ return "Stop: the saved Ripple intent boundary is closed.";
323
+ }
324
+ if (intentState === "invalid") {
325
+ return "Stop: the saved Ripple intent is invalid and must be repaired or recreated.";
326
+ }
327
+ return "Stop: no active Ripple intent exists for this gate.";
328
+ }
329
+ function errorMessage(error) {
330
+ return error instanceof Error ? error.message : String(error);
331
+ }
194
332
  function rippleAuditStatus(validation, repairPlan, approvalStatus) {
195
333
  if (validation.policyDrift.status === "changed" ||
196
334
  validation.readinessDrift.status === "weakened" ||
335
+ validation.verificationVerdict.status === "review" ||
197
336
  validation.boundaryVerdict.status === "danger" ||
198
337
  validation.driftVerdict.status === "danger" ||
199
338
  repairPlan.status === "human-review-required" ||
200
339
  repairPlan.status === "contract-review-required") {
201
340
  return "human-review-required";
202
341
  }
342
+ if (validation.verificationVerdict.status === "failed") {
343
+ return "repair-required";
344
+ }
203
345
  if (validation.boundaryVerdict.humanRequired && !approvalStatus.approved) {
204
346
  return "human-review-required";
205
347
  }
@@ -229,6 +371,12 @@ function rippleAuditRecommendedAction(validation, repairPlan, status, approvalSt
229
371
  if (validation.readinessDrift.status === "weakened") {
230
372
  return "Restore Ripple readiness or ask the human to approve continuing with weaker protection.";
231
373
  }
374
+ if (validation.verificationVerdict.status === "failed") {
375
+ return "Repair failed verification evidence and record a passing rerun before continuing.";
376
+ }
377
+ if (validation.verificationVerdict.status === "review") {
378
+ return "Ask the human to review skipped or unknown verification evidence before continuing.";
379
+ }
232
380
  if (status === "pass") {
233
381
  return "Proceed after running the listed verification targets.";
234
382
  }
@@ -244,6 +392,7 @@ function rippleAuditNextRequiredPhase(validation, repairPlan, status, approvalSt
244
392
  }
245
393
  if (validation.policyDrift.status === "changed" ||
246
394
  validation.readinessDrift.status === "weakened" ||
395
+ validation.verificationVerdict.status === "review" ||
247
396
  validation.boundaryVerdict.status === "danger" ||
248
397
  validation.driftVerdict.status === "danger" ||
249
398
  repairPlan.status === "human-review-required" ||
package/dist/audit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
@@ -27,9 +27,36 @@ export type ChangeIntent = {
27
27
  expectedSymbols: string[];
28
28
  protectedContracts: string[];
29
29
  verificationTargets: string[];
30
+ verificationEvidence: RippleVerificationEvidence[];
30
31
  readinessSnapshot: ChangeIntentReadinessSnapshot;
31
32
  why: string;
32
33
  };
34
+ export type RippleVerificationStatus = "passed" | "failed" | "skipped" | "unknown";
35
+ export type RippleVerificationEvidence = {
36
+ command: string;
37
+ status: RippleVerificationStatus;
38
+ recordedAt: string;
39
+ source: "reported" | "executed";
40
+ changedFiles?: string[];
41
+ changeMode?: StagedCheckSummary["mode"];
42
+ changeFingerprint?: string;
43
+ exitCode?: number;
44
+ durationMs?: number;
45
+ stdoutTail?: string;
46
+ stderrTail?: string;
47
+ note?: string;
48
+ };
49
+ export type VerificationVerdictStatus = "pass" | "failed" | "review" | "not-reported";
50
+ export type VerificationVerdictDecision = "continue" | "repair" | "human-review";
51
+ export type VerificationVerdictSummary = {
52
+ status: VerificationVerdictStatus;
53
+ decision: VerificationVerdictDecision;
54
+ label: "PASS" | "FAILED" | "REVIEW" | "UNKNOWN";
55
+ summary: string;
56
+ why: string[];
57
+ fix: string[];
58
+ evidence: RippleVerificationEvidence[];
59
+ };
33
60
  export type ChangeIntentReadinessSnapshot = {
34
61
  status: RippleReadinessSummary["status"];
35
62
  enforcementLevel: RippleEnforcementLevel;
@@ -114,6 +141,55 @@ export type RippleAgentHandoffVerdict = {
114
141
  askHuman: string[];
115
142
  commands: RippleAgentHandoffCommands;
116
143
  };
144
+ export type RippleReviewPacket = {
145
+ protocol: "ripple-review-packet";
146
+ version: 1;
147
+ intentId: string;
148
+ originalTask: string;
149
+ mode: StagedCheckSummary["mode"];
150
+ declaredScope: {
151
+ controlMode: ControlMode;
152
+ targetFile: string;
153
+ allowedFiles: string[];
154
+ allowedSymbols: string[];
155
+ humanGate: HumanGate;
156
+ boundaryRisk: ControlBoundaryRisk;
157
+ };
158
+ actualChanges: {
159
+ changedFiles: string[];
160
+ changedSymbols: string[];
161
+ contractRiskSymbols: string[];
162
+ skippedFiles: string[];
163
+ missingFiles: string[];
164
+ };
165
+ scopeFindings: {
166
+ plannedFilesChanged: string[];
167
+ contextFilesChanged: string[];
168
+ outsideBoundaryFiles: string[];
169
+ outsideBoundarySymbols: string[];
170
+ protectedContractChanges: string[];
171
+ unplannedContractChanges: string[];
172
+ };
173
+ verification: {
174
+ expectedCommands: string[];
175
+ testsRun: "unknown" | "reported" | "executed";
176
+ status: VerificationVerdictStatus;
177
+ decision: VerificationVerdictDecision;
178
+ reportedCommands: string[];
179
+ executedCommands: string[];
180
+ evidence: RippleVerificationEvidence[];
181
+ note: string;
182
+ };
183
+ decision: {
184
+ canContinue: boolean;
185
+ mustStop: boolean;
186
+ needsHuman: boolean;
187
+ verdict: ChangeIntentVerdict;
188
+ nextRequiredAction: string;
189
+ recommendedAction: string;
190
+ };
191
+ reviewerNotes: string[];
192
+ };
117
193
  export type BoundaryVerdictStatus = "pass" | "drift" | "danger";
118
194
  export type BoundaryDecision = "continue" | "fix-before-commit" | "stop-and-ask-human";
119
195
  export type BoundaryVerdictSummary = {
@@ -145,6 +221,7 @@ export type ChangeIntentValidationSummary = {
145
221
  policyExplanation: RipplePolicyExplanation;
146
222
  policyDrift: PolicyDriftSummary;
147
223
  readinessDrift: ReadinessDriftSummary;
224
+ verificationVerdict: VerificationVerdictSummary;
148
225
  plannedScope: ChangeIntentScope;
149
226
  editableFiles: string[];
150
227
  contextFiles: string[];
@@ -166,6 +243,7 @@ export type ChangeIntentValidationSummary = {
166
243
  };
167
244
  export type StagedCheckWithIntentSummary = StagedCheckSummary & {
168
245
  intentValidation?: ChangeIntentValidationSummary;
246
+ reviewPacket?: RippleReviewPacket;
169
247
  nextRequiredPhase?: AgentRuntimeNextPhaseId;
170
248
  nextRequiredAction?: string;
171
249
  };
@@ -190,6 +268,7 @@ export type IntentDriftRepairPlan = {
190
268
  policyExplanation?: RipplePolicyExplanation;
191
269
  policyDrift?: PolicyDriftSummary;
192
270
  readinessDrift?: ReadinessDriftSummary;
271
+ verificationVerdict?: VerificationVerdictSummary;
193
272
  status: IntentDriftRepairStatus;
194
273
  summary: string;
195
274
  recommendedAction: string;
@@ -236,8 +315,14 @@ export declare function buildAgentHandoffVerdict(input: {
236
315
  commands?: Partial<RippleAgentHandoffCommands>;
237
316
  mustStop?: boolean;
238
317
  }): RippleAgentHandoffVerdict;
318
+ export declare function buildVerificationCommandSuggestions(verificationVerdict: VerificationVerdictSummary): string[];
239
319
  export declare function validateStagedCheckAgainstIntent(staged: StagedCheckSummary, intent: ChangeIntent, options?: ValidateChangeIntentOptions): StagedCheckWithIntentSummary;
320
+ export declare function buildRippleReviewPacket(staged: StagedCheckSummary, intent: ChangeIntent, validation: ChangeIntentValidationSummary): RippleReviewPacket;
240
321
  export declare function buildIntentDriftRepairPlan(staged: StagedCheckWithIntentSummary): IntentDriftRepairPlan;
241
322
  export declare function saveChangeIntent(workspaceRoot: string, intent: ChangeIntent, intentPath?: string): string;
242
323
  export declare function loadChangeIntent(workspaceRoot: string, intentPath?: string): ChangeIntent;
243
324
  export declare function defaultChangeIntentPath(workspaceRoot: string): string;
325
+ export declare function appendRippleVerificationEvidence(intent: ChangeIntent, evidence: Omit<RippleVerificationEvidence, "recordedAt" | "source"> & {
326
+ recordedAt?: string;
327
+ source?: RippleVerificationEvidence["source"];
328
+ }): ChangeIntent;