Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"title": "PyGate: a deterministic Python quality gate with bounded auto-repair",
"description": "PyGate is a quality gate for Python CI that normalizes Ruff, Pyright, and pytest results into one fail-fast decision, attempts bounded deterministic repair, and escalates with machine-readable evidence when it cannot finish safely. It is built for both human reviewers and AI coding agents, emitting structured artifacts (failures, agent brief, repair report, escalation) against published JSON schemas.",
"upload_type": "software",
"creators": [
{ "name": "Bosch Rodriguez, Rolando", "orcid": "0009-0005-4896-1112", "affiliation": "Hermes Labs" }
],
"keywords": [
"AI reliability",
"AI assurance",
"silent failure modes",
"evidence-first",
"quality gate",
"deterministic auto-repair",
"structured escalation",
"agent-readable CI artifacts"
],
"license": "Apache-2.0",
"version": "0.1.2"
}
11 changes: 9 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.1.2] - 2026-05-30

### Changed

- Updated project metadata: copyright holder, maintainer contact, and citation files.

## [0.1.1] - 2026-03-02

### Fixed

- Standardized copyright to LPCI Innovations in LICENSE
- Standardized copyright to Hermes Labs in LICENSE
- Fixed stale GitHub URLs (hermes-labs-ai/pygate → hermes-labs-ai/quick-gate-python)
- Added PyPI version badge to README

Expand All @@ -33,6 +39,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Composite GitHub Action for CI integration
- Structured artifacts: failures.json, run-metadata.json, agent-brief.json/md, repair-report.json, escalation.json

[Unreleased]: https://github.com/hermes-labs-ai/quick-gate-python/compare/v0.1.1...HEAD
[Unreleased]: https://github.com/hermes-labs-ai/quick-gate-python/compare/v0.1.2...HEAD
[0.1.2]: https://github.com/hermes-labs-ai/quick-gate-python/compare/v0.1.1...v0.1.2
[0.1.1]: https://github.com/hermes-labs-ai/quick-gate-python/compare/v0.1.0...v0.1.1
[0.1.0]: https://github.com/hermes-labs-ai/quick-gate-python/releases/tag/v0.1.0
27 changes: 27 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "PyGate: a deterministic Python quality gate with bounded auto-repair"
abstract: >-
PyGate is a quality gate for Python CI that normalizes Ruff, Pyright, and pytest
results into one fail-fast decision, attempts bounded deterministic repair, and
escalates with machine-readable evidence when it cannot finish safely. It is built
for both human reviewers and AI coding agents, emitting structured artifacts
(failures, agent brief, repair report, escalation) against published JSON schemas.
type: software
authors:
- family-names: "Bosch Rodriguez"
given-names: "Rolando"
orcid: "https://orcid.org/0009-0005-4896-1112"
affiliation: "Hermes Labs"
version: "0.1.2"
license: Apache-2.0
repository-code: "https://github.com/hermes-labs-ai/quick-gate-python"
keywords:
- "AI reliability"
- "AI assurance"
- "silent failure modes"
- "evidence-first"
- "quality gate"
- "deterministic auto-repair"
- "structured escalation"
- "agent-readable CI artifacts"
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ We are committed to making participation in this project a welcoming experience

## Enforcement

Instances of unacceptable behavior may be reported to **lpcisystems@gmail.com**. All complaints will be reviewed and investigated promptly and fairly.
Instances of unacceptable behavior may be reported to **rbosch@lpci.ai**. All complaints will be reviewed and investigated promptly and fairly.

Project maintainers who do not follow or enforce this Code of Conduct may face temporary or permanent repercussions.

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@

END OF TERMS AND CONDITIONS

Copyright 2026 LPCI Innovations
Copyright 2026 Hermes Labs

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
32 changes: 3 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# PyGate

Python CI failures are noisy, tool-specific, and expensive to triage when Ruff, Pyright, and pytest all disagree about what matters first.
quick-gate-python is a deterministic Python quality gate that normalizes Ruff, Pyright, and pytest results into one fail-fast decision, attempts bounded auto-repair, and escalates with machine-readable evidence when it cannot finish safely. It is published on PyPI as `pygate-ci` and exposes the `pygate` CLI.

PyGate turns those gate results into one deterministic Python quality gate with bounded auto-repair and structured escalation evidence for humans or agents.
Python CI failures are noisy, tool-specific, and expensive to triage when Ruff, Pyright, and pytest all disagree about what matters first. PyGate turns those gate results into one quality gate with bounded auto-repair and structured escalation evidence for humans or agents.

- "The PR failed, but I have to dig through Ruff, Pyright, and pytest separately to understand why."
- "We want fail-fast Python CI, not another lint dashboard."
Expand Down Expand Up @@ -245,30 +245,4 @@ See [CONTRIBUTING.md](https://github.com/hermes-labs-ai/quick-gate-python/blob/m

## About Hermes Labs

[Hermes Labs](https://hermes-labs.ai) builds AI audit infrastructure for enterprise AI systems — EU AI Act readiness, ISO 42001 evidence bundles, continuous compliance monitoring, agent-level risk testing. We work with teams shipping AI into regulated environments.

**Our OSS philosophy — read this if you're deciding whether to depend on us:**

- **Everything we release is free, forever.** MIT or Apache-2.0. No "open core," no SaaS tier upsell, no paid version with the features you actually need. You can run this repo commercially, without talking to us.
- **We open-source our own infrastructure.** The tools we release are what Hermes Labs uses internally — we don't publish demo code, we publish production code.
- **We sell audit work, not licenses.** If you want an ANNEX-IV pack, an ISO 42001 evidence bundle, gap analysis against the EU AI Act, or agent-level red-teaming delivered as a report, that's at [hermes-labs.ai](https://hermes-labs.ai). If you just want the code to run it yourself, it's right here.

**The Hermes Labs OSS audit stack** (public, production-grade, no SaaS):

**Static audit** (before deployment)
- [**lintlang**](https://github.com/hermes-labs-ai/lintlang) — Static linter for AI agent configs, tool descriptions, system prompts. `pip install lintlang`
- [**rule-audit**](https://github.com/hermes-labs-ai/rule-audit) — Static prompt audit — contradictions, coverage gaps, priority ambiguities
- [**scaffold-lint**](https://github.com/hermes-labs-ai/scaffold-lint) — Scaffold budget + technique stacking. `pip install scaffold-lint`
- [**intent-verify**](https://github.com/hermes-labs-ai/intent-verify) — Repo intent verification + spec-drift checks

**Runtime observability** (while the agent runs)
- [**little-canary**](https://github.com/hermes-labs-ai/little-canary) — Prompt injection detection via sacrificial canary-model probes
- [**suy-sideguy**](https://github.com/hermes-labs-ai/suy-sideguy) — Runtime policy guard — user-space enforcement + forensic reports
- [**colony-probe**](https://github.com/hermes-labs-ai/colony-probe) — Prompt confidentiality audit — detects system-prompt reconstruction

**Regression & scoring** (to prove what changed)
- [**hermes-jailbench**](https://github.com/hermes-labs-ai/hermes-jailbench) — Jailbreak regression benchmark. `pip install hermes-jailbench`
- [**agent-convergence-scorer**](https://github.com/hermes-labs-ai/agent-convergence-scorer) — Score how similar N agent outputs are. `pip install agent-convergence-scorer`

**Supporting infra**
- [**claude-router**](https://github.com/hermes-labs-ai/claude-router) · [**zer0dex**](https://github.com/hermes-labs-ai/zer0dex) · [**forgetted**](https://github.com/hermes-labs-ai/forgetted) · [**quick-gate-js**](https://github.com/hermes-labs-ai/quick-gate-js) · [**repo-audit**](https://github.com/hermes-labs-ai/repo-audit)
Hermes Labs is an independent AI-reliability lab building open-source tools that catch silent failure modes in production AI. More at [hermes-labs.ai](https://hermes-labs.ai).
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ If you discover a security vulnerability in PyGate, please report it responsibly

**Do not open a public issue.**

Instead, email **lpcisystems@gmail.com** with:
Instead, email **rbosch@lpci.ai** with:

- A description of the vulnerability
- Steps to reproduce
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ build-backend = "hatchling.build"

[project]
name = "pygate-ci"
version = "0.1.1"
version = "0.1.2"
description = "Python quality gate CLI for Ruff, Pyright, and pytest with bounded auto-repair and escalation artifacts"
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.10"
authors = [
{ name = "Hermes Labs", email = "lpcisystems@gmail.com" },
{ name = "Hermes Labs", email = "rbosch@lpci.ai" },
]
keywords = [
"python", "quality-gate", "python-ci", "fail-fast", "lint", "typecheck",
Expand Down
Loading