← ClaudeAtlas

vibey-engine-adapterslisted

How vibey drives claudeloop, codexloop, cursorloop, and agyloop — the engine adapter pattern, argv building, and the conformance suite.
adammatthewsteinberger/vibey · ★ 3 · API & Backend · score 70
Install: claude install-skill adammatthewsteinberger/vibey
# vibey engine adapters Vibey drives four autonomous session runners: `claudeloop`, `codexloop`, `cursorloop`, `agyloop`. Each has its own CLI surface, effort vocabulary, state directory, and done marker. Vibey abstracts these differences via `EngineAdapter`, a `Protocol` defined in `application/interfaces/engines.py` and re-exported from `application/ports.py`. ## The adapter pattern `EngineAdapter` (read the real definition before relying on this summary — it's short): - `descriptor: EngineDescriptor` — a property, the engine's static facts - `async def preflight() -> PreflightResult` — runs `<engine> doctor`; classifies auth + availability - `async def start(spec: RunSpec) -> RunHandle` — builds argv from `descriptor.effort_projection` + isolation flags, spawns the runner, returns a handle over its run directory - `def tail(handle: RunHandle) -> AsyncIterator[EngineEvent]` — streams the runner's `events.jsonl`, translated into vibey's own event vocabulary - `async def send_prompt(handle, text, *, now: bool) -> None` — writes the runner's control-plane inbox - `async def stop(handle: RunHandle) -> StopSummary` — soft-stops the run; collects `stop-summary.md` and the final snapshot - `async def snapshot(handle: RunHandle) -> SnapshotRef | None` `start()` internally calls `infrastructure/engines/argv.py::build_argv()` — that's a plain function, not an adapter method; it takes both the descriptor and the `RunSpec` (`build_argv(descriptor, spec)`), not just the