# 2026-06-12 00:45 UTC — Heartbeat Health Check (caught a real n8n issue)

## Service check (all 200 OK)
- cars:5060 ✓
- paperclip:3100 ✓
- n8n:5678 ✓ (container up)
- openclaw:18789 ✓ (via Tailscale)
- dashboard:5000 ✓

Disk: 69% / 62G free. Uptime 3w5d2h. Load: 1m=0.52 5m=9.22 15m=80.96 (already settling).

## Real issue caught: n8n restart broke SocialSync workflows

- n8n container restarted at **2026-06-12 00:25:40 UTC** (exit code 0 — clean restart, reason unknown)
- On restart, **3 SocialSync workflows failed to activate** with the same TypeError:
  - SocialSync - AI Content Generator (6829c6ff-...)
  - SocialSync - Engagement Auto-Reply (929a4473-...)
  - SocialSync - Google Sheet Queue Processor (028f612f-...)
- The other 3 (Master Orchestrator, Multi-Platform Publisher, Workspace Manager) will fail on next retry tick — all 6 use the same node type
- **Root cause:** `n8n-nodes-base.function v2` (legacy Function node) was **removed in n8n 2.x**. The container runs `n8nio/n8n:2.20.7`. Stack trace:
  ```
  TypeError: Cannot read properties of undefined (reading 'execute')
    at shouldAssignExecuteMethod (utils.ts:88:13)
    at NodeTypes.getByNameAndVersion (node-types.ts:88:32)
    at new Workflow (workflow.ts:95:30)
    at ActiveWorkflowManager.add (active-workflow-manager.ts:696:15)
  ```
  Node-type registry can't find the `function` node → workflow can't be built → fails to activate.

## Fix (manual — needs Larry)
Replace `n8n-nodes-base.function` with `n8n-nodes-base.code` in all 6 SocialSync workflows. The JS is mostly the same — Function node used `functionCode` and returned `[ {json: ...} ]`; Code node uses `javascript` and a function returning items array. Migration is mostly mechanical, but each function's code needs verification.

Could also:
- Revert n8n image to a pre-2.x version (riskier, more break)
- Use n8n's built-in `n8n migrate` command if available

Logged to /var/log/larry-notifications.log (silent per Larry's preference for cron pings; this is real and in the log).
