S
SanvioLabs/sanvio-factory
The smallest useful agent harness: instructions, a skill, a gate, a hook and a review agent
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
- Star count
- 4 ★ · SanvioLabs/sanvio-factory · read from the GitHub search API · (checked 2026-11-13 20:00:50)
- Source
- read directly from its GitHub page · type: open-source project
- Harvest history
- first seen 2026-11-10 · last seen 2026-11-14 · seen 5× · listed by 1 sources
- Score
- score 103 · 4 ★ · 1 sources · repo
FAQ (answers come from our records)
Who is it for?
We filed it under these tags: 开源项目. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository
SanvioLabs/sanvio-factory;first catalogued 2026-11-10;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.# Sanvio Factory
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Built and maintained by Sanvio Labs. Free under MIT.
Sanvio Factory takes issues in and turns out reviewed work. You label an issue
for the loop. An agent plans it, builds it in a checkout of its own and runs
the tests, a second agent reviews the pull request, the checks run, and you
decide whether it merges. The loop never merges a pull request. What it writes
is branches, pull requests, comments and labels on GitHub, and it spends model
tokens as it works. Nothing here sends email or makes a payment.
Two layers do that. The harness is what one agent session works inside: the
rules it reads, the procedures it follows, the checks that stop it, and the
other agents it hands work to. The factory is everything between sessions: the
queue of issues, the loop that works them, and the review and the gates between
a pull request and a merge. The model is the engine. The harness holds one run
to your rules and checks, and the factory turns many runs into pull requests you
review. Set up says where the guard stops, and
What makes it a factory has the rest.
The first two pictures are the harness: what one session inside the factory
works in. The third is the factory: one issue through the loop to a pull
request you review.
This repo is the smallest factory that still does the job. The harness at its
root is generic: rules, skills, a reviewer, the checks, and a place for your
company and your code. One worked job sits in examples/proposal/, drafting client
proposals, because a proposal is where the cheap mistakes live: a placeholder
left in, a rate somebody made up, a total that doesn't add up. None of those are
hard. All of them ship anyway when the process lives in your head. You read
the example, then build your own job the same way at the root. For code,
examples/typescript/ is a TypeScript project the loop can test with Node
alone.
The rules, skills and gates work in Claude Code, Codex and Kiro. The guard, the
mods and bin/factory need Claude Code.
At the Humanbulb talk on 15 October 2026? The slides are here,
as a PDF, a PowerPoint and an offline web page.
## Set up
bash
git clone my-factory && cd my-factory
git config core.hooksPath .githooks
python3 scripts/check_setup.py
Don't skip the middle line. Git won't run the hook in .githooks/ unless
you point it there, and the setting doesn't travel with a clone. Skip it and
every check in the hook silently does nothing. That exact line was missing from
a real harness for months, and nobody noticed because nothing failed.
You need Python 3.9 or newer and no packages.
In Claude Code, start it from the repo's root and say yes when it asks
whether you trust the folder. A line then sits above the prompt:
◆ harness steering: 3 always on skill: none yet gate: none run guard: no refusals review: none yet
That's the harness lens. It names each layer as it acts on your session, and
/lens lists everything it did. No line? Your Claude Code may be older than
the version it was tested on (2.1.295), or the folder isn't trusted.
examples/mods/harness-lens/ has the two commands that install it from inside a
session. Codex and Kiro don't show it: neither has mods.
Trusting the folder also switches on Stelliad, an MIT-licensed set of
Sanvio Factory takes issues in and turns out reviewed work. You label an issue
for the loop. An agent plans it, builds it in a checkout of its own and runs
the tests, a second agent reviews the pull request, the checks run, and you
decide whether it merges. The loop never merges a pull request. What it writes
is branches, pull requests, comments and labels on GitHub, and it spends model
tokens as it works. Nothing here sends email or makes a payment.
Two layers do that. The harness is what one agent session works inside: the
rules it reads, the procedures it follows, the checks that stop it, and the
other agents it hands work to. The factory is everything between sessions: the
queue of issues, the loop that works them, and the review and the gates between
a pull request and a merge. The model is the engine. The harness holds one run
to your rules and checks, and the factory turns many runs into pull requests you
review. Set up says where the guard stops, and
What makes it a factory has the rest.
The first two pictures are the harness: what one session inside the factory
works in. The third is the factory: one issue through the loop to a pull
request you review.
This repo is the smallest factory that still does the job. The harness at its
root is generic: rules, skills, a reviewer, the checks, and a place for your
company and your code. One worked job sits in examples/proposal/, drafting client
proposals, because a proposal is where the cheap mistakes live: a placeholder
left in, a rate somebody made up, a total that doesn't add up. None of those are
hard. All of them ship anyway when the process lives in your head. You read
the example, then build your own job the same way at the root. For code,
examples/typescript/ is a TypeScript project the loop can test with Node
alone.
The rules, skills and gates work in Claude Code, Codex and Kiro. The guard, the
mods and bin/factory need Claude Code.
At the Humanbulb talk on 15 October 2026? The slides are here,
as a PDF, a PowerPoint and an offline web page.
## Set up
bash
git clone my-factory && cd my-factory
git config core.hooksPath .githooks
python3 scripts/check_setup.py
Don't skip the middle line. Git won't run the hook in .githooks/ unless
you point it there, and the setting doesn't travel with a clone. Skip it and
every check in the hook silently does nothing. That exact line was missing from
a real harness for months, and nobody noticed because nothing failed.
You need Python 3.9 or newer and no packages.
In Claude Code, start it from the repo's root and say yes when it asks
whether you trust the folder. A line then sits above the prompt:
◆ harness steering: 3 always on skill: none yet gate: none run guard: no refusals review: none yet
That's the harness lens. It names each layer as it acts on your session, and
/lens lists everything it did. No line? Your Claude Code may be older than
the version it was tested on (2.1.295), or the folder isn't trusted.
examples/mods/harness-lens/ has the two commands that install it from inside a
session. Codex and Kiro don't show it: neither has mods.
Trusting the folder also switches on Stelliad, an MIT-licensed set of
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/sanviolabs-sanvio-factory/)
- Source
- github · https://github.com/SanvioLabs/sanvio-factory
- Browse by field
- Open source
- Traction
- 4 ★
- added
- today
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.