# Show HN: LoopVera – evidence ledger for pipeline debugging (no code yet)

> Source: <https://github.com/Proofrun/LoopVera>
> Published: 2026-07-10 15:23:51+00:00

**English** · [简体中文](/ProofRun/LoopVera/blob/main/README.zh-CN.md)

See inside your vision pipeline.Bring industrial-grade runtime debugging to the open-source vision stack — while exploring theruntime evidence ledger for agent workflowsunderneath.

The loop:`see every step → tweak one param & rerun → diff this run against the last → human sign-off when stakes are high`

. Library-agnostic · replayable · drops into your existing code, replaces no operator.

⚠️ Process open source · not a finished product · and this repo is just getting started.LoopVera is beingopen-sourced step by step, in public— first the reasoning and design, then the specs, then the code skeleton, then working slices. See the[.]RoadmapPhase 1 (Problem & Vision) is done; Phase 2 (Architecture & ADRs) is next.This repo has governance and Phase 1 narrative docs —no runnable code here yet. Starring means"watch this direction,"not"production-ready."

Test accuracy drops from 94 to 87. You sprinkle five `cv2.imwrite`

calls, your folder fills with `debug_003_v2_final.png`

, and to compare two versions you just eyeball two windows — a week later you can't recall what you changed or why it "looked fixed."

**The algorithms aren't weak; the dev tooling is.** LoopVera targets the **see → tweak & rerun → diff across runs → human sign-off when stakes are high** layer — it does not replace your operators.

Today's agents can edit code, tweak params, and batch runs — but often lack a **closed-loop substrate** underneath: intermediates scatter across chat and folders, runs don't reconcile, and high-stakes changes have no clear record of **who authorized what next**. LoopVera aims to put humans and agents on the **same evidence ledger**; the vision workbench is the first load-bearing skin, not the whole story.

| Is | Is not |
|---|---|
A capability proof: can a workflow-state IDE + evidence/authority ledger actually be engineered? |
Another graph-orchestration framework or LangGraph replacement |
Vision pipeline debugging as the first load-bearing skin (direction anchor) |
A shipped commercial vision IDE or a stable `pip` package |
A layered experiment: orchestration swappable, ledger not (Rust director + Core verbs + `.loopvera/` ) |
A project where "docs complete = implementation complete" |

This is the interaction path we are

building toward.`pip install loopvera`

and`loopvera open`

arenot published yet.

``` python
import loopvera as lv

def detect(img):
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    lv.observe("gray", gray)                                   # one line captures the intermediate
    _, mask = cv2.threshold(gray, lv.param("thresh", 130), 255, cv2.THRESH_BINARY)
    lv.observe("mask", mask)                                   # lv.param makes this tweakable in the UI
    return mask
pip install loopvera              # ⏳ not published — will build from source first
python my_pipeline.py             # run once; a run is recorded automatically
loopvera open                     # ⏳ not delivered — local browser workbench
```

Read the full pain-point + vision write-up: ** LoopVera Vision** ·

[简体中文](/ProofRun/LoopVera/blob/main/docs/zh-CN/vision.md).

The

LoopVera column is target design— not a claim that everything works today.

`imwrite` + folders |
ad-hoc matplotlib | wire up Rerun yourself | closed commercial vision IDE | LoopVera (target) |
|
|---|---|---|---|---|---|
| every step visible | ✅ | ✅ | ✅ | ||
| tweak param & rerun | ❌ | ❌ | ❌ | ✅ | ✅ |
side-by-side diff across runs + param diff |
❌ | ❌ | ✅ | ||
| library-agnostic (no operator lock-in) | ✅ | ✅ | ✅ | ❌ own only | ✅ |
adds the loop for AI (evidence closed loop) |
❌ | ❌ | ❌ | ✅ | |
| price | free | free | free | 💰💰💰 | free / open source |

The differentiator isn't *"can it show an image"* — it's **tweak-and-rerun + cross-run diff**, without locking you into anyone's operator library.

Optional. Explains what the vision workbench stands on.

LoopVera stands on a **domain-neutral runtime-evidence substrate** — the same loop applies to any *"behavior is invisible"* domain (embedded, signal, medical, robotics):

```
① see            → ② tweak & rerun → ③ diff across runs → ④ high-stakes only:
   capture any                                                human sign-off
   intermediate                                                     │
        ↑______________________________ next round ________________│
```

Adding a domain takes three hooks (`observe`

/ `decode`

/ `placement`

); the loop itself is provided by the runtime. Vision is the first **load-bearing skin**, not the whole story — the substrate is **designed** for multiple domains (e.g. `embedded`

alongside `vision`

) so the loop isn't vision-only on paper; additional domains ship in later roadmap phases.

Depth → [AI agent workflows](/ProofRun/LoopVera/blob/main/docs/en/agent-workflows.md) · [Why not LangGraph / all-in-one](/ProofRun/LoopVera/blob/main/docs/en/why-not-langgraph.md).

LoopVera is released in stages so that **every step carries standalone value** and invites a different kind of contributor. This is deliberate: the design should be critiqued *before* the code locks it in.

| Phase | What ships | Who it invites | Status |
|---|---|---|---|
0 · Front Door |
README, governance, roadmap, contribution channels | Everyone deciding whether to watch | ✅ done |
1 · Problem & Vision |
Pain-point narrative, vision, comparison | People who feel the same pain | ✅ done |
2 · Architecture & ADRs |
Layering, four pillars, decision records | Engineers who want to shape the design | ⏳ next |
3 · Contracts (L0) |
JSON Schema, verb catalog, conformance tests | Implementers, spec folks | ⏳ planned |
4 · Code Skeleton |
Buildable Rust spine, walking skeleton | Contributors who write real code | ⏳ planned |
5 · First Vertical Slice |
`observe → diff` demo for one library |
Early users, integration authors | ⏳ planned |
6+ · Filling in |
Gate/authority, more integrations, Studio UI, pip | The whole community | ⏳ planned |

Full detail, entry points, and definitions of done: ** ROADMAP.md**.

— for[LoopVera Vision](/ProofRun/LoopVera/blob/main/docs/en/vision.md)**vision / CV engineers**: problem, loop, comparison, honest status.— for[AI agent workflows](/ProofRun/LoopVera/blob/main/docs/en/agent-workflows.md)**AI agent developers**: the evidence ledger your agents are missing.— for[Pipeline debugging pain points](/ProofRun/LoopVera/blob/main/docs/en/pipeline-debugging-pain-points.md)**anyone tuning pipelines**: a problems-only discussion piece.— for[Why not LangGraph / all-in-one](/ProofRun/LoopVera/blob/main/docs/en/why-not-langgraph.md)**agent-infra**: graph orchestration vs. an evidence/authority ledger.

All docs are bilingual — see the [docs index](/ProofRun/LoopVera/blob/main/docs/README.md).

This is **build-in-public** capability exploration, not a commercial launch. There is **no fixed ship date**.

- ⭐
— follow the direction as it evolves.[Star / Watch on GitHub](https://github.com/Proofrun/LoopVera) - 💬
— real pipeline pains and architecture RFCs. This is the[GitHub Discussions](https://github.com/Proofrun/LoopVera/discussions)**normative source of truth** for decisions. - 🎮
— chat & build help (not normative; conclusions go to Discussions).[Discord · Open Build](https://discord.gg/7Xfz8fCmE) - 📖
— see labels like[Issues](https://github.com/Proofrun/LoopVera/issues)`good-first-issue`

,`help-wanted`

, and`design-rfc`

. - 🤝
**Read** before opening a PR, and the[CONTRIBUTING.md](/ProofRun/LoopVera/blob/main/CONTRIBUTING.md)[Code of Conduct](/ProofRun/LoopVera/blob/main/CODE_OF_CONDUCT.md).

Early contributors' feedback **directly shapes** which happy path we wire first.

[MIT](/ProofRun/LoopVera/blob/main/LICENSE) © 2026 LoopVera / Proofrun.

*See every step. Diff every run. Orchestration swappable. Workers swappable. Ledger not.*
