diff --git a/.zenodo.json b/.zenodo.json new file mode 100644 index 0000000..cd34921 --- /dev/null +++ b/.zenodo.json @@ -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" +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 17e56b1..6f6dad0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 @@ -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 diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..99ecc25 --- /dev/null +++ b/CITATION.cff @@ -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" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index e2bd848..7182361 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -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. diff --git a/LICENSE b/LICENSE index e5edc5d..a335b2c 100644 --- a/LICENSE +++ b/LICENSE @@ -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. diff --git a/README.md b/README.md index 1d26e26..e33b748 100644 --- a/README.md +++ b/README.md @@ -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." @@ -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). diff --git a/SECURITY.md b/SECURITY.md index bcc9283..aa8794c 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -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 diff --git a/pyproject.toml b/pyproject.toml index 4d10c78..8a73538 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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",