diff --git a/.ripple/intents/latest.json b/.ripple/intents/latest.json new file mode 100644 index 0000000..46df4c4 --- /dev/null +++ b/.ripple/intents/latest.json @@ -0,0 +1,79 @@ +{ + "protocol": "ripple-change-intent", + "version": 1, + "id": "intent-mrg2yl90-414f539cae", + "createdAt": "2026-07-11T08:06:05.066Z", + "task": "Final Unblock Test", + "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." +} diff --git a/src/utils.ts b/src/utils.ts index 3a350b2..373a34f 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}`; + //allowed } export function funcB(input: string): string { // This function should NOT be changed. return `Processed B: ${input}`; + //rouge } \ No newline at end of file