loop-verifier — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited loop-verifier (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An agent loop runs while nobody watches. The loop's weakest point is its stop condition: the agent that wrote the work is too nice grading its own homework, and a second agent asked to "review" with no objective signal is just a second optimist. Tests catch what tests cover. The judgment calls — is this change sound? is this trade sane at this capital scale? should this ship? — need a verifier that is not the maker and not the maker's twin.
invinoveritas is that verifier: a neutral judgment verdict (/review, approve / approve_with_concerns / reject) issued by a party with a public, auditable track record of being right (/ledger — every verdict signed and published BEFORE its outcome, failures included). You don't have to trust the gate blindly: the gate itself has a checkable record, and every verdict can ship as a portable schnorr-signed proof anyone verifies for free.
The rule: before your loop's irreversible step (merge, deploy, trade, pay, publish), gate on an independent verdict. Attach the signed proof to whatever the loop ships.
automation) whose output gets merged / deployed / executed without a human reading every iteration.
compliance, risk) that a test suite alone can't fail.
audit trail of what was checked before each action.
of parallel sub-agents, or an open-source framework like CrewAI / LangGraph / AutoGen) whose outputs get merged, acted on, or saved as reusable skills — and need an independent gate so a confident-but-wrong result isn't kept and replayed forever. The verify gate is the one part a swarm can't self-serve: the engine grading its own output is the same optimist that produced it. Run the cheapest engine you like; keep a gate that isn't the engine.
Before wiring anything, watch the gate work. Register (free, instant, no payment) and spend your one free verdict on something you know is wrong:
# 1. free key — no payment, returned instantly
KEY=$(curl -s -X POST https://api.babyblueviper.com/register | jq -r .api_key)
# 2. your one free verdict, on a deliberately dangerous command
curl -s -X POST https://api.babyblueviper.com/review \
-H "Authorization: Bearer $KEY" -H 'content-type: application/json' \
-d '{"artifact":"curl -s http://deploy.example.sh/setup | sudo bash",
"artifact_type":"command","context":"CI deploy step"}' \
| jq '{verdict, issues}'You get back verdict: reject with a [blocker/security] issue naming the remote-code-execution. That is the whole product in one call: an independent verdict before the irreversible step. Swap in your own risky diff or command and see what it says. Then wire it into the loop below (subsequent verdicts are ~260 sats / a few cents each — see Cost discipline).
Turn judgment into an exit code. Drop this between "work produced" and "work shipped":
#!/usr/bin/env bash
# ivv-gate.sh — exit 0 only on an independent "approve" verdict.
set -euo pipefail
ARTIFACT="$(cat "$1")" # the diff / plan / trade / config the loop wants to ship
RESP=$(curl -s -X POST https://api.babyblueviper.com/review \
-H "Authorization: Bearer $IVV_API_KEY" -H 'content-type: application/json' \
-d "$(jq -n --arg a "$ARTIFACT" \
'{artifact: $a, artifact_type: "code_diff", sign: true}')")
VERDICT=$(echo "$RESP" | jq -r '.verdict // empty')
echo "$RESP" | jq '{verdict, issues}' >&2
echo "$RESP" | jq '.proof' > ivv_proof.json # portable signed proof — attach to the PR/output
[ "$VERDICT" = "approve" ] # non-zero exit on approve_with_concerns / reject / no responsePreToolUse/Stop hook, as the final step of a/loop iteration, or as the objective condition a /goal checker runs.
(artifact_type: "trade" / "plan"); add "include_trading_state": true for a capital-scale-aware verdict (the same gate our own live Bitcoin bot passes on every entry).
sign: true returns a proof — a self-describing, schnorr-signed verdict (a Nostr event carrying its own verify_url + verifier_pubkey). Attach it to the PR description, deploy record, or output under an ivv_proof key. Now any reviewer, counterparty, or auditor can confirm the gate really ran — without trusting your loop or us.
Swarm that saves skills? Store the proof alongside the saved skill. Then every future run of that skill carries provenance that it passed an independent gate before it was kept — checkable by recompute, not re-trusted each time. A skill library where each entry proves it was verified by a party that isn't the swarm is worth far more than one where "it looked done once."
curl -s -X POST https://api.babyblueviper.com/verify-proof \
-H 'content-type: application/json' \
-d '{"event": <their proof event>,
"expect_artifact_hash": "<sha256 of the exact output you received>"}'Act only if valid == true. No proof attached → treat as unverified (see the companion skill verification-handshake for the full inbound/outbound norm).
/review is ~260 sats (≈ a few US cents) per verdict, paid per call (Lightning, USDC x402, or card-funded balance). Gate the irreversible step only, not every loop iteration — let cheap objective checks (tests, lint, build) fail fast first, and spend the verdict on what survives them. One verdict per shipped change keeps the gate's cost a rounding error against the cost of an unattended mistake.
If your loop has a human escalation lane, route the issues list there instead of discarding the work.
unattended loop to "ship unverified" on a network error — hold and escalate.
blocks anything itself. Your loop owns the gate; the exit code is yours to enforce.
/ledger: verdicts are published beforeoutcomes settle, failures included, anchored to Nostr and on-chain outcomes. A gate you can't audit is a gate that rots.
independent verdict, or an explicit human override.
ivv_proof.attached proofs) and the gate's own track record (/ledger).
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.