The doloop resistance machine: deterministic checks for AI output, from the CLI.
Project description
doloop machine
An external, deterministic check you put between your AI and your users. Send it an output, get back an objective verdict — the same verdict every time. You bring your own model; the machine never touches it.
Docs only. No product code lives here — just how to call the machine and copy-paste examples.
Base URL: https://api.doloop.io
Use doloop when…
| Your problem | Call | What you get |
|---|---|---|
| Your agent loops or repeats itself | POST /v1/check |
findings flag the repetition; verdict: fail (a model in a loop can't see its own loop — doloop can) |
| Output drifts or slides back to a bug it just fixed | POST /v1/check |
the drift caught from outside |
| The model pads with slop, hedges, jargon | POST /v1/check |
each tell flagged with a line |
| A number isn't in the source, a total won't reconcile | documents donkey |
tie-out failure |
| You need the same verdict every time (audit) | POST /v1/check |
input_sha256 — reproducible, provable |
| You want a human to review only the failures | gate on verdict |
triage, not every line |
The four donkeys
A donkey is a deterministic check for one kind of output.
| Donkey | Catches | Surface |
|---|---|---|
writing |
de-slop: dead prose, jargon, self-management tics, flat cadence | https://writing.doloop.io |
conversations |
de-sycophant, de-loop: agreement drift, dialogue going in circles | https://conversations.doloop.io |
presentations |
land-the-finding: slides that bury the point or don't match the data | https://presentations.doloop.io |
documents |
tie-out: a number not in the source, a total that won't reconcile | https://documents.doloop.io |
curl https://api.doloop.io/v1/donkeys
Quickstart
curl https://api.doloop.io/v1/check \
-H 'content-type: application/json' \
-d '{"text": "the answer your model just produced"}'
{ "verdict": "pass", "finding_count": 0, "findings": [], "input_sha256": "..." }
Same text in, same verdict out, every time. input_sha256 proves it: identical input gives an identical hash gives an identical verdict. Objective, not subjective — unlike an AI judge that scores the same answer 77% one run and 63% the next.
How people use it
- Gate before ship — check the output; if
verdict: fail, don't ship it. - Self-heal loop (the "doloop") — check → on fail, feed
findingsback to your model → re-check → ship on pass. Seeexamples/loop.py. - In-agent self-check — the agent checks its own step output to catch the loop/drift it can't see itself. See
examples/agent_check.py. - BYOL proxy — point an OpenAI-compatible
base_urlat the machine; the verdict rides back on every response. Seeexamples/proxy.py. - CI gate — run a corpus through the donkeys; fail the build on a regression. See
examples/ci_check.sh.
Endpoints
| Method | Path | Does |
|---|---|---|
POST |
/v1/check |
deterministic verdict on text |
GET |
/v1/donkeys |
list the four donkeys |
POST |
/v1/chat/completions |
OpenAI-compatible BYOL proxy with the verdict attached |
GET |
/health |
liveness |
Machine-readable spec: openapi.json. LLM index: llms.txt. Pricing and the loop calculator: PRICING.md.
What it is
doloop is the Deterministic Objective Loop: the external checker a model can't be for itself, because a model in a loop can't see its own loop. Bring your model; doloop returns the verdict it can't give itself.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file doloopio-0.1.0.tar.gz.
File metadata
- Download URL: doloopio-0.1.0.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2aae8df1bb2a052046086876333aca8f8bc559aa37846b7268da30a8271178bf
|
|
| MD5 |
5b39313b219d167aa63f9e2a8967b3ff
|
|
| BLAKE2b-256 |
79042bbdedae9aa5f7da8fed7941e7bb2543140b1c43182e533b78a24e2d06fe
|
File details
Details for the file doloopio-0.1.0-py3-none-any.whl.
File metadata
- Download URL: doloopio-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
322b47e9e652200b55398a4dbd52af5e813853ca1d551aa24067d16fb628dc53
|
|
| MD5 |
81b6258370f93d54c7f0ac5ae4fe4ffa
|
|
| BLAKE2b-256 |
4808666d7ef5c0e3461be2e4396a03f90d07bc818c7f6542f727e6278dabe58c
|