Skip to content

v1.0.0 — the v1 contract, implemented

Choose a tag to compare

@paveler paveler released this 15 Oct 15:01
· 45 commits to main since this release

First public release of theloop: an agent loop as a stateless HTTP service.

  • Contract — SPEC.md, contract_version: "1": one POST /runs = one run, everything in the request; SSE with replay; synchronous cancel; at-least-once callback with GET /runs/{id} recovery and an ack-held session lock.
  • Loop — step by step; tools only after finish-step; limits at the step boundary; repeated-call and empty-result detectors; a format gate for fenced blocks with repair steps.
  • Write intents — effect: write must answer deferred; approvals live in the harness.
  • Usage — one record per provider attempt (ok | failed | unknown), cache tokens, optional cost, estimated budgets.
  • Providers — Anthropic, OpenAI, DeepSeek, GLM, GigaChat, MiniMax, any OpenAI-compatible endpoint; per-key queue with AIMD.
  • Operations — controlled egress, provider proxies, graceful shutdown, error webhook, in-memory event journal; engine text in en / ru.

377 tests, no network and no keys. "1.0" is a promise about the contract — no breaking changes within 1.x — not a claim of operational maturity.