Keel
The AI workflow builder — describe what you want in plain words; Keel plans, builds, pre-flies, and proposes. You decide what applies.
Keel is GoRunner's AI builder. Open it from anywhere — the hub at /keel, the builder's side panel, or "Fix with Keel" on a failed run — and talk to it the way you'd brief a colleague. Vague is fine. Typos are fine. "when a order comes in check if the customer exists, we have an api for that, and if its over 500 me or my partner has to approve it first" is a perfectly good spec.
What makes it different
Keel cannot write anything by itself. Its output is always a proposal — a reviewable bundle of changes with a visual diff, rendered as a card with Preview / Discard / Apply. What happens to a proposal is governed by the autonomy dial you control per conversation:
| Level | Behavior |
|---|---|
| Ask | Everything is a card; you click Apply. |
| Draft | Draft edits apply automatically (previewable, undoable, versioned, inert until publish); anything touching production is a card. |
| Operate | Keel can also run operate-class actions — unless the turn touched untrusted external data, which always cards. |
| Full | Adds destructive acts, only when you explicitly instructed them. Self-initiated destruction is refused outright. |
Whatever the level, publish remains a human's click unless you say otherwise, and every apply is audited with full attribution.
Grounded, not guessy
- Every proposal is validated by the same validator the publish gate runs — a piece id, field name or condition operator that doesn't exist is rejected and repaired before you ever see the card.
- The flight simulator dry-runs proposed wiring against declared sample data through the real expression resolver, so "this expression will carry nothing" is caught before apply, on a flow that has never run.
- When you ask for a service there is no piece for, Keel says so plainly and builds it with the generic HTTP piece instead — it never invents a connector.
- Diagnosis is proof-driven: "Fix with Keel" on a failed run reads that run's exact payload and tests the fix against it (side-effecting steps are never auto-tested — actions declare their blast radius, and Keel honors it).
Where it runs
Keel executes on your workers, against your own model provider — Anthropic, OpenAI, Azure, Google, or any OpenAI-compatible endpoint including local Ollama — configured in Settings → Organization → AI with the key sealed like any other credential. Budgets, rate limits and a shapes-only privacy mode (run values never enter prompts) are per-organization settings.