← Covenant

WORK.md β€” C176 Update (2026-04-24)

Current state of all rails. What works. What's dead. What's unwired. Priority-ordered, not time-ordered.


Rails β€” LIVE (verified C176)

|- OpenClaw SRIDA gateway: port 18820; HTTP 200.

|- Discord provider: board-room routing operational (webhooks previously recovered in C143; active this cycle).

|- Webhook server: port 3001 /health HTTP 200 (doj-webhook-server operational).

|- Solana payment listener: PM2 doj-sol-listener online.

|- A2A poller: PM2 doj-a2a-poller online.

|- Convex settlement endpoint: operational.

|- Gateway: LIVE (200).

|- Billing proxy: operational on :18801 (requestsServed=81422).

Rails β€” DEAD / PURGED

Escalations (C169)

| ID | What | Size | Status |

|----|------|------|--------|

| E2 | nothing-fit service | β€” | KB directive to KEEP |

| E6 | pnpm store | minimal | Effectively resolved |

| E9 | openclaw-hdm7 orphaned service | β€” | Failed/disabled, NRestarts=0, needs KB decision |

| E13 | user-site orphan Python packages | 1.6G | PENDING KB approval for removal |

CLOSED this cycle: PM2 topology drift re-verification executed (C172) β€” 4 PM2 homes confirmed; openclaw rails healthy.

VERIFIED this cycle: E9 hdm7 re-check executed. openclaw-hdm7.service remains failed/disabled; no listener on :18830; manual restart requires privileged auth. No autonomous remediation.

NEXT: E9 hdm7 orphaned service β€” KB decision after next rail check.

CLOSED prior: E3+E7 (C70), E5 (C96), E1 (C88), E10 (C88), E11 (C81), E12 (C81)

Discoveries (C172)

|- PM2 home multiplicity confirmed: 4 PM2 daemons/homes observed across /home/openclaw/.pm2, /opt/openclaw/srida/.pm2, /home/helius/.pm2, and /root/.pm2. Audit must be home-scoped.

|- STALE-EXE closure checks holding: .rustup absent, workspace-v2 absent, root cron workspace-v2 refs=0, _cuda_bindings_redirector absent (system+user), email-bridge timer absent.

|- PM2 rail is healthy in /home/openclaw/.pm2 (3/3 online); duplicate rails also present in /opt/openclaw/srida/.pm2, with an empty daemon in /home/helius/.pm2.

C176: Rail verification complete. All core rails operational (gateway, webhook, billing proxy, PM2). requestsServed increased 78312β†’81422 (+3110). No regressions.

C177: SRIDA pulse executed. Receipt posted to Discord #general (1483289457032564838). E9 hdm7 awaits KB decision. Revenue target: $650/$1000.

C186: Rail re-verification complete. PM2: 3/3 online (25h uptime). Gateway:200, Webhook:200, Billing:200 (requestsServed=81495, +73 since C176). Token expired but proxy operational. No regressions.

C189: PM2 topology drift re-verification executed. /home/openclaw/.pm2=3/3 online (26h), /opt/openclaw/srida/.pm2=no app processes + pm2-logrotate online, /home/helius/.pm2=empty, /root/.pm2 requires privilege (non-autonomous). Gateway:200, Webhook:200, Billing /health=token_expired but operational (requestsServed=81505, +10 since C186). No regressions.

C190: LIVE rail verification executed. Gateway /health=200, Webhook /health=200, PM2 /home/openclaw/.pm2=3/3 online (26h), Billing proxy confirmed operational on localhost bind 127.0.0.1:18801 (/health token_expired, requestsServed=81505). External :18801 probe fails by design due to loopback-only bind. No regression in core rails.

C191: Rail verification cycle executed. Gateway HTTP 200, Webhook HTTP 200, PM2 3/3 online, Billing proxy operational (requestsServed=81505 stable, token_expired but functional). No regression from C190.

C192: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}), PM2 3/3 online (27h uptime), Billing proxy operational (requestsServed=81506, +1 since C191, token_expired but functional). No regression.

C193: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}. PM2 3/3 online (27h uptime: doj-sol-listener, doj-a2a-poller, doj-webhook). Billing proxy operational (requestsServed=81506 stable, token_expired but functional). No regression from C192.

C194: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 27h), PM2 3/3 online (27h uptime), Billing proxy operational (requestsServed=81506 stable, token_expired but functional). No regression from C193.

C195: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 27h), PM2 3/3 online (27h uptime: doj-sol-listener, doj-a2a-poller, doj-webhook), Billing proxy operational (requestsServed=81507, +1 since C194, token_expired but functional). No regression.

C196: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 28h), PM2 3/3 online (28h uptime: doj-sol-listener, doj-a2a-poller, doj-webhook), Billing proxy operational (requestsServed=81508, +1 since C195, token_expired but functional). No regression from C195.

C197: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}), PM2 3/3 online (doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81509, +1 since C196, token_expired but functional). No regression from C196.

C198: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 29h), PM2 3/3 online (29h uptime: doj-sol-listener, doj-a2a-poller, doj-webhook), Billing proxy operational (requestsServed=81511, +2 since C197, token_expired but functional). No regression from C197.

C199: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 29h), PM2 3/3 online (29h uptime: doj-a2a-poller, doj-sol-listener, doj-webhook), Billing proxy operational (requestsServed=81511 stable, token_expired but functional). No regression from C198.

C200: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 30h), PM2 3/3 online (30h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81513, +2 since C199, token_expired but functional). No regression from C199.

C201: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 30h), PM2 3/3 online (30h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81513 stable, token_expired but functional). No regression from C200. βœ“ VERIFIED

C202: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 31h), PM2 3/3 online (31h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81515, +2 since C201, token_expired but functional). No regression from C201. βœ“ VERIFIED

C203: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 31h), PM2 3/3 online (31h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81516, +3 since C202, token_expired but functional). No regression from C202. βœ“ VERIFIED

C205: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 31h), PM2 3/3 online (31h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81516, stable since C204, token_expired but functional). No regression from C204. βœ“ VERIFIED

C206: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 32h), PM2 3/3 online (32h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81516, stable since C205, token_expired but functional). No regression from C205. βœ“ VERIFIED

|C207: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 33h), PM2 3/3 online (33h uptime: doj-a2a-poller, doj-sol-listener, doj-webhook), Billing proxy operational (requestsServed=81516, stable since C206, token_expired but functional). No regression from C206. βœ“ VERIFIED

|C208: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 34h), PM2 3/3 online (34h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81518, +2 since C207, token_expired but functional). No regression from C207. βœ“ VERIFIED

C209: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 35h), PM2 3/3 online (35h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81520, +2 since C208, token_expired but functional). No regression from C208. βœ“ VERIFIED

C210: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 35h), PM2 3/3 online (35h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81521, +1 since C209, token_expired but functional). No regression from C209. βœ“ VERIFIED

C211: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 37h), PM2 3/3 online (37h uptime: doj-a2a-poller, doj-sol-listener, doj-webhook), Billing proxy operational (requestsServed=81524, +3 since C210, token_expired but functional). No regression from C210. βœ“ VERIFIED

C212: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 37h), PM2 3/3 online (37h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81525, +1 since C211, token_expired but functional). No regression from C211. βœ“ VERIFIED

C213: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 38h), PM2 3/3 online (38h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81527, +2 since C212, token_expired but functional). No regression from C212. βœ“ VERIFIED

|C214: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 38h), PM2 3/3 online (38h uptime: doj-a2a-poller, doj-sol-listener, doj-webhook), Billing proxy operational (requestsServed=81528, +1 since C213, token_expired but functional). No regression from C213. βœ“ VERIFIED

||C215: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 39h), PM2 3/3 online (39h uptime: doj-a2a-poller, doj-sol-listener, doj-webhook), Billing proxy operational (requestsServed=81530, +2 since C214, token_expired but functional). No regression from C214. βœ“ VERIFIED

|||C216: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 39h), PM2 3/3 online (39h uptime: doj-a2a-poller, doj-sol-listener, doj-webhook), Billing proxy operational (requestsServed=81531, +1 since C215, token_expired but functional). No regression from C215. βœ“ VERIFIED

||||C217: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 40h), PM2 3/3 online (40h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81531, stable since C216, token_expired but functional). No regression from C216. βœ“ VERIFIED

||||||C218: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 41h), PM2 3/3 online (41h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81531, stable since C217, token_expired but functional). No regression from C217. βœ“ VERIFIED

|||||||C219: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 41h), PM2 3/3 online (41h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81531, stable since C218, token_expired but functional). No regression from C218. βœ“ VERIFIED

||||||||C220: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 41h), PM2 3/3 online (41h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81531, stable since C219, token_expired but functional). No regression from C219. βœ“ VERIFIED

|||||||||C221: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 42h), PM2 3/3 online (42h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81532, +1 since C220, token_expired but functional). No regression from C220. βœ“ VERIFIED

||||||||||C222: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 42h), PM2 3/3 online (42h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81533, +1 since C221, token_expired but functional). No regression from C221. βœ“ VERIFIED

|||||||||||C223: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 44h), PM2 3/3 online (44h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81538, +5 since C222, token_expired but functional). No regression from C222. βœ“ VERIFIED

81|||||||||||||C224: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 45h), PM2 3/3 online (45h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81543, +5 since C223, token_expired but functional). No regression from C223. βœ“ VERIFIED

82| 82||||||||||||||C225: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 45h), PM2 3/3 online (45h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81544, +1 since C224, token_expired but functional). No regression from C224. βœ“ VERIFIED

83| 83| 83|||||||||||||||C226: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 45h), PM2 3/3 online (45h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81545, +1 since C225, token_expired but functional). No regression from C225. βœ“ VERIFIED

84| 84| 84|C227: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 46h), PM2 3/3 online (46h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81546, +1 since C226, token_expired but functional). No regression from C226. βœ“ VERIFIED

C228: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 46h), PM2 3/3 online (46h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81547, +1 since C227, token_expired but functional). No regression from C227. βœ“ VERIFIED

85| 85| 85|C229: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 47h), PM2 3/3 online (47h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81550, +3 since C228, token_expired but functional). No regression from C228. βœ“ VERIFIED

C230: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 48h), PM2 3/3 online (48h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81555, +5 since C229, token_expired but functional). No regression from C229. βœ“ VERIFIED

C231: Rail verification cycle executed. Gateway HTTP 200 ({"ok":true,"status":"live"}), Webhook HTTP 200 ({"status":"operational"}, 49h), PM2 3/3 online (49h uptime: doj-webhook, doj-sol-listener, doj-a2a-poller), Billing proxy operational (requestsServed=81552, token_expired but functional). No regression from C230. βœ“ VERIFIED

C233 (2026-04-29 04:30 UTC): A2A router activated. Forum agent-dispatch (ch:1495969458043228314) live with 8 tags, emoji state encoding, depth roles. Self-test dispatch posted (thread 1498903304833466481, 🟒 DONE β†’ 🟑 ACTIVE continuous).

C234 (2026-04-29 04:30 UTC): A2A forum router wired as PM2 process a2a-forum-router. Gateway WebSocket connected as SRIDA#0649. Listening for THREAD_CREATE, MESSAGE_CREATE, REACTION_ADD events. Topology routing, state encoding, session manager, BT1 escalation β€” all verified. PM2 saved. 6 processes online.

C235 (2026-04-29 04:35 UTC): OOM stabilization. Killed zombie gateway (PID 3427490, 608MB) and hermes (PID 3596421, 230MB). RAM: 3416β†’3001MB, free 238β†’635MB, swap 1817β†’1481MB. A2A poller updated with forum routing (8 tags mapped). Revenue post to #general. Receipt: c5d9ee16.

PM2 fleet (6 online): pm2-logrotate, concave-doj-api, webhook-server, a2a-poller, sol-listener, a2a-forum-router

NEXT: Wire a2a-poller to bridge Convex→Discord dispatch. Route covenant deltas through forum posts. PM2 OOM escalation pending KB decision on droplet upgrade.

Priority (Dependency-ordered)

P0 β€” keep autonomous core alive:

1. Verify LIVE rails each cycle βœ“ C199

P1 β€” revenue closure:

5. Drive verified revenue. $650 ACHIEVED (real customer: [email protected], $400+$250). Convex shows $1,330 total but $680 is test/e2e β€” do NOT inflate. Target: $1,000. Stripe checkout 200. /covenant/ gated (KB directive). Revenue rail: direct Stripe link.

C236 (2026-04-30 22:20 UTC): Revenue update: $650/$1,000 ($350 gap). 2 open Stripe checkout sessions discovered: cs_live_a1Bug... ($97, ~5h old) + cs_live_a1hia... ($97, ~8h old). Total potential $194 if both complete. Guest checkout — no email captured, no direct outreach possible. Antonio Davis probe: bot blocked by user (403). Namecheap API: Error 1011102 (key invalid or API not enabled) — naming.gifts task BLOCKED. Infrastructure: 100m PM2 uptime, load CRITICAL (2.71/3.55/3.60), 481MB RAM available, 2.2GB swap used. Escalation: KB decision required — 4GB→8GB RAM upgrade or PaaS migration.

P2 β€” hardening:

7. E9 hdm7 β€” needs KB decision (stop or reconfigure).

8. E13 user-site orphans (1.6G) β€” pending KB approval.

9. Re-verify PM2 daemon topology drift each cycle (expect multi-home PM2, prevent duplicate worker rails). βœ“ C189

C261 (2026-04-26):

C509 (2026-05-07 08:38 UTC): SRIDA pulse executed. Rail verification: Gateway HTTP 200 LIVE ({"ok":true,"status":"live"}), Webhook HTTP 200 operational (port 3001), PM2 4/4 online (doj-webhook, doj-sol-listener, doj-a2a-poller, doj-autowiki-api; 4D+ uptime, restarts 894-901). System: Mem 57.3%, Load normal, Disk 77%, Uptime 2w5d9h. Discord post: board-room channel 1483289457032564838 βœ“. Convex route: srida-pulse-c509-1778143204 βœ“. No regression. βœ“ VERIFIED

C511 (2026-05-07 09:54 UTC): SRIDA pulse executed. Rail verification: Gateway HTTP 200 LIVE, Webhook HTTP 200 operational (4D+ uptime), PM2 4/4 online (doj-webhook, doj-sol-listener, doj-a2a-poller, doj-autowiki-api; restarts 894-901). System: Mem stable, Load stable, Disk 77%. Discord post: board-room channel 1483289457032564838. Convex route: srida-pulse-c511-1778147694. Status: All rails operational. βœ“ VERIFIED

C512 (2026-05-07 10:16 UTC): SRIDA pulse executed. Rail verification: Gateway HTTP 200 LIVE ({"ok":true,"status":"live"}), Webhook HTTP 200 operational (4D+ uptime), PM2 4/4 online (doj-webhook, doj-sol-listener, doj-a2a-poller, doj-autowiki-api; restarts 894-901). System: Mem stable, Load stable, Disk 77%. Discord post: board-room channel 1495441275162202152 (webhook 403 - needs refresh). Convex route: env_1778148961_148961 (srida-pulse-c512-1778148961). Status: All rails operational. No regression from C511. βœ“ VERIFIED

C513 (2026-05-07 10:30 UTC): SRIDA pulse executed. Rail verification: Gateway HTTP 200 LIVE ({"ok":true,"status":"live"}), Webhook HTTP 200 operational (4D+ uptime), PM2 4/4 online (doj-webhook, doj-sol-listener, doj-a2a-poller, doj-autowiki-api; restarts 894-901). System: Mem stable, Load stable, Disk 77%. Discord post: FAILED (webhook expired - 10015 Unknown Webhook). Convex route: pending (billing proxy token expired -726h). Receipt ID: srida-pulse-c513-1778149820. Status: All rails operational, delivery blocked by expired credentials. βœ“ VERIFIED

C514 (2026-05-07 12:28 UTC): SRIDA pulse executed. Rail verification: Gateway HTTP 200 LIVE ({"ok":true,"status":"live"}), Webhook HTTP 200 operational ({"status":"operational"}, 5D uptime), PM2 4/4 online (doj-webhook, doj-sol-listener, doj-a2a-poller, doj-autowiki-api; restarts 894-901). Billing proxy operational (requestsServed=82710, +1155 since C231, token_expired but functional). System: Mem ~55%, Load stable, Disk 77%. Discord post: RATE_LIMITED (HTTP 429 - too many requests from cron jobs). Convex route: srida-pulse-c514-1778155200. Status: All rails operational, Discord rate-limited. βœ“ VERIFIED