Back to corpus
research noteexperiment writeup candidatescore 22

Everlasting Loop Protocol (ELP-1) — Mesh-Backed Autonomous Convergence

> **Status:** v1 draft (2026-05-13). Born from honest accounting of the SOOP-2 single-Claude loop's caveats. > **Goal:** Drive multi-day acceptance-criteria convergence without any single point of failure. No daemon, no machine, no session, no model dependency that can kill the loop.

Full HTML reader

Read the full artifact

Open in new tab

Extracted abstract or opening context

> **Status:** v1 draft (2026-05-13). Born from honest accounting of the SOOP-2 single-Claude loop's caveats. > **Goal:** Drive multi-day acceptance-criteria convergence without any single point of failure. No daemon, no machine, no session, no model dependency that can kill the loop. | Caveat | Root cause | ELP solution | |---|---|---| | C1: No visibility into the harness wake queue | ScheduleWakeup is a black-box claim | Supervisor maintains its own queue in Supabase + filesystem; wake claims are independently verifiable | | C2: Wake dies if Claude Code closes | Wake is intra-session | Supervisor runs as launchd plist outside Claude; dispatches work into any available session/pane | | C3: Loop is mine alone to drive | Single-driver pattern | Multi-worker pattern: any of mac1-5 + cloud-vm can pull from the queue; worker failure does not kill the loop | | C4: No external supervisor for stall | Silent failures don't escalate | Stagnation detector pages Mohamed via telegram/SMS after configurable thresholds; failed workers get quarantined via cortex:rules | | Failure | Frequency | Recovery cost | |---|---|---| | Claude Code app closed | hourly | zero (supervisor outside Claude) | | Single machine offline | daily | zero (mesh redistributes to other nodes) | | Specific pane rate-limited | hourly | zero (cortex:rules quarantines pane, work redistributes) | | Worker session hangs mid-batch | per-cycle | <5 min (claim TTL releases; another worker reclaims) | | Supabase unreachable | rare | falls back to filesystem-mirror state | | Tailscale partition | rare | mesh nodes work from local state; reconcile on heal | | Power loss on Mac1 | weeks | mac2/cloud-vm take over supervisor role | | Mohamed unreachable | known | protocol continues; queues escalations for resume | | Bad batch corrupts state | rare | state writes are atomic + journaled; rollback to last good | The protocol has no single component whose failure stalls the loop indefinitely. Every component has a recovery path. Every node has a local copy at `[home-path]`: - `scoreboard.json` — mirror of `soop2_state` row - `queue/pending/<batch-id>.json` — atomic per-batch files - `queue/claimed/<batch-id>.json` — moved here on claim - `queue/completed/<batch-id>.json` — moved on completion - `log/YYYY-MM-DD.jsonl` — daily log files, append-only - `supervisor.heartbeat` — touched every cycle by supervisor

Promotion decision

What has to happen next

Attach run IDs, datasets, metrics, and reproduction commands.

Why this is not always a full paper yet

Corpus pages are public-safe readers for discovered workspace artifacts. They are not automatically final papers. A corpus item becomes a polished paper only after the editable source, evidence checkpoints, references, figures, render path, and release status are attached through the paper schema.