@getripple/mcp 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/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # @getripple/mcp Changelog
2
2
 
3
+ ## [1.0.9] - 2026-06-13
4
+
5
+ ### Changed
6
+ - Reframe the MCP package as the agent-facing wire for Ripple's local authorization gate.
7
+ - Add `ripple_record_verification` to the documented agent workflow so agents record test or verification evidence before the final gate.
8
+ - Update package metadata to depend on `@getripple/core@^1.0.9`.
9
+
10
+ ## [1.0.8] - 2026-06-09
11
+
12
+ ### Validation
13
+ - Manually validated MCP-backed agent workflows against a real `sindresorhus/ky` clone through planning, gate checks, repair handoff, policy-based human approval, and CI-style blocking.
14
+
15
+ ### Fixed
16
+ - Consume the core history fix so MCP scans preserve architectural history after cached graph refreshes.
17
+
18
+ ## [1.0.7] - 2026-06-08
19
+
20
+ ### Added
21
+ - Return evidence-backed risk summaries through MCP gate responses.
22
+ - Add MCP contract coverage for gate risk level, score, reasons, evidence, and required actions.
23
+ - Expose the same continue/repair/human-review language used by CLI and CI.
24
+
25
+ ### Changed
26
+ - Make MCP gate responses easier for AI agents to obey by pairing each stop decision with concrete repair or human-review instructions.
27
+
3
28
  ## [1.0.6] - 2026-06-07
4
29
 
5
30
  ### Fixed
package/README.md CHANGED
@@ -1,35 +1,24 @@
1
1
  # @getripple/mcp
2
2
 
3
- Plan before edit. Check after edit. Catch drift. Tell the agent what to fix.
3
+ **The agent-facing wire for Ripple's local authorization gate.**
4
4
 
5
- **MCP stdio server for Ripple's local drift-control gate for AI coding agents.**
5
+ `@getripple/mcp` lets MCP-compatible AI coding agents ask Ripple what they are
6
+ allowed to change, record verification evidence, and receive a final
7
+ continue/repair/human-review decision.
6
8
 
7
- `@getripple/mcp` lets MCP-compatible AI coding agents call Ripple directly from inside their workflow.
8
-
9
- Use this package when you want an agent to ask Ripple:
9
+ Use this package when you want the agent itself to call Ripple:
10
10
 
11
11
  ```txt
12
12
  What should I read before editing?
13
- What boundary was approved?
13
+ What boundary is approved?
14
+ What verification is required?
14
15
  Did my staged changes drift?
15
16
  Can I continue?
16
17
  What must I fix?
17
18
  ```
18
19
 
19
- Ripple helps agents work inside a human-approved boundary:
20
-
21
- ```txt
22
- plan before edit
23
- save intent
24
- check after edit
25
- catch drift
26
- tell the agent what to fix
27
- continue / repair / human review
28
- ```
29
-
30
- The MCP server is best when the AI agent should call Ripple tools directly.
31
-
32
- For terminal, CI, and human-controlled workflows, use `@getripple/cli`.
20
+ For Git hooks, CI, terminal audits, and repository initialization, use
21
+ `@getripple/cli`.
33
22
 
34
23
  ---
35
24
 
@@ -64,40 +53,55 @@ Windows: C:\\Users\\yourname\\projects\\myapp
64
53
 
65
54
  No global install is required. `npx` fetches and runs the MCP server.
66
55
 
56
+ Before relying on MCP in a repo, initialize the local control layer:
57
+
58
+ ```bash
59
+ npx -y @getripple/cli init
60
+ ```
61
+
67
62
  ---
68
63
 
69
64
  ## Agent Workflow
70
65
 
71
- Use the Ripple MCP tools in this order.
66
+ Agents should use the Ripple MCP tools in this order:
72
67
 
73
68
  ```txt
74
- 1. Check readiness
75
- 2. Plan before edit
76
- 3. Save the approved intent
77
- 4. Let the agent edit inside the boundary
78
- 5. Check after edit
79
- 6. Catch drift
80
- 7. Tell the agent what to fix
81
- 8. Continue, repair, or ask the human
82
- ```
69
+ 1. ripple_doctor
70
+ Check repo readiness.
83
71
 
84
- ---
72
+ 2. ripple_plan_context
73
+ Plan before editing and save the approved intent.
85
74
 
86
- ## 1. Check Readiness
75
+ 3. Agent edits code
76
+ Stay inside allowed_files and allowed_symbols.
87
77
 
88
- Call:
78
+ 4. ripple_check_staged or ripple_check_changed
79
+ Compare the real Git diff against the saved intent.
89
80
 
90
- ```txt
91
- ripple_doctor
81
+ 5. ripple_record_verification
82
+ Record the result of required tests, typechecks, or manual verification.
83
+
84
+ 6. ripple_gate
85
+ Get the final continue, repair, human-review, or restore-readiness decision.
86
+
87
+ 7. ripple_repair_intent_drift
88
+ If the gate stops, get exact repair actions.
92
89
  ```
93
90
 
94
- This checks whether the repo is ready for Ripple's saved-intent workflow.
91
+ Agent rule:
92
+
93
+ ```txt
94
+ canContinue=true -> continue only after required verification
95
+ mustStop=true -> stop and follow fixNow
96
+ needsHuman=true -> ask the human; do not self-approve
97
+ ```
95
98
 
96
- If the result says `mustStop=true`, fix readiness before editing.
99
+ Do not claim Ripple passed unless you called a Ripple MCP tool and the final
100
+ gate allowed the work to continue.
97
101
 
98
102
  ---
99
103
 
100
- ## 2. Plan Before Edit
104
+ ## Plan Before Edit
101
105
 
102
106
  Call:
103
107
 
@@ -109,8 +113,8 @@ Pass:
109
113
 
110
114
  ```txt
111
115
  task
112
- target file
113
- control mode
116
+ targetFile
117
+ controlMode
114
118
  saveIntent: true
115
119
  ```
116
120
 
@@ -125,43 +129,52 @@ allowedSymbols
125
129
  editableFiles
126
130
  verificationTargets
127
131
  risk
132
+ policyExplanation
128
133
  human gate state
129
134
  ```
130
135
 
131
- When `saveIntent: true` is used, Ripple saves the human-approved boundary for later drift checks.
132
-
133
- The saved intent becomes the trust boundary for the agent's work.
136
+ When `saveIntent: true` is used, Ripple saves the approved boundary for later
137
+ drift checks.
134
138
 
135
139
  ---
136
140
 
137
- ## 3. Check After Edit
141
+ ## Record Verification
138
142
 
139
- After the agent edits code and the intended files are staged, call:
143
+ After editing, the agent must run or report the narrowest relevant verification
144
+ target before final handoff when Ripple asks for it.
145
+
146
+ Call:
140
147
 
141
148
  ```txt
142
- ripple_check_staged
149
+ ripple_record_verification
143
150
  ```
144
151
 
145
- This compares staged changes against the saved intent and reports:
152
+ Example reported evidence:
146
153
 
147
154
  ```txt
148
- intent drift
149
- boundary drift
150
- policy drift
151
- contract drift
152
- approval state
153
- handoff
155
+ command: npm test -- tests/auth.test.ts
156
+ status: passed
157
+ note: auth retry tests passed after boundary-scoped change
154
158
  ```
155
159
 
156
- For changed files against a base branch, call:
160
+ Supported statuses:
157
161
 
158
162
  ```txt
159
- ripple_check_changed
163
+ passed
164
+ failed
165
+ skipped
166
+ unknown
160
167
  ```
161
168
 
169
+ Failed evidence blocks as repair. Skipped or unknown evidence requires human
170
+ review. Stale evidence must be rerun against the current changed files.
171
+
172
+ After recording verification evidence, call `ripple_gate` again so the final
173
+ decision includes that evidence.
174
+
162
175
  ---
163
176
 
164
- ## 4. Ask the Gate
177
+ ## Ask The Gate
165
178
 
166
179
  Call:
167
180
 
@@ -171,13 +184,7 @@ ripple_gate
171
184
 
172
185
  `ripple_gate` is the compact continue/stop decision.
173
186
 
174
- It answers one question:
175
-
176
- ```txt
177
- Can the AI agent continue?
178
- ```
179
-
180
- Example:
187
+ Example stop response:
181
188
 
182
189
  ```json
183
190
  {
@@ -190,40 +197,22 @@ Example:
190
197
  }
191
198
  ```
192
199
 
193
- Agent rule:
194
-
195
- ```txt
196
- canContinue=true -> continue only after required verification
197
- mustStop=true -> stop and follow fixNow
198
- needsHuman=true -> ask the human; do not self-approve
199
- ```
200
-
201
- ---
202
-
203
- ## 5. Repair Drift
204
-
205
- Call:
200
+ If the agent crossed a function boundary, the gate can return evidence like:
206
201
 
207
202
  ```txt
208
- ripple_repair_intent_drift
209
- ```
210
-
211
- This tells the agent what to fix.
203
+ Allowed:
204
+ - src/auth.ts::refreshToken
212
205
 
213
- It may return:
206
+ Changed outside boundary:
207
+ - symbol: src/auth.ts::login
214
208
 
215
- ```txt
216
- which files to unstage
217
- which symbols to undo
218
- which contracts to review
219
- which tests to run
220
- when to create a wider human-approved intent
221
- when to ask the human
209
+ Fix now:
210
+ - Undo or replan unapproved symbol: src/auth.ts::login
211
+ - Ask the human to approve a wider boundary before keeping these changes.
222
212
  ```
223
213
 
224
- If the task scope changed, the agent should not silently continue.
225
-
226
- It should ask for a wider human-approved intent.
214
+ Ripple does not silently delete code. It stops the workflow and tells the agent
215
+ what must be fixed or when a human must review.
227
216
 
228
217
  ---
229
218
 
@@ -232,12 +221,14 @@ It should ask for a wider human-approved intent.
232
221
  ```txt
233
222
  ripple_get_agent_workflow full agent workflow guide and output contracts
234
223
  ripple_doctor check project readiness
224
+ ripple_get_intent_status check whether saved intent is missing, active, closed, or invalid
235
225
  ripple_plan_context plan before editing and optionally save intent
236
226
  ripple_check_staged check staged files against saved intent
237
227
  ripple_check_changed check changed files against a git base ref
238
228
  ripple_audit_change audit a completed change for drift signals
239
229
  ripple_gate compact continue/stop decision
240
230
  ripple_get_approval_status check whether a human gate is required
231
+ ripple_record_verification record passed/failed/skipped/unknown verification evidence
241
232
  ripple_repair_intent_drift get repair actions when drift is detected
242
233
  ripple_get_focus focused context for one file
243
234
  ripple_get_blast_radius files that depend on a target file
@@ -247,116 +238,32 @@ ripple_get_recent_changes recent architectural changes from history
247
238
 
248
239
  ---
249
240
 
250
- ## Example Agent Loop
251
-
252
- A safe AI-agent workflow should look like this:
253
-
254
- ```txt
255
- 1. Call ripple_doctor
256
- 2. Call ripple_plan_context with saveIntent=true
257
- 3. Read only the suggested context
258
- 4. Edit only inside the approved boundary
259
- 5. Stage the intended changes
260
- 6. Call ripple_check_staged
261
- 7. Call ripple_gate
262
- 8. Continue, repair, or stop based on the gate
263
- ```
264
-
265
- If `mustStop=true`, the agent must stop.
266
-
267
- If `needsHuman=true`, the agent must ask the human.
268
-
269
- If `canContinue=true`, the agent may continue only after required verification passes.
270
-
271
- ---
272
-
273
241
  ## Trust Boundaries
274
242
 
275
- Ripple saves the freedom level the agent was given before editing and checks whether the agent stayed inside it after editing.
243
+ Ripple saves the freedom level the agent was given before editing and checks
244
+ whether the agent stayed inside it after editing.
276
245
 
277
- Supported control modes:
278
-
279
- | Mode | Boundary |
280
- | ------------ | -------------------------------------------- |
281
- | `brainstorm` | No edits allowed. Suggest and explain only. |
282
- | `function` | Only the approved symbol may change. |
283
- | `file` | Only the selected file may change. |
284
- | `task` | Files in the saved task plan may change. |
285
- | `pr` | Full task scope. Human reviews before merge. |
246
+ | Mode | Agent is allowed to |
247
+ | --- | --- |
248
+ | `brainstorm` | Suggest and explain only. No edits. |
249
+ | `function` | Edit only the approved symbol. |
250
+ | `file` | Edit only the approved file. |
251
+ | `task` | Edit files in the saved task plan. |
252
+ | `pr` | Complete low-risk PR work for human review before merge. |
286
253
 
287
254
  Example function boundary:
288
255
 
289
256
  ```txt
290
- file: src/auth.ts
291
- symbol: refreshToken
292
- mode: function
257
+ tool: ripple_plan_context
293
258
  task: fix retry behavior
259
+ targetFile: src/auth.ts
260
+ symbol: refreshToken
261
+ controlMode: function
294
262
  saveIntent: true
295
263
  ```
296
264
 
297
- If `function` mode approves only `refreshToken` but the agent also changes `login`, Ripple stops the workflow and tells the agent what to fix.
298
-
299
- ---
300
-
301
- ## Gate Decisions
302
-
303
- `ripple_gate` returns the decision an agent should obey.
304
-
305
- Possible decisions include:
306
-
307
- ```txt
308
- continue
309
- repair
310
- human-review
311
- restore-readiness
312
- ```
313
-
314
- Example stop decision:
315
-
316
- ```txt
317
- STOP: agent crossed approved function boundary.
318
-
319
- Allowed:
320
- - src/auth.ts::refreshToken
321
-
322
- Changed outside boundary:
323
- - src/auth.ts::login
324
-
325
- Fix:
326
- - undo src/auth.ts::login
327
- - or create a wider human-approved intent
328
- ```
329
-
330
- Machine-readable output includes:
331
-
332
- ```json
333
- {
334
- "status": "closed",
335
- "decision": "human-review",
336
- "canContinue": false,
337
- "mustStop": true,
338
- "needsHuman": true,
339
- "why": ["Changed symbol outside approved boundary: src/auth.ts::login"],
340
- "fixNow": ["Undo src/auth.ts::login or replan with human approval."]
341
- }
342
- ```
343
-
344
- ---
345
-
346
- ## Run Manually
347
-
348
- Run without installing:
349
-
350
- ```bash
351
- npx -y @getripple/mcp --workspace /absolute/path/to/your/repo
352
- ```
353
-
354
- Or install globally:
355
-
356
- ```bash
357
- npm install -g @getripple/mcp
358
- ripple-mcp --workspace /absolute/path/to/your/repo
359
- ```
265
+ If `function` mode approves only `refreshToken` but the agent also changes
266
+ `login`, Ripple stops the workflow and tells the agent what to fix.
360
267
 
361
268
  ---
362
269
 
@@ -364,11 +271,8 @@ ripple-mcp --workspace /absolute/path/to/your/repo
364
271
 
365
272
  The server communicates over stdio using JSON-RPC.
366
273
 
367
- Only MCP protocol messages are written to stdout.
368
-
369
- Non-protocol scan/cache output is kept off stdout so MCP clients can parse responses reliably.
370
-
371
- This matters because MCP clients expect clean JSON-RPC messages on stdout.
274
+ Only MCP protocol messages are written to stdout. Non-protocol scan/cache output
275
+ is kept off stdout so MCP clients can parse responses reliably.
372
276
 
373
277
  ---
374
278
 
@@ -395,25 +299,13 @@ ignore: .ripple/.cache/
395
299
 
396
300
  `.ripple/.cache/` is machine cache.
397
301
 
398
- Policy, history, intents, and approvals are durable workflow/audit state.
399
-
400
302
  ---
401
303
 
402
304
  ## CLI Relationship
403
305
 
404
306
  The MCP package is for agents.
405
307
 
406
- The CLI package is for humans, terminals, scripts, and CI.
407
-
408
- Use CLI when you want:
409
-
410
- ```txt
411
- manual commands
412
- CI gates
413
- local terminal workflows
414
- release proofs
415
- human-controlled checks
416
- ```
308
+ The CLI package is for humans, terminals, hooks, scripts, and CI.
417
309
 
418
310
  Use MCP when you want:
419
311
 
@@ -422,28 +314,31 @@ agents to call Ripple directly
422
314
  structured tool responses
423
315
  stdio JSON-RPC protocol
424
316
  agent-readable handoff decisions
317
+ verification evidence recorded into the saved intent
425
318
  ```
426
319
 
427
- ---
428
-
429
- ## Language Support
430
-
431
- Strongest today:
320
+ Use CLI when you want:
432
321
 
433
322
  ```txt
434
- JavaScript
435
- TypeScript
323
+ repo initialization
324
+ Git hook enforcement
325
+ CI gates
326
+ local terminal workflows
327
+ release proofs
328
+ human-controlled checks
436
329
  ```
437
330
 
438
- Basic support:
331
+ ---
439
332
 
440
- ```txt
441
- Python imports
442
- Python functions
443
- Python classes
444
- Python methods
445
- file-level staged checks
446
- ```
333
+ ## Language Support
334
+
335
+ | Language | Status |
336
+ | --- | --- |
337
+ | TypeScript / JavaScript | Deep support for imports, exports, symbols, callers, staged drift, and blast radius |
338
+ | Python | Basic support for imports, functions, classes, methods, and file-level staged checks |
339
+
340
+ Ripple uses static analysis. It can miss runtime-only behavior, dynamic imports,
341
+ reflection, decorators, generated code, and framework-specific magic.
447
342
 
448
343
  ---
449
344
 
@@ -452,37 +347,27 @@ file-level staged checks
452
347
  Ripple runs locally.
453
348
 
454
349
  ```txt
455
- No account required
456
- No telemetry
457
- No cloud indexing
458
- No code upload
459
- No remote model call required
350
+ No account required.
351
+ No telemetry.
352
+ No cloud indexing.
353
+ No code upload.
354
+ No remote model call required.
460
355
  ```
461
356
 
462
- Your repo is scanned on your machine.
463
-
464
- The MCP server does not require sending your code to a cloud service.
357
+ Your repository is scanned on your machine. The MCP server does not require
358
+ sending your code to a cloud service.
465
359
 
466
360
  ---
467
361
 
468
- ## Status
469
-
470
- Public alpha.
362
+ ## Honest Limits
471
363
 
472
- Ripple is a local signal and gate.
473
-
474
- It is not:
475
-
476
- ```txt
477
- a sandbox
478
- a test replacement
479
- a typechecker replacement
480
- a code review replacement
481
- a CI replacement
482
- a human judgment replacement
483
- ```
364
+ Ripple is deterministic infrastructure, not a magical AI wrapper.
484
365
 
485
- Ripple helps an agent know whether it stayed inside the work it was trusted to do.
366
+ - Ripple is not a coding agent.
367
+ - Ripple is not a sandbox.
368
+ - Ripple relies on agents actually calling the MCP tools.
369
+ - Ripple uses static analysis.
370
+ - Ripple does not replace your compiler, test suite, code review, or judgment.
486
371
 
487
372
  ---
488
373
 
package/dist/server.js CHANGED
@@ -223,19 +223,7 @@ function parseToolCallParams(params) {
223
223
  };
224
224
  }
225
225
  function isRippleMcpToolName(name) {
226
- return (name === "ripple_doctor" ||
227
- name === "ripple_check_changed" ||
228
- name === "ripple_check_staged" ||
229
- name === "ripple_audit_change" ||
230
- name === "ripple_gate" ||
231
- name === "ripple_get_approval_status" ||
232
- name === "ripple_get_agent_workflow" ||
233
- name === "ripple_repair_intent_drift" ||
234
- name === "ripple_get_focus" ||
235
- name === "ripple_get_blast_radius" ||
236
- name === "ripple_explain_policy" ||
237
- name === "ripple_plan_context" ||
238
- name === "ripple_get_recent_changes");
226
+ return typeof name === "string" && tools_1.RIPPLE_MCP_TOOLS.some((tool) => tool.name === name);
239
227
  }
240
228
  function isJsonRpcRequest(value) {
241
229
  if (!isRecord(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { AgentWorkflowSummary, ChangeIntent, ContextPlanSummary, FileBlastRadiusSummary, FileFocusSummary, IntentDriftRepairPlan, RippleApprovalStatus, RippleAuditSummary, RippleGateSummary, RipplePolicyExplanation, RecentHistorySummary, RippleReadinessSummary, StagedCheckSummary, StagedCheckWithIntentSummary } from "@getripple/core";
2
- export type RippleMcpToolName = "ripple_doctor" | "ripple_check_changed" | "ripple_check_staged" | "ripple_audit_change" | "ripple_gate" | "ripple_get_approval_status" | "ripple_get_agent_workflow" | "ripple_repair_intent_drift" | "ripple_get_focus" | "ripple_get_blast_radius" | "ripple_explain_policy" | "ripple_plan_context" | "ripple_get_recent_changes";
1
+ import { AgentWorkflowSummary, ChangeIntent, ContextPlanSummary, FileBlastRadiusSummary, FileFocusSummary, IntentDriftRepairPlan, RippleApprovalStatus, RippleAuditSummary, RippleGateIntentBlockSummary, RippleGateSummary, RipplePolicyExplanation, RippleVerificationEvidence, RecentHistorySummary, RippleReadinessSummary, StagedCheckSummary, StagedCheckWithIntentSummary } from "@getripple/core";
2
+ export type RippleMcpToolName = "ripple_doctor" | "ripple_check_changed" | "ripple_check_staged" | "ripple_audit_change" | "ripple_gate" | "ripple_get_intent_status" | "ripple_get_approval_status" | "ripple_get_agent_workflow" | "ripple_repair_intent_drift" | "ripple_get_focus" | "ripple_get_blast_radius" | "ripple_explain_policy" | "ripple_plan_context" | "ripple_record_verification" | "ripple_get_recent_changes";
3
3
  export type RippleMcpToolDefinition = {
4
4
  name: RippleMcpToolName;
5
5
  description: string;
@@ -14,7 +14,7 @@ export type RippleMcpToolHostOptions = {
14
14
  workspaceRoot: string;
15
15
  };
16
16
  export type RippleMcpToolCallArgs = Record<string, unknown>;
17
- export type RippleMcpToolData = AgentWorkflowSummary | RippleReadinessSummary | FileFocusSummary | FileBlastRadiusSummary | ContextPlanSummary | ContextPlanWithIntentSummary | RipplePolicyExplanation | ApprovalStatusWithIntentSummary | RippleAuditSummary | RippleGateSummary | IntentDriftRepairPlan | RecentHistorySummary | StagedCheckSummary | StagedCheckWithIntentSummary;
17
+ export type RippleMcpToolData = AgentWorkflowSummary | RippleReadinessSummary | FileFocusSummary | FileBlastRadiusSummary | ContextPlanSummary | ContextPlanWithIntentSummary | RipplePolicyExplanation | RippleIntentStatusSummary | ApprovalStatusWithIntentSummary | VerificationEvidenceSummary | RippleAuditSummary | RippleGateSummary | RippleGateIntentBlockSummary | IntentDriftRepairPlan | RecentHistorySummary | StagedCheckSummary | StagedCheckWithIntentSummary;
18
18
  export type RippleMcpToolResult<T = RippleMcpToolData> = {
19
19
  tool: RippleMcpToolName;
20
20
  data: T;
@@ -24,6 +24,40 @@ export type ContextPlanWithIntentSummary = ContextPlanSummary & {
24
24
  changeIntent?: ChangeIntent;
25
25
  changeIntentPath?: string;
26
26
  };
27
+ export type RippleIntentLifecycleState = "missing" | "active" | "closed" | "invalid";
28
+ export type RippleIntentSnapshot = {
29
+ id: string;
30
+ createdAt: string;
31
+ task: string;
32
+ targetFile: string;
33
+ controlMode: ChangeIntent["controlMode"];
34
+ humanGate: ChangeIntent["humanGate"];
35
+ boundaryRisk: ChangeIntent["boundaryRisk"];
36
+ };
37
+ export type RippleClosedIntentSummary = {
38
+ closedAt?: string;
39
+ closedBy?: string;
40
+ reason?: string;
41
+ originalIntentPath?: string;
42
+ intent?: RippleIntentSnapshot;
43
+ };
44
+ export type RippleIntentStatusSummary = {
45
+ protocol: "ripple-intent-status";
46
+ version: 1;
47
+ workspace: string;
48
+ intentRef: string;
49
+ intentPath: string;
50
+ state: RippleIntentLifecycleState;
51
+ exists: boolean;
52
+ active: boolean;
53
+ canSaveNewIntent: boolean;
54
+ mustAskHuman: boolean;
55
+ nextRequiredAction: string;
56
+ nextSteps: string[];
57
+ intent?: RippleIntentSnapshot;
58
+ closed?: RippleClosedIntentSummary;
59
+ error?: string;
60
+ };
27
61
  export type ApprovalStatusWithIntentSummary = RippleApprovalStatus & {
28
62
  intent: {
29
63
  id: string;
@@ -34,6 +68,16 @@ export type ApprovalStatusWithIntentSummary = RippleApprovalStatus & {
34
68
  boundaryRisk: ChangeIntent["boundaryRisk"];
35
69
  };
36
70
  };
71
+ export type VerificationEvidenceSummary = {
72
+ protocol: "ripple-verification-evidence";
73
+ version: 1;
74
+ workspace: string;
75
+ intentPath: string;
76
+ intentId: string;
77
+ evidence: RippleVerificationEvidence;
78
+ totalEvidence: number;
79
+ nextSteps: string[];
80
+ };
37
81
  export declare const RIPPLE_MCP_TOOLS: RippleMcpToolDefinition[];
38
82
  export declare class RippleMcpToolHost {
39
83
  private readonly workspaceRoot;
@@ -50,6 +94,8 @@ export declare class RippleMcpToolHost {
50
94
  private explainPolicy;
51
95
  private planContext;
52
96
  private getRecentChanges;
97
+ private getIntentStatus;
98
+ private recordVerification;
53
99
  private getApprovalStatus;
54
100
  private checkStaged;
55
101
  private checkChanged;
package/dist/tools.js CHANGED
@@ -24,11 +24,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.createRippleMcpToolHost = exports.RippleMcpToolHost = exports.RIPPLE_MCP_TOOLS = void 0;
27
+ const fs = __importStar(require("fs"));
27
28
  const path = __importStar(require("path"));
28
29
  const core_1 = require("@getripple/core");
29
30
  const MCP_CONTROL_MODES = ["brainstorm", "function", "file", "task", "pr"];
30
31
  const MCP_AUDIT_MODES = ["staged", "changed"];
31
32
  const MCP_APPROVAL_GATES = ["before-risky-edit", "before-merge"];
33
+ const MCP_VERIFICATION_STATUSES = [
34
+ "passed",
35
+ "failed",
36
+ "skipped",
37
+ "unknown",
38
+ ];
32
39
  exports.RIPPLE_MCP_TOOLS = [
33
40
  {
34
41
  name: "ripple_doctor",
@@ -133,6 +140,20 @@ exports.RIPPLE_MCP_TOOLS = [
133
140
  additionalProperties: false,
134
141
  },
135
142
  },
143
+ {
144
+ name: "ripple_get_intent_status",
145
+ description: "Return whether a saved Ripple intent boundary is missing, active, closed, or invalid before an agent plans or edits.",
146
+ inputSchema: {
147
+ type: "object",
148
+ properties: {
149
+ intentPath: {
150
+ type: "string",
151
+ description: "Saved Ripple change intent path, id, or latest. Defaults to latest.",
152
+ },
153
+ },
154
+ additionalProperties: false,
155
+ },
156
+ },
136
157
  {
137
158
  name: "ripple_get_approval_status",
138
159
  description: "Return whether the saved Ripple change intent has a valid, missing, stale, or not-required human approval record.",
@@ -281,6 +302,34 @@ exports.RIPPLE_MCP_TOOLS = [
281
302
  additionalProperties: false,
282
303
  },
283
304
  },
305
+ {
306
+ name: "ripple_record_verification",
307
+ description: "Record reported verification evidence on a saved Ripple intent after an agent runs, skips, or cannot prove a check.",
308
+ inputSchema: {
309
+ type: "object",
310
+ properties: {
311
+ intentPath: {
312
+ type: "string",
313
+ description: "Saved Ripple change intent path, id, or latest. Defaults to latest.",
314
+ },
315
+ command: {
316
+ type: "string",
317
+ description: "Verification command or manual check label being reported.",
318
+ },
319
+ status: {
320
+ type: "string",
321
+ enum: MCP_VERIFICATION_STATUSES,
322
+ description: "Reported verification result. Failed blocks as repair; skipped/unknown require human review.",
323
+ },
324
+ note: {
325
+ type: "string",
326
+ description: "Optional short note explaining the reported result.",
327
+ },
328
+ },
329
+ required: ["command", "status"],
330
+ additionalProperties: false,
331
+ },
332
+ },
284
333
  {
285
334
  name: "ripple_get_recent_changes",
286
335
  description: "Return recent Ripple history groups for this workspace.",
@@ -335,6 +384,12 @@ class RippleMcpToolHost {
335
384
  data: this.getApprovalStatus(args),
336
385
  };
337
386
  }
387
+ if (name === "ripple_get_intent_status") {
388
+ return {
389
+ tool: name,
390
+ data: this.getIntentStatus(args),
391
+ };
392
+ }
338
393
  if (name === "ripple_get_focus") {
339
394
  await this.initialize();
340
395
  return {
@@ -363,6 +418,12 @@ class RippleMcpToolHost {
363
418
  data: this.planContext(args),
364
419
  };
365
420
  }
421
+ if (name === "ripple_record_verification") {
422
+ return {
423
+ tool: name,
424
+ data: this.recordVerification(args),
425
+ };
426
+ }
366
427
  if (name === "ripple_check_staged") {
367
428
  return {
368
429
  tool: name,
@@ -460,6 +521,7 @@ class RippleMcpToolHost {
460
521
  policy,
461
522
  policyExplanation,
462
523
  });
524
+ assertMcpCanSaveIntent(this.workspaceRoot, parsed.intentPath);
463
525
  const savedPath = (0, core_1.saveChangeIntent)(this.workspaceRoot, changeIntent, parsed.intentPath);
464
526
  const readiness = (0, core_1.buildRippleReadinessSummary)(this.workspaceRoot, this.engine);
465
527
  changeIntent.readinessSnapshot = (0, core_1.buildChangeIntentReadinessSnapshot)(readiness);
@@ -474,15 +536,117 @@ class RippleMcpToolHost {
474
536
  getRecentChanges(args) {
475
537
  return this.engine.getRecentHistorySummary(optionalPositiveInteger(args, "limit", 10));
476
538
  }
539
+ getIntentStatus(args) {
540
+ const intentRef = optionalString(args, "intentPath") ?? "latest";
541
+ const intentPath = resolveMcpIntentPath(this.workspaceRoot, intentRef);
542
+ const relativeIntentPath = formatWorkspacePath(this.workspaceRoot, intentPath);
543
+ if (!fs.existsSync(intentPath)) {
544
+ return {
545
+ protocol: "ripple-intent-status",
546
+ version: 1,
547
+ workspace: this.workspaceRoot,
548
+ intentRef,
549
+ intentPath: relativeIntentPath,
550
+ state: "missing",
551
+ exists: false,
552
+ active: false,
553
+ canSaveNewIntent: true,
554
+ mustAskHuman: false,
555
+ nextRequiredAction: "Create a saved Ripple plan before editing so the agent has an auditable boundary.",
556
+ nextSteps: [
557
+ "Call ripple_plan_context with saveIntent: true before editing.",
558
+ "If the task is risky, wait for the human approval gate before changing code.",
559
+ ],
560
+ };
561
+ }
562
+ const parsed = readIntentMarker(intentPath);
563
+ if (!parsed.ok) {
564
+ return invalidIntentStatus(this.workspaceRoot, intentRef, relativeIntentPath, parsed.error);
565
+ }
566
+ if (parsed.protocol === "ripple-change-intent") {
567
+ try {
568
+ const intent = (0, core_1.loadChangeIntent)(this.workspaceRoot, intentRef);
569
+ return {
570
+ protocol: "ripple-intent-status",
571
+ version: 1,
572
+ workspace: this.workspaceRoot,
573
+ intentRef,
574
+ intentPath: relativeIntentPath,
575
+ state: "active",
576
+ exists: true,
577
+ active: true,
578
+ canSaveNewIntent: false,
579
+ mustAskHuman: false,
580
+ nextRequiredAction: "Use this saved boundary for gate/check calls, or ask the human to close or widen it before saving a different intent.",
581
+ intent: intentSnapshot(intent),
582
+ nextSteps: [
583
+ "Call ripple_gate with this intent after changes are staged.",
584
+ "Do not call ripple_plan_context with saveIntent: true for another boundary while this intent is active.",
585
+ "If the scope must change, ask the human to run ripple intent close --reason or approve a wider plan.",
586
+ ],
587
+ };
588
+ }
589
+ catch (err) {
590
+ return invalidIntentStatus(this.workspaceRoot, intentRef, relativeIntentPath, errorMessage(err));
591
+ }
592
+ }
593
+ if (parsed.protocol === "ripple-closed-intent") {
594
+ const closed = closedIntentSummary(parsed.value);
595
+ return {
596
+ protocol: "ripple-intent-status",
597
+ version: 1,
598
+ workspace: this.workspaceRoot,
599
+ intentRef,
600
+ intentPath: relativeIntentPath,
601
+ state: "closed",
602
+ exists: true,
603
+ active: false,
604
+ canSaveNewIntent: true,
605
+ mustAskHuman: false,
606
+ nextRequiredAction: "Start a new saved Ripple plan before the agent edits again.",
607
+ closed,
608
+ nextSteps: [
609
+ "Call ripple_plan_context with saveIntent: true for the next approved task boundary.",
610
+ "Use the closed marker only as audit history; do not treat it as permission to edit.",
611
+ ],
612
+ };
613
+ }
614
+ return invalidIntentStatus(this.workspaceRoot, intentRef, relativeIntentPath, `Unsupported intent protocol: ${String(parsed.protocol)}.`);
615
+ }
616
+ recordVerification(args) {
617
+ const parsed = parseRecordVerificationArgs(args);
618
+ const intentRef = parsed.intentPath ?? "latest";
619
+ const intent = (0, core_1.loadChangeIntent)(this.workspaceRoot, intentRef);
620
+ const updatedIntent = (0, core_1.appendRippleVerificationEvidence)(intent, {
621
+ command: parsed.command,
622
+ status: parsed.status,
623
+ note: parsed.note,
624
+ });
625
+ const savedPath = (0, core_1.saveChangeIntent)(this.workspaceRoot, updatedIntent, intentRef);
626
+ const evidence = updatedIntent.verificationEvidence[updatedIntent.verificationEvidence.length - 1];
627
+ return {
628
+ protocol: "ripple-verification-evidence",
629
+ version: 1,
630
+ workspace: this.workspaceRoot,
631
+ intentPath: formatWorkspacePath(this.workspaceRoot, savedPath),
632
+ intentId: updatedIntent.id,
633
+ evidence,
634
+ totalEvidence: updatedIntent.verificationEvidence.length,
635
+ nextSteps: [
636
+ "Call ripple_gate with the same intentPath to include this evidence in the continue/stop decision.",
637
+ "Ripple records reported evidence only; it does not claim the command was independently executed.",
638
+ ],
639
+ };
640
+ }
477
641
  getApprovalStatus(args) {
478
642
  const intentPath = optionalString(args, "intentPath") ?? "latest";
479
643
  const intent = (0, core_1.loadChangeIntent)(this.workspaceRoot, intentPath);
480
644
  return approvalStatusWithIntent(intent, (0, core_1.resolveRippleApprovalStatus)(this.workspaceRoot, intent, optionalApprovalGate(args, "gate")));
481
645
  }
482
646
  async checkStaged(args) {
483
- const stagedFiles = (0, core_1.listGitStagedFiles)(this.workspaceRoot);
484
647
  const intentPath = optionalString(args, "intentPath");
485
648
  const intent = intentPath ? (0, core_1.loadChangeIntent)(this.workspaceRoot, intentPath) : undefined;
649
+ const stagedFiles = (0, core_1.listGitStagedFiles)(this.workspaceRoot);
486
650
  await this.prepareFastCheck(stagedFiles, intent);
487
651
  const stagedSummary = (0, core_1.buildStagedCheckSummary)(this.engine, {
488
652
  workspaceRoot: this.workspaceRoot,
@@ -499,9 +663,9 @@ class RippleMcpToolHost {
499
663
  }
500
664
  async checkChanged(args) {
501
665
  const baseRef = optionalString(args, "baseRef") ?? "HEAD";
502
- const changedFiles = (0, core_1.listGitChangedFiles)(this.workspaceRoot, baseRef);
503
666
  const intentPath = optionalString(args, "intentPath");
504
667
  const intent = intentPath ? (0, core_1.loadChangeIntent)(this.workspaceRoot, intentPath) : undefined;
668
+ const changedFiles = (0, core_1.listGitChangedFiles)(this.workspaceRoot, baseRef);
505
669
  await this.prepareFastCheck(changedFiles, intent);
506
670
  const changedSummary = (0, core_1.buildStagedCheckSummary)(this.engine, {
507
671
  workspaceRoot: this.workspaceRoot,
@@ -551,6 +715,21 @@ class RippleMcpToolHost {
551
715
  });
552
716
  }
553
717
  async gateChange(args) {
718
+ const mode = optionalAuditMode(args, "mode") ?? "staged";
719
+ const baseRef = optionalString(args, "baseRef") ?? "HEAD";
720
+ const intentPath = optionalString(args, "intentPath") ?? "latest";
721
+ try {
722
+ (0, core_1.loadChangeIntent)(this.workspaceRoot, intentPath);
723
+ }
724
+ catch (err) {
725
+ return (0, core_1.buildRippleGateIntentBlockSummary)({
726
+ workspaceRoot: this.workspaceRoot,
727
+ mode,
728
+ baseRef: mode === "changed" ? baseRef : undefined,
729
+ intentRef: intentPath,
730
+ error: err,
731
+ });
732
+ }
554
733
  return (0, core_1.buildRippleGateSummary)(await this.auditChange(args));
555
734
  }
556
735
  async repairIntentDrift(args) {
@@ -680,6 +859,54 @@ function parsePlanContextArgs(args) {
680
859
  intentPath: optionalString(args, "intentPath"),
681
860
  };
682
861
  }
862
+ function assertMcpCanSaveIntent(workspaceRoot, intentPath) {
863
+ const targetPath = resolveMcpIntentPath(workspaceRoot, intentPath);
864
+ const latestPath = (0, core_1.defaultChangeIntentPath)(workspaceRoot);
865
+ const activePath = isActiveMcpIntentPath(latestPath) ? latestPath : undefined;
866
+ if (isActiveMcpIntentPath(targetPath)) {
867
+ throw new Error("An active Ripple intent already exists at this path. MCP agents cannot overwrite their own boundary. Ask the human to approve a wider boundary or run ripple intent close --reason before saving a new intent.");
868
+ }
869
+ if (activePath && path.resolve(targetPath) !== path.resolve(activePath)) {
870
+ throw new Error("An active Ripple intent already exists. MCP agents cannot create a second saved boundary to bypass the current one. Ask the human to approve, repair, or run ripple intent close --reason first.");
871
+ }
872
+ }
873
+ function isActiveMcpIntentPath(intentPath) {
874
+ try {
875
+ const parsed = JSON.parse(fs.readFileSync(intentPath, "utf8"));
876
+ return parsed.protocol === "ripple-change-intent";
877
+ }
878
+ catch {
879
+ return false;
880
+ }
881
+ }
882
+ function resolveMcpIntentPath(workspaceRoot, intentPath) {
883
+ const normalized = intentPath?.trim() ?? "";
884
+ if (normalized.length === 0 || normalized === "latest") {
885
+ return (0, core_1.defaultChangeIntentPath)(workspaceRoot);
886
+ }
887
+ if (path.isAbsolute(normalized)) {
888
+ return normalized;
889
+ }
890
+ if (normalized.endsWith(".json") || normalized.includes("/") || normalized.includes("\\")) {
891
+ return path.resolve(workspaceRoot, normalized);
892
+ }
893
+ return path.join(workspaceRoot, ".ripple", "intents", `${normalized}.json`);
894
+ }
895
+ function parseRecordVerificationArgs(args) {
896
+ return {
897
+ intentPath: optionalString(args, "intentPath"),
898
+ command: requiredString(args, "command"),
899
+ status: requiredVerificationStatus(args, "status"),
900
+ note: optionalString(args, "note"),
901
+ };
902
+ }
903
+ function requiredVerificationStatus(args, key) {
904
+ const value = requiredString(args, key);
905
+ if (MCP_VERIFICATION_STATUSES.includes(value)) {
906
+ return value;
907
+ }
908
+ throw new Error(`${key} must be one of: ${MCP_VERIFICATION_STATUSES.join(", ")}.`);
909
+ }
683
910
  function uniqueItems(items) {
684
911
  const seen = new Set();
685
912
  return items.filter((item) => {
@@ -708,6 +935,107 @@ function fastCheckCandidateFiles(files, intent) {
708
935
  : []),
709
936
  ].filter((file) => Boolean(file)));
710
937
  }
938
+ function readIntentMarker(intentPath) {
939
+ try {
940
+ const parsed = JSON.parse(fs.readFileSync(intentPath, "utf8"));
941
+ if (!isRecord(parsed)) {
942
+ return { ok: false, error: "Intent file is not a JSON object." };
943
+ }
944
+ return { ok: true, value: parsed, protocol: parsed.protocol };
945
+ }
946
+ catch (err) {
947
+ return { ok: false, error: errorMessage(err) };
948
+ }
949
+ }
950
+ function invalidIntentStatus(workspaceRoot, intentRef, intentPath, error) {
951
+ return {
952
+ protocol: "ripple-intent-status",
953
+ version: 1,
954
+ workspace: workspaceRoot,
955
+ intentRef,
956
+ intentPath,
957
+ state: "invalid",
958
+ exists: true,
959
+ active: false,
960
+ canSaveNewIntent: false,
961
+ mustAskHuman: true,
962
+ nextRequiredAction: "Ask the human to inspect or replace the invalid Ripple intent marker before the agent edits.",
963
+ error,
964
+ nextSteps: [
965
+ "Do not treat this intent file as permission to edit.",
966
+ "Ask the human to run ripple intent status and repair, close, or recreate the saved boundary.",
967
+ ],
968
+ };
969
+ }
970
+ function closedIntentSummary(value) {
971
+ const summary = {};
972
+ if (typeof value.closedAt === "string") {
973
+ summary.closedAt = value.closedAt;
974
+ }
975
+ if (typeof value.closedBy === "string") {
976
+ summary.closedBy = value.closedBy;
977
+ }
978
+ if (typeof value.reason === "string") {
979
+ summary.reason = value.reason;
980
+ }
981
+ if (typeof value.originalIntentPath === "string") {
982
+ summary.originalIntentPath = value.originalIntentPath;
983
+ }
984
+ const intent = intentSnapshotFromUnknown(value.intent);
985
+ if (intent) {
986
+ summary.intent = intent;
987
+ }
988
+ return summary;
989
+ }
990
+ function intentSnapshot(intent) {
991
+ return {
992
+ id: intent.id,
993
+ createdAt: intent.createdAt,
994
+ task: intent.task,
995
+ targetFile: intent.targetFile,
996
+ controlMode: intent.controlMode,
997
+ humanGate: intent.humanGate,
998
+ boundaryRisk: intent.boundaryRisk,
999
+ };
1000
+ }
1001
+ function intentSnapshotFromUnknown(value) {
1002
+ if (!isRecord(value)) {
1003
+ return undefined;
1004
+ }
1005
+ if (typeof value.id !== "string" ||
1006
+ typeof value.createdAt !== "string" ||
1007
+ typeof value.task !== "string" ||
1008
+ typeof value.targetFile !== "string" ||
1009
+ !isControlMode(value.controlMode) ||
1010
+ !isHumanGate(value.humanGate) ||
1011
+ !isBoundaryRisk(value.boundaryRisk)) {
1012
+ return undefined;
1013
+ }
1014
+ return {
1015
+ id: value.id,
1016
+ createdAt: value.createdAt,
1017
+ task: value.task,
1018
+ targetFile: value.targetFile,
1019
+ controlMode: value.controlMode,
1020
+ humanGate: value.humanGate,
1021
+ boundaryRisk: value.boundaryRisk,
1022
+ };
1023
+ }
1024
+ function isControlMode(value) {
1025
+ return MCP_CONTROL_MODES.includes(value);
1026
+ }
1027
+ function isHumanGate(value) {
1028
+ return value === "none" || value === "required-before-edit" || value === "required-before-merge";
1029
+ }
1030
+ function isBoundaryRisk(value) {
1031
+ return value === "low" || value === "medium" || value === "high" || value === "critical";
1032
+ }
1033
+ function isRecord(value) {
1034
+ return typeof value === "object" && value !== null && !Array.isArray(value);
1035
+ }
1036
+ function errorMessage(err) {
1037
+ return err instanceof Error ? err.message : String(err);
1038
+ }
711
1039
  function approvalStatusWithIntent(intent, status) {
712
1040
  return {
713
1041
  ...status,
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@getripple/mcp",
3
- "version": "1.0.8",
4
- "description": "MCP stdio server for Ripple's local drift-control gate for AI coding agents.",
3
+ "version": "1.0.9",
4
+ "description": "MCP stdio server for Ripple's local authorization gate for AI coding agents.",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",
7
7
  "main": "dist/index.js",
@@ -21,7 +21,7 @@
21
21
  "mcp",
22
22
  "model-context-protocol",
23
23
  "stdio",
24
- "drift-control",
24
+ "authorization-gate",
25
25
  "trust-boundaries",
26
26
  "codebase",
27
27
  "typescript",
@@ -45,7 +45,7 @@
45
45
  "build": "tsc -p tsconfig.json"
46
46
  },
47
47
  "dependencies": {
48
- "@getripple/core": "^1.0.8"
48
+ "@getripple/core": "^1.0.9"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/node": "^18.0.0",