Get started
Three commands, then go to sleep.
The product is code-blind: sleepy.run coordinates source-free executor/job state while your client-owned executor invokes models, runs the exact evaluator contract, and retains raw evidence on your machine.
Install the companion CLI
brew install fugue-labs/tap/sleepy sleepy doctor sleepy version
Choose an exact reviewed version from the public release repository, download its versioned installer, inspect it, then run it locally. Do not pipe a mutable branch URL into a shell.
Open client releases →Store the API key when shown; Sleepy stores only its hash. The product is code-blind: source, candidates, prompts, provider calls, tests, benchmarks, raw measurements, and replay evidence stay in the client-owned executor. The hosted service receives source-free scheduling commands and authenticated decision projections only.
Configure the local executor
The provider-neutral executor/job protocol is canonical. The companion client owns the model, mutation, evaluator, evidence, and final apply. MCP sampling has been removed from the MCP protocol entirely; the hosted MCP surface is plain tools for source-free inspection.
export SLEEPY_TOKEN=slpy_... sleepy doctor --check-providers sleepy doctor --project --server https://sleepy.run
After rotating the workspace key, update SLEEPY_TOKEN before starting or resuming a client executor.
From this checkout, run sleepy worker for ./sort.go against https://sleepy.run with benchmark:BenchmarkSort1000. Keep the final change small and report only the re-verified speedup.
Run the local worker
The worker is the source-bearing trust boundary. It checks executor/job capabilities, computes the exact evaluator contract before creating the hosted run, generates and applies candidates locally, runs tests and benchmarks inside the pinned fail-closed OCI sandbox, restores after each candidate, retains raw evidence locally, and reports only a source-free decision projection.
export SLEEPY_TOKEN=slpy_... sleepy worker \ --target ./sort.go \ --server https://sleepy.run \ --eval benchmark:BenchmarkSort1000 \ --population 10 \ --generations 20
The standalone worker uses a workspace API key. A browser session cookie authenticates only the workspace dashboard.
Watch, export, commit
Do not treat the fastest intermediate candidate as the answer. Review the final champion, inspect lineage, and commit only after your own checks pass.
sleepy status <run-id> sleepy watch <run-id> sleepy inspect <run-id> sleepy export <run-id> --lineage git diff go test ./... # Or create a verified, policy-gated PR through authenticated gh: sleepy ci --server https://sleepy.run --base origin/main --create-pr
Run candidate inspection and export on the executor that created the campaign; the hosted ID maps automatically to its private audit record. From another authenticated machine, sleepy status <run-id> --server https://sleepy.run provides source-free lifecycle status only.
- Run reached a terminal state: converged, complete, or stopped with an exportable champion.
- Final champion passed the correctness gate and benchmark verification.
- Diff is small enough to review and does not add suspicious benchmark-specific shortcuts.
- Lineage/export is saved if the result will be shared publicly.
When it does not work
Most first-run failures are missing workspace auth, a missing benchmark, unavailable OCI containment, or an incompatible executor/job service. Run the project doctor first; the support page lists what to include in a report.