Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .ripple/history.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,23 @@
"type": "baseline_snapshot",
"source": "initial_scan",
"metadata": "files:1|symbols:0"
},
{
"timestamp": 1783386455266,
"type": "symbol_created",
"source": "src/utils.ts::funcA",
"kind": "function",
"symbolHash": "b204d26dde695fc170741b8cd9d31c6ef9f06dbb",
"layer": "logic",
"changeGroup": "save_1783386453275_lgmed"
},
{
"timestamp": 1783386455266,
"type": "symbol_created",
"source": "src/utils.ts::funcB",
"kind": "function",
"symbolHash": "ba29020184f7cfc7baf4821814deabe2cc8d11ac",
"layer": "logic",
"changeGroup": "save_1783386453275_lgmed"
}
]
81 changes: 81 additions & 0 deletions .ripple/intents/latest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{
"protocol": "ripple-change-intent",
"version": 1,
"id": "intent-mr9y8zqx-73886348af",
"createdAt": "2026-07-07T01:07:35.286Z",
"task": "Test block",
"targetFile": "src/utils.ts",
"risk": "safe",
"tokenBudget": 4000,
"controlMode": "function",
"allowedSymbols": [
"src/utils.ts::funcA"
],
"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": "function",
"policyRisk": "none",
"humanGate": "none",
"humanRequired": false,
"allowPrMode": false,
"matchedRules": [],
"why": [
"Trust policy loaded from .ripple/policy.json.",
"Default control mode: file.",
"Requested control mode overrides policy default: function.",
"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"
],
"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."
}
Loading