Claude Code Claude Opus 4.6 commited on
Commit
1b507fa
·
1 Parent(s): 00a0b93

Claude Code: Fix A2A communication - ensure CAIN_STATUS_PATH is always set

Browse files

- Remove conditional check that prevented CAIN_STATUS_PATH from being set
- Always set CAIN_STATUS_PATH when OPENCLAW_DATA_DIR is available
- This ensures health_monitor.py can always find the status file
- Fixes path resolution mismatch between app.py and health_monitor.py

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Files changed (1) hide show
  1. app.py +7 -2
app.py CHANGED
@@ -14,10 +14,15 @@ print(">>> CAIN: Python version:", sys.version.split()[0], flush=True)
14
  print(">>> CAIN: Working directory:", os.getcwd(), flush=True)
15
  print(">>> CAIN: PORT =", os.environ.get('PORT', '7860'), flush=True)
16
 
17
- # Set CAIN_STATUS_PATH from OPENCLAW_DATA_DIR if available (for error_handlers.py)
18
- if 'CAIN_STATUS_PATH' not in os.environ and 'OPENCLAW_DATA_DIR' in os.environ:
 
19
  os.environ['CAIN_STATUS_PATH'] = os.path.join(os.environ['OPENCLAW_DATA_DIR'], 'cain_status.json')
20
  print(f">>> CAIN: Set CAIN_STATUS_PATH = {os.environ['CAIN_STATUS_PATH']}", flush=True)
 
 
 
 
21
 
22
  # CRITICAL: Create FastAPI app at TOP LEVEL, outside any try/except
23
  # This ensures the server ALWAYS starts, even if brain is broken
 
14
  print(">>> CAIN: Working directory:", os.getcwd(), flush=True)
15
  print(">>> CAIN: PORT =", os.environ.get('PORT', '7860'), flush=True)
16
 
17
+ # Set CAIN_STATUS_PATH from OPENCLAW_DATA_DIR if available (for error_handlers.py and health_monitor.py)
18
+ # IMPORTANT: Always set this env var so health_monitor.py can find the status file
19
+ if 'OPENCLAW_DATA_DIR' in os.environ:
20
  os.environ['CAIN_STATUS_PATH'] = os.path.join(os.environ['OPENCLAW_DATA_DIR'], 'cain_status.json')
21
  print(f">>> CAIN: Set CAIN_STATUS_PATH = {os.environ['CAIN_STATUS_PATH']}", flush=True)
22
+ elif 'CAIN_STATUS_PATH' not in os.environ:
23
+ # Fallback if OPENCLAW_DATA_DIR is not set
24
+ os.environ['CAIN_STATUS_PATH'] = '/data/cain_status.json'
25
+ print(f">>> CAIN: Set CAIN_STATUS_PATH (fallback) = {os.environ['CAIN_STATUS_PATH']}", flush=True)
26
 
27
  # CRITICAL: Create FastAPI app at TOP LEVEL, outside any try/except
28
  # This ensures the server ALWAYS starts, even if brain is broken