v0.9 — sea trials

A coding agent that works the night watch.

Hand Ostarev the ticket before you log off. It holds one bearing through plan, edit, test and review, inside your real editor, with every step on the log. By first light the pull request is waiting.

Local-first. Any model. No babysitting.

macOS · Linux
curl -fsSL https://ostarev.dev/install | sh

Works with any model: Claude, GPT, Gemini, Llama, Mistral, Qwen, DeepSeek, Kimi, Ollama.

02Hand-off20:10

Hand it the ticket at dusk.

Before it touches a line, Ostarev charts the whole repository: packages, services, tests, even the flaky one everybody skips. Then it commits to a single bearing you can read in ten seconds.

  1. 01

    Brief

    Paste a ticket, link an issue or just describe it. Ostarev asks the two questions that matter and none that don’t.

  2. 02

    Chart

    Your language servers index every symbol. Ostarev moves by definition and reference, not by grep and hope.

  3. 03

    Bearing

    One heading, four waypoints, a deadline. Approve it and close the laptop.

ostarev — ~/tidewater/billing zsh · 96×28
~/tidewater/billing (main)
ostarev sail "Move billing webhooks onto Events v2" --until 07:00
charting 412 files · 38 packages · 3 services done
soundings 1,284 tests · tsc strict · 81.4% cov done
hazards 2 deprecated APIs · 1 flaky test noted
bearing 047° webhooks → Events v2
1 events client adapter packages/billing
2 replay store, idempotent keys services/ledger
3 backfill job, dry run first jobs/backfill
4 retire v1 handlers behind a flag apps/api
hold this bearing until 07:00? [Y/n] y
bearing set. Ostarev has the watch. Close the laptop.

03Instruments20:20

Every instrument on the bridge.

Ostarev doesn’t squint at your codebase from outside. It drives the tools you already trust, wired in rather than bolted on.

  • 03.1

    Chart

    A living map of every symbol, built by your language servers. Ostarev navigates by definition and reference.

    38 pkgs · 9,412 symbols

  • 03.2

    Helm

    Runs inside VS Code, JetBrains, Zed and Neovim over LSP and DAP. Your refactors, formatters and keybindings.

    lsp · dap · 4 editors

  • 03.3

    Soundings

    Every edit is followed by the narrowest test run that covers it. Red means stop. Nothing gets skipped.

    median 212 ms

  • 03.4

    Log

    Every tool call, diff and decision is timestamped and replayable. Read the night back like a ship’s log.

    1 entry / action

  • 03.5

    Crew

    Sub-agents work in parallel, each in its own git worktree. Only work that passes its soundings comes aboard.

    up to 16 hands

  • 03.6

    Anchor

    A checkpoint at every waypoint. Haul back to any of them, with files, terminal and context, in one keystroke.

    ⌘ ⇧ Z to any fix

04Bearing20:40

Most agents drift. Ostarev holds a bearing.

Long tasks rarely fail loudly. They wander: a refactor nobody asked for, a test quietly skipped, a dependency bumped “while we’re here.” Every thirty minutes Ostarev re-reads the ticket, measures how far it has drifted from the plan and corrects course. If it can’t, it drops anchor and leaves you a note.

rhumb line /rʌm laɪn/ n.
A course that crosses every meridian at the same angle. Rarely the shortest way. Always the way you meant to go.
  • 94%

    of overnight runs finish inside the approved plan

  • 0.6°

    mean drift from the bearing, checked every 30 minutes

  • 3 min

    median morning review, because the log reads like prose

  • Sea trials, 1,200 overnight tasks across 41 repositories. Q3 2026.

05The night21:00 → 06:00

Nine hours, one heading.

This is one real night from the log, lightly trimmed. Scroll to stand the watch.

  1. plan

    Chart read, bearing set

    412 files indexed. Plan approved at 047°.

  2. edit

    Adapter compiled

    214 call sites moved onto the Events v2 client.

    +1,284 −912

  3. test

    Three soundings red

    Idempotency keys collide on retried deliveries.

  4. drift

    Course corrected 3.1°

    Reverted an unrequested refactor of ledger/format.ts.

  5. crew

    Crew of four dispatched

    Backfill, docs, flag cleanup and a load test, each in its own worktree.

  6. data

    Backfill dry run

    1.8 M historical events replayed. Zero mismatches.

  7. fix

    Flaky test, found and fixed

    invoice.spec.ts assumed the server lived in UTC. It doesn’t.

  8. test

    All soundings green

    1,291 tests passing, none skipped.

  9. pr

    Pull request #4182 opened

    With the night’s log attached, in plain English.

  10. done

    Signal sent, anchor dropped

    Summary posted to #billing. Ostarev stands down.

06Signals06:30

Signals from the morning watch.

“I hand it the gnarly migration at six. At nine the next morning there’s a pull request, and a log I can actually read.”

Filip Karamazov Staff Engineer · Tidewater

Kept the watch last night

Tidewater, Northlight, Saltworks, Halyard, Brine & Co, Osprey, Lantern and Kestrel.

07Charter07:15

Charter a watch.

Every plan runs on your machine. Your code only leaves it if you point Ostarev at a remote model.

  • Art. I

    Deckhand

    Free forever

    For side projects and curious evenings.

    1. Local runs, bring your own key
    2. One agent, one worktree
    3. Three overnight runs a week
    4. The full ship’s log
    Install tonight
  • Art. III

    Fleet

    Let’s talk annual

    For teams that ship while the office is dark.

    1. A crew of sixteen, shared charts
    2. SSO, SCIM and audit-log export
    3. Self-hosted and air-gapped models
    4. A named harbour pilot for support
    Book a call

08Landfall08:00

Ostarev has the watch.

Go outside.

Install it in one line tonight. Wake up to a green build tomorrow.

macOS · Linux
curl -fsSL https://ostarev.dev/install | sh
Star it on GitHub