Initial commit
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
# Checkpoint: Systemd PATH Fix + Heartbeat Consolidation
|
||||
|
||||
**Date:** 2026-04-06
|
||||
**Session:** Main (Telegram)
|
||||
|
||||
---
|
||||
|
||||
## Context
|
||||
|
||||
Michael asked about whether OpenClaw could see inside the `openclaw.json` gateway config. This led to a broader discussion about heartbeat vs cron for multi-task intelligence gathering (email triage, weather, calendar, news, blog alerts, step/health monitoring).
|
||||
|
||||
---
|
||||
|
||||
## Key Decisions Made
|
||||
|
||||
### 1. Heartbeat Consolidation (✅ Done)
|
||||
|
||||
**Old approach:** 9 separate cron jobs, 6 delivering to Telegram throughout the day.
|
||||
|
||||
**New approach:** 1 consolidated heartbeat every 45 min, 6am–9pm Sydney, with internal checks for:
|
||||
- Home monitor (motion/camera changes)
|
||||
- Email inbox scan (personal emails only)
|
||||
- Weather — Narooma (always report first beat of day; rain ≥10% or gusts ≥30 km/h triggers alert)
|
||||
- Blog RSS scan (new articles)
|
||||
- Real estate morning report (6am only)
|
||||
|
||||
**CRUD operations:**
|
||||
- `Narooma Weather Day Update` cron → **disabled**
|
||||
- All other crons → **left intact** (Michael disabled them himself)
|
||||
- HEARTBEAT.md → **updated** with new weather logic
|
||||
|
||||
### 2. Heartbeat Config Change in openclaw.json (✅ Done)
|
||||
|
||||
**Before:**
|
||||
- Every: 30m
|
||||
- Active hours: 9:00 AM – 10:00 PM
|
||||
|
||||
**After:**
|
||||
- Every: 45m
|
||||
- Active hours: 6:00 AM – 9:00 PM
|
||||
|
||||
**Applied via:** direct JSON edit to `/home/openclaw/.openclaw/openclaw.json` → required manual `sudo systemctl restart openclaw` (Michael ran this)
|
||||
|
||||
### 3. OpenClaw CLI Not in PATH — Root Cause Identified
|
||||
|
||||
**Problem:** OpenClaw CLI (`openclaw`) lives at `/home/openclaw/.npm-global/bin/openclaw` but this directory was missing from the PATH in exec sessions, even though Michael's interactive shell has it set via `~/.bashrc`.
|
||||
|
||||
**Root cause:** systemd services don't source `~/.bashrc`. The `User=openclaw` directive in the systemd unit doesn't trigger a login shell — it just runs the binary directly with a minimal environment.
|
||||
|
||||
**Solution (proposed, pending Michael's action):** Add a drop-in systemd override at:
|
||||
```
|
||||
/etc/systemd/system/openclaw.service.d/path.conf
|
||||
```
|
||||
With content:
|
||||
```
|
||||
[Service]
|
||||
Environment="PATH=/home/openclaw/.npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin"
|
||||
```
|
||||
|
||||
Then reload: `sudo systemctl daemon-reload && sudo systemctl restart openclaw`
|
||||
|
||||
Michael also plans to add additional PATHs to this drop-in as needed.
|
||||
|
||||
---
|
||||
|
||||
## Pending Actions
|
||||
|
||||
| Action | Owner | Status |
|
||||
|--------|-------|--------|
|
||||
| Create systemd drop-in with PATH fix | Michael | Pending |
|
||||
| Restart openclaw gateway after drop-in | Michael | Pending |
|
||||
| Confirm `openclaw` CLI is reachable | Soren | Will verify once done |
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
- All heartbeat checks use `bestEffort: false` except weather which uses `bestEffort: true`
|
||||
- Real estate DB scrape cron (`5139e9b1`) runs independently at 6am — no delivery, just DB update
|
||||
- Security audit cron (`healthcheck:security-audit`) remains untouched — weekly Sunday 3am
|
||||
- Michael confirmed he built the OpenClaw system himself (not auto-installed by a package manager)
|
||||
- OpenClaw version: 2026.4.2
|
||||
Reference in New Issue
Block a user