Skip to main content

Unofficial GitLab CI integration layer for Open Code Review

Project description

Open Code Review Toolkit

Open Code Review Toolkit is an unofficial GitLab CI integration layer for Alibaba Open Code Review. It provides bounded repository context generation, environment-driven OCR configuration, preflight validation, and safe GitLab merge-request posting. It does not bundle or download the ocr binary.

[!NOTE] The project is under active development. It currently targets Python 3.10-3.14 on Linux and macOS; the public API, CLI, environment contract, and generated schemas may evolve before 1.0.

Install

Install the Python package from PyPI and install a supported OCR binary separately:

python -m pip install open-code-review-toolkit
ocr --version
ocr-ci --help

The current compatibility target is OCR 1.7.14. CI should pin the release and verify its published checksum before execution. Review output defaults to English. Set OCR_REVIEW_LANGUAGE=Russian to use Russian consistently in both OCR configuration and generated review context.

Stable distributions are published to PyPI and mirrored as checksum-listed, provenance-attested assets in the corresponding GitHub Release. Development snapshots are published only to TestPyPI.

How reviews evolve

On a successful rerun, the toolkit replaces untouched OCR-only notes instead of accumulating stale reviews. A human reply transfers that discussion to the team: the conversation is preserved and a matching finding is suppressed. Reply with /ocr suppress to keep a discussion open without future repeats, or /ocr resolve to suppress it and resolve the discussion after the next successful posting transaction.

Suppression uses both the GitLab diff position and a stable finding fingerprint, so ordinary line shifts do not normally bring the same bug back. A materially changed finding can still receive a new discussion. See GitLab review operations for the complete lifecycle, posting modes, permissions, failure behavior, and Mermaid state diagram.

Project-wide accepted tradeoffs can be recorded separately in .opencodereview/accepted-decisions.md; the context generator supplies them to OCR only when the current merge request is not changing that file. See Accepted project decisions for the entry format, inline marker convention, security boundary, and limitations.

GitLab CI quick start

  1. Configure protected/masked GITLAB_API_TOKEN and LLM variables in GitLab.
  2. Pin and checksum the OCR binary.
  3. Install this package.
  4. Run the five helper stages around ocr review:
ocr-ci preflight
ocr-ci configure
ocr-ci mcp-config
ocr-ci context --output .review-context/dependencies.md
# run: ocr review ... --format json
ocr-ci post --result /tmp/ocr-result.json --stderr /tmp/ocr-stderr.log

See the fully synthetic examples/gitlab/ocr-review.gitlab-ci.yml, the GitLab setup guide, and GitLab review operations.

Configuration and safety

Configuration is environment-only in v0.1. The configuration reference documents supported OCR_*, CI_*, GITLAB_*, and MCP inputs. Posting requires GITLAB_API_TOKEN; job tokens and legacy aliases are deliberately unsupported.

Repository content, OCR output, and provider responses are untrusted inputs. The toolkit applies bounded reads and writes, secret redaction, Unicode normalization, Markdown/quick-action neutralization, fingerprinted comments, ownership boundaries for human replies, and rollback controls. Review the security and trust model before enabling write access.

Development and release

Licensed under Apache-2.0.

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

open_code_review_toolkit-0.2.0.tar.gz (132.4 kB view details)

Uploaded Source

Built Distribution

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

open_code_review_toolkit-0.2.0-py3-none-any.whl (97.1 kB view details)

Uploaded Python 3

File details

Details for the file open_code_review_toolkit-0.2.0.tar.gz.

File metadata

  • Download URL: open_code_review_toolkit-0.2.0.tar.gz
  • Upload date:
  • Size: 132.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for open_code_review_toolkit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d24856c23105f15890b1617ed95a90706f2e797373dddca81b84d04e1b2300cf
MD5 0719a987810196765a7328e80aff6616
BLAKE2b-256 61be66615601df3fe13991c1882d12066184f8996ab180b8eac97a2e275ecf66

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_code_review_toolkit-0.2.0.tar.gz:

Publisher: release.yml on xeonvs/open-code-review-toolkit

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

File details

Details for the file open_code_review_toolkit-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for open_code_review_toolkit-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5764c80fb1ee5d0bcb91a2ed871669161a45f5564ad6169ce11bccc206d0c8a
MD5 43eba66cb0c68003230acc99b4f8a03d
BLAKE2b-256 a53d7feb356b28a7c224e1aef3b83c639684b8a5f208a269f47f103cd561ea88

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_code_review_toolkit-0.2.0-py3-none-any.whl:

Publisher: release.yml on xeonvs/open-code-review-toolkit

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