Ralph Upgrade Notes (2026-03-15)
Local State
The local Ralph install at /Users/joshua/.ralph is a script bundle, not a git clone.
Observed before refresh:
1. ralph_import.sh identified itself as Version: 0.9.8
2. claude --version on this machine is 2.1.76, which is compatible with Ralph’s modern CLI checks
Upstream State
Public upstream: - frankbria/ralph-claude-code
Public repo summary currently reports:
1. version v0.9.9
2. dual-condition exit gate requiring explicit EXIT_SIGNAL: true
3. improved premature-exit protection
4. dedicated uninstall.sh
Practical Decision
For Pam, the safe upgrade path was:
1. back up the old local Ralph bundle
2. refresh /Users/joshua/.ralph from upstream
3. keep Pam-specific prompting and PRDs in the Pam repo
4. run Ralph through a repo-local wrapper
Backup created during refresh:
- /Users/joshua/.ralph.backup_20260316_082533
Pam Integration Added
docs/ralph/PROMPT_PAM_RESEARCH.mddocs/prds/PRD_001_eventful_market_observation.mddocs/prds/PRD_002_dislocation_research_sleeves.mddocs/prds/PRD_003_deployment_gate_and_candidate_review.mddocs/prds/PRD_004_ralph_research_operator.mdscripts/run_ralph_pam_research.shscripts/ralph_provider_router.py
Post-Refresh Smoke Test
claude --version/Users/joshua/.ralph/ralph_loop.sh --help./scripts/run_ralph_pam_research.sh
Provider Compatibility
Ralph still assumes Claude-style CLI arguments internally.
Pam now includes a compatibility router that can translate that invocation to Codex:
1. set in .ralphrc:
- CLAUDE_CODE_CMD='python3 scripts/ralph_provider_router.py'
2. choose provider:
- RALPH_PROVIDER='codex'
- or RALPH_PROVIDER='claude'
This keeps Ralph usable even when the local Claude CLI auth path is broken.