Skip to main content

Open Code Review Toolkit

OpenSSF Best Practices

Open Code Review Toolkit is an unofficial GitLab CI integration layer for Alibaba Open Code Review. It provides bounded repository evidence, a compact review bootstrap, a built-in read-only MCP server, 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; 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.9.1. CI should pin the release and verify its published checksum before execution. The versioned compatibility policy records tested assets and evidence and describes the conservative Dependabot-like qualification workflow for later upstream releases. Review output defaults to English. OCR_REVIEW_LANGUAGE accepts another explicit language name when a project needs localized review output; for example, OCR_REVIEW_LANGUAGE=Russian.

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.

After every current review note publishes, the GitLab adapter can add a conservative approval bound to the exact reviewed source SHA. This write is enabled by default; set OCR_AUTO_APPROVE=false before upgrading when the bot must remain comment-only. GitLab approval rules and protected-branch policy remain authoritative. The toolkit only adds an eligible approval; it never removes an existing approval when a later review is ineligible or disabled.

Project-wide accepted tradeoffs can be recorded separately in .opencodereview/accepted-decisions.md; the evidence collector supplies target-ref decisions to OCR and never lets a source change self-authorize its own review. See Accepted project decisions for the entry format, inline marker convention, security boundary, and limitations.

Project architecture

The shipped Repository Evidence Engine reads immutable base/head Git objects, stores bounded typed facts and deltas, creates the compact bootstrap used by OCR, and exposes detailed evidence through the mandatory built-in read-only MCP server. Reviewed external stdio or native HTTPS MCP servers compose alongside it without replacing the built-in evidence boundary.

  • Toolkit strategy - durable product boundaries, architecture, invariants, and non-goals.
  • Roadmap - milestone status, dependencies, outcomes, and completion signals.
  • Backlog - inactive implementation-ready work; active execution remains in PLANS.md.

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 four public helper stages around ocr review:
ocr-ci preflight
ocr-ci configure
ocr-ci review --result /tmp/ocr-result.json --stderr /tmp/ocr-stderr.log -- ... --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-driven. 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.

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.4.7.tar.gz (127.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.4.7-py3-none-any.whl (158.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: open_code_review_toolkit-0.4.7.tar.gz
  • Upload date:
  • Size: 127.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for open_code_review_toolkit-0.4.7.tar.gz
Algorithm Hash digest
SHA256 5ad2563c9cfc4e6fc9da95d425df44c5e53e62de05ddad462eeda0b41626ac6a
MD5 c8f2b49fead26ab6fc9f6681cf0157c2
BLAKE2b-256 79b19d432932d147ca2e21d913ec0b606fd76d5858e6b810e81dd9c9ddaea4c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_code_review_toolkit-0.4.7.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.4.7-py3-none-any.whl.

File metadata

File hashes

Hashes for open_code_review_toolkit-0.4.7-py3-none-any.whl
Algorithm Hash digest
SHA256 15c86588987fd441aebf7a43235571e2d14f789aa7a8e1f59cbd24ce113978b2
MD5 66055d7edb2f2f4d0377bf3e86b80146
BLAKE2b-256 b425b847a14d55a94163284e46741a12813e14e53a349e56804d52477494f187

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_code_review_toolkit-0.4.7-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.

Release history Release notifications | RSS feed

0.9.0

2 files

0.8.7

2 files

0.8.6

2 files

0.8.5

2 files

0.8.4

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

This release

0.4.7 This release

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page