fix: ralph fixed it, commiting cached file for reference#86
fix: ralph fixed it, commiting cached file for reference#86Jacky040124 wants to merge 1 commit intoSTRRL:masterfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR addresses Issue #84, which involves fixing tailnet isolation to ensure that nodes belonging to different users are properly isolated. The fix adds defense-in-depth validation by populating the Realm field in the backend's ListNodes method and implementing filtering at the service layer.
Changes:
- Added
Realmfield population inTailscaleMesh.ListNodes()to match the existingGetNode()behavior - Implemented defense-in-depth filtering in the service layer that validates each node's realm matches the expected Headscale user
- Added comprehensive test coverage with 4 test cases covering cross-realm isolation scenarios
- Included Ralph AI assistant configuration files and logs (though these should ideally be gitignored)
Reviewed changes
Copilot reviewed 17 out of 20 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/meshbackend/tailscale/tailscale_mesh.go | Adds Realm field population in ListNodes method to enable service-layer validation |
| internal/app/coordinator/service/nodes.go | Implements defense-in-depth realm filtering with warning logs for mismatched nodes |
| internal/app/coordinator/service/nodes_test.go | New test file with 4 comprehensive test cases for realm isolation |
| .ralphrc | Ralph AI assistant configuration file (should be gitignored) |
| .ralph/status.json | Ralph status tracking file (should be gitignored) |
| .ralph/progress.json | Ralph progress tracking file (should be gitignored) |
| .ralph/logs/ralph.log | Ralph execution logs (should be gitignored) |
| .ralph/logs/claude_output_2026-01-29_17-00-59.log | Claude AI session logs (should be gitignored) |
| .ralph/logs/claude_output_2026-01-29_16-55-51.log | Claude AI session logs (should be gitignored) |
| .ralph/fix_plan.md | Ralph fix plan documentation (should be gitignored) |
| .ralph/PROMPT.md | Ralph prompt instructions (should be gitignored) |
| .ralph/AGENT.md | Ralph agent build instructions (should be gitignored) |
| .ralph/.ralph_session_history | Ralph session history (should be gitignored) |
| .ralph/.ralph_session | Ralph session state (should be gitignored) |
| .ralph/.last_reset | Ralph reset tracking (should be gitignored) |
| .ralph/.exit_signals | Ralph exit signals (should be gitignored) |
| .ralph/.circuit_breaker_state | Ralph circuit breaker state (should be gitignored) |
| .ralph/.circuit_breaker_history | Ralph circuit breaker history (should be gitignored) |
| .ralph/.call_count | Ralph API call tracking (should be gitignored) |
| .claude/settings.local.json | Claude AI local settings update |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if n.GetUser() != nil { | ||
| node.Realm = n.GetUser().GetName() | ||
| } |
There was a problem hiding this comment.
The PR title contains a spelling error: "commiting" should be "committing" (with double 't').
| # Ralph Configuration for wonder-mesh-net | ||
|
|
||
| # Project Identity | ||
| PROJECT_NAME="wonder-mesh-net" | ||
| PROJECT_TYPE="go" | ||
|
|
||
| # Loop Settings | ||
| MAX_CALLS_PER_HOUR=100 | ||
| CLAUDE_TIMEOUT_MINUTES=15 | ||
| CLAUDE_OUTPUT_FORMAT="json" | ||
|
|
||
| # Tool Permissions | ||
| ALLOWED_TOOLS="Write,Read,Edit,Bash(git *),Bash(go *),Bash(make *)" | ||
|
|
||
| # Session Management | ||
| SESSION_CONTINUITY=true | ||
| SESSION_EXPIRY_HOURS=24 | ||
|
|
||
| # Task Sources | ||
| TASK_SOURCES="local" | ||
|
|
||
| # Circuit Breaker Thresholds | ||
| CB_NO_PROGRESS_THRESHOLD=3 | ||
| CB_SAME_ERROR_THRESHOLD=5 | ||
| CB_OUTPUT_DECLINE_THRESHOLD=70 |
There was a problem hiding this comment.
The Ralph automation configuration files and logs in the .ralph directory should likely be added to .gitignore to prevent AI assistant artifacts from being committed to the repository. These files contain temporary session data, logs, and status information that are specific to local development workflows and should not be version controlled.
|
thanks! it helps! |
|
as #87 merged, I am going to close this PR I find that the official ralph plugin does not work well with everything-claude-code. anyway thanks a lot! |
No description provided.