Skip to main content

Deterministic PR review-resolution control plane runtime.

Project description

gh-address-cr

Auditable pull request review-resolution workflow for AI coding agents.

gh-address-cr is a deterministic CLI runtime plus a thin Codex skill/plugin adapter. It coordinates GitHub review threads, local AI review findings, evidence, replies, resolves, and final-gate proof in one PR-scoped session.

It is not a code-review producer and not a generic GitHub bot. The runtime owns state and side effects; agents return structured evidence and the runtime publishes GitHub replies/resolves.

Project architecture governance lives in .specify/memory/constitution.md. The installed skill contract remains skill/SKILL.md.

60-second quickstart

Install the runtime:

pipx install gh-address-cr
gh-address-cr --help
gh-address-cr agent manifest

Install the Codex/agent skill adapter:

npx skills add https://github.com/RbBtSn0w/gh-address-cr --skill skill
npx skills check

Install the Codex community plugin:

codex plugin marketplace add RbBtSn0w/gh-address-cr --ref main
codex plugin marketplace upgrade
codex plugin add gh-address-cr@gh-address-cr-community

For released plugin installs, prefer pinning a tag:

codex plugin marketplace add RbBtSn0w/gh-address-cr --ref v2.5.1

When to use it

Use it when:

  • a pull request has unresolved GitHub review threads
  • an AI review producer emits normalized findings for the PR
  • stale or outdated review threads need explicit evidence and handling
  • completion requires a fresh gh-address-cr final-gate <owner/repo> <pr_number> proof

Do not use it as:

  • a replacement for a code-review producer
  • a generic GitHub issue bot
  • a ChatGPT Apps SDK app or MCP server
  • a shortcut for posting GitHub replies or resolving threads outside the runtime

First PR walkthrough

gh-address-cr active-pr --repo owner/repo
gh-address-cr review owner/repo 123
gh-address-cr address owner/repo 123 --lean
gh-address-cr agent publish owner/repo 123
gh-address-cr final-gate owner/repo 123

Completion means the latest final gate reports:

  • zero unresolved review threads
  • zero pending reviews for the authenticated login
  • no blocking session items
  • terminal GitHub threads have durable reply evidence
  • an audit summary path with a sha256 hash

A zero unresolved-thread count alone is not sufficient.

Public surface

Primary commands:

  • active-pr
  • review
  • address
  • final-gate

Advanced integration commands:

  • threads
  • findings
  • adapter
  • review-to-findings
  • agent manifest
  • agent classify
  • agent next
  • agent submit
  • agent submit-batch
  • agent fix
  • agent fix-all
  • agent resolve-stale
  • agent evidence
  • agent publish
  • agent leases
  • agent reclaim
  • doctor

High-level commands emit machine-readable JSON summaries by default. Use --human when a person needs narrative output and --lean where supported for low-token agent context.

Runtime and adapter boundary

The deterministic implementation belongs to the Python runtime package:

  • console entrypoint: gh-address-cr
  • module entrypoint: python3 -m gh_address_cr
  • source package: src/gh_address_cr/

The packaged skill remains under skill/ and acts as a thin adapter:

  • skill/SKILL.md explains agent behavior
  • skill/scripts/cli.py is a compatibility shim
  • skill/runtime-requirements.json declares runtime compatibility
  • skill/agents/ and skill/references/ provide hints and reference docs

The repo-local Codex plugin payload is generated from skill/ into plugin/gh-address-cr/:

python3 scripts/build_plugin_payload.py
python3 scripts/build_plugin_payload.py --check

The OpenAI curated Plugin Directory is not a self-service publish target in this repository. The committed .agents/plugins/marketplace.json is the community distribution path.

Documentation

Development checks

Run the local verification gate before submitting changes:

ruff check src tests scripts/build_plugin_payload.py
python3 -m unittest discover -s tests
python3 -m gh_address_cr --help
python3 skill/scripts/cli.py --help
python3 -m gh_address_cr agent manifest
python3 scripts/build_plugin_payload.py --check

Package smoke:

rm -rf dist build
python3 -m build
python3 -m twine check dist/*

Repository model

This repository has two scopes:

  • repository root: development, verification, CI, release metadata, and contributor guidance
  • skill/: the installable and published skill folder

The product/runtime identity remains gh-address-cr: the Python package, console entrypoint, repository URL, SKILL.md frontmatter name, plugin name, and /gh-address-cr invocation must not be renamed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gh_address_cr-2.7.0.tar.gz (232.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gh_address_cr-2.7.0-py3-none-any.whl (166.8 kB view details)

Uploaded Python 3

File details

Details for the file gh_address_cr-2.7.0.tar.gz.

File metadata

  • Download URL: gh_address_cr-2.7.0.tar.gz
  • Upload date:
  • Size: 232.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gh_address_cr-2.7.0.tar.gz
Algorithm Hash digest
SHA256 3edbeb11b3342a8ceff38cbf42480316a4597ae9e2665d06c6916b1cd659fe41
MD5 88af64b24d823948a0b2f94ee3efe8a0
BLAKE2b-256 ecaffbd2789cf51f23a6b2db5f6a1bf057acba6dbd4b3fe5017f891935097e38

See more details on using hashes here.

Provenance

The following attestation bundles were made for gh_address_cr-2.7.0.tar.gz:

Publisher: release.yml on RbBtSn0w/gh-address-cr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gh_address_cr-2.7.0-py3-none-any.whl.

File metadata

  • Download URL: gh_address_cr-2.7.0-py3-none-any.whl
  • Upload date:
  • Size: 166.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gh_address_cr-2.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 472cede56dbc831b2f3514300a7951eaef1132fee1b0141fd1dc266ca351cfee
MD5 34830d350ab7569cf659af8b95b387e5
BLAKE2b-256 13040ace5bde238e8abc2b9adb950abc0db39505736402b8cbd272f7e05a2aa0

See more details on using hashes here.

Provenance

The following attestation bundles were made for gh_address_cr-2.7.0-py3-none-any.whl:

Publisher: release.yml on RbBtSn0w/gh-address-cr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page