quality-loop
Measure what an agent-facing product teaches.
A skill bundle, an MCP server or a CLI is only as good as what an agent with nothing else can do with it. quality-loop runs that agent on a real task, in a room that holds the product's agent-facing surface and nothing else. The room is started so it cannot read the repository where the answers are. Afterwards an operator agent reports the problems it finds in what the room did, each with a severity. A human decides what to do with the report.
Status: early development, run end to end against a toy product (
examples/toy/run.py). In place: rooms and their isolation, the audit, the stand-in, fixture pages, screens by name on macOS and Windows, Markdown scenarios, the operator agent and its MCP tools, and reports with severities. The first real product, Keyhac, is next. The design is crftwr/keyhac#205.
What stays code, and why
Anything a run depends on to mean something is code, not something an agent decides:
- The prompt the room is handed is copied verbatim. The operator knows what a good answer looks like, so any paraphrase of the prompt can leak it.
- Isolation. The room runs with
--restricted, an explicit permission list underdontAsk, one MCP configuration and nothing else, git stopped at the room, and stdin closed. A transcript audit then checks what no flag can enforce. - The operator's machine. Their files are moved aside and replaced with
fixtures. On the way out they are put back in a
finally, whether the run ended normally, by an exception, by Ctrl-C or by SIGTERM. - Evidence. A report cites what tools recorded, not what the room said.
Products using it
Development
make test
MIT licensed.
Metadata
Release files for quality-loop 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| quality_loop-0.1.0.tar.gz | 49.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quality_loop-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 95.4 kB
Release files / quality_loop-0.1.0.tar.gz
| Download URL | quality_loop-0.1.0.tar.gz |
|---|---|
| Size | 49.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fe972f2e80c18277df75c242428ce40780661291cb17481c40938b20d84b0572
|
|
BLAKE2b-256 checksum How to use checksums |
8596b79596cc7d1a9a8120e0594ede660b3c0273b40af8ada3b95f0e45c68b38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / quality_loop-0.1.0-py3-none-any.whl
| Download URL | quality_loop-0.1.0-py3-none-any.whl |
|---|---|
| Size | 45.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c12a90763bc2f5ca27ba2c506f5896015fbdbcf1657caf0398caaebdc278289f
|
|
BLAKE2b-256 checksum How to use checksums |
b515ae0e430778fb3a4f011b027105ebf01d8d17e6258a2fa0304ae47aa8dc92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Security for quality-loop 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.