From bdbed5f1a5d5578fb739b5ef0d22155396e77e0a Mon Sep 17 00:00:00 2001 From: Raushan Kumar <155806959+raushankcode@users.noreply.github.com> Date: Sat, 11 Jul 2026 13:56:14 +0530 Subject: [PATCH 1/2] feat: final rogue edit --- src/utils.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/utils.ts b/src/utils.ts index 3a350b2..5c3f49b 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -2,9 +2,11 @@ export function funcA(input: string): string { // This is the function we plan to change. return `Processed A: ${input}`; + //allowd } export function funcB(input: string): string { // This function should NOT be changed. return `Processed B: ${input}`; + //rouge } \ No newline at end of file From 1cac8667a337dbb62d7ebee00ffa66398d83a465 Mon Sep 17 00:00:00 2001 From: Raushan Kumar <155806959+raushankcode@users.noreply.github.com> Date: Sat, 11 Jul 2026 14:02:53 +0530 Subject: [PATCH 2/2] chore: widen ripple intent boundary --- .ripple/intents/latest.json | 79 +++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 .ripple/intents/latest.json diff --git a/.ripple/intents/latest.json b/.ripple/intents/latest.json new file mode 100644 index 0000000..c34928c --- /dev/null +++ b/.ripple/intents/latest.json @@ -0,0 +1,79 @@ +{ + "protocol": "ripple-change-intent", + "version": 1, + "id": "intent-mrg3wr0d-6ee0ebc444", + "createdAt": "2026-07-11T08:32:38.843Z", + "task": "Final Unblock Verification", + "targetFile": "src/utils.ts", + "risk": "safe", + "tokenBudget": 4000, + "controlMode": "file", + "allowedSymbols": [], + "humanGate": "none", + "humanGateReason": [ + "Trust policy loaded from .ripple/policy.json." + ], + "boundaryRisk": "low", + "policySource": ".ripple/policy.json", + "policyMatches": [], + "policyExplanation": { + "protocol": "ripple-policy-explanation", + "version": 1, + "targetFile": "src/utils.ts", + "policySource": ".ripple/policy.json", + "policyExists": true, + "effectiveMode": "file", + "policyRisk": "none", + "humanGate": "none", + "humanRequired": false, + "allowPrMode": false, + "matchedRules": [], + "why": [ + "Trust policy loaded from .ripple/policy.json.", + "Default control mode: file.", + "No path-specific policy rule matched this file." + ], + "nextSteps": [ + "Add a riskRules entry if this path needs a stronger trust boundary.", + "Use ripple plan to create a saved intent before editing." + ] + }, + "editableFiles": [ + "src/utils.ts" + ], + "contextFiles": [], + "allowedFiles": [ + "src/utils.ts" + ], + "expectedFiles": [ + "src/utils.ts" + ], + "expectedSymbols": [ + "src/utils.ts::funcA", + "src/utils.ts::funcB" + ], + "protectedContracts": [ + "src/utils.ts::funcA", + "src/utils.ts::funcB" + ], + "verificationTargets": [], + "verificationEvidence": [], + "readinessSnapshot": { + "status": "ready", + "enforcementLevel": "ci-gate-ready", + "canGuideAgents": true, + "canDetectDrift": true, + "canBlockInCi": true, + "policyExplicit": true, + "graphOk": true, + "gitOk": true, + "gitIgnoreOk": true, + "ciWorkflowOk": true, + "latestIntentOk": true, + "gaps": [], + "nextSteps": [ + "Run ripple ci --base origin/main --github-annotations." + ] + }, + "why": "src/utils.ts is safe; it imports 0 file(s), is imported by 0 file(s), and has 2 tracked symbol(s). The plan prioritizes direct tests, contract importers, entry points, symbol callers, risky files, recent churn, and task term matches within the token budget." +}