Skip to content

Review Lifecycle

DiffPal review is a CI job lifecycle. Each stage has a distinct role so failures are clear and artifacts are consistent.

Review Scope Resolution

DiffPal resolves the base and head revisions for the pull request, merge request, or candidate commit. It records changed files, changed line ranges, and related metadata that define the review scope.

Shallow clones, missing target branches, or incorrect base/head values usually break this stage. Host-specific setup pages describe the required checkout behavior.

Review Request

DiffPal combines the review scope metadata, repository configuration, review instructions, language, and gate threshold into a provider request. The selected provider or ACP-compatible agent inspects the requested base..head change with its available tools.

Structured Findings

The provider returns structured review output: a change summary and zero or more findings. A finding describes a concrete issue, its severity, category, impact, and the changed lines it applies to.

Validation

DiffPal validates and normalizes provider output before publishing it. Findings must map back to the reviewed change and the configured schema. Invalid or unanchored output is not treated as publishable inline feedback.

Publishing

When a native publisher is selected, DiffPal turns validated output into host feedback such as a pull request summary, merge request discussion, file-level comment, status, SARIF, or Code Quality report. The exact surfaces depend on the code host and feedback mode.

Artifact Generation

DiffPal writes machine-readable and human-readable artifacts under .artifacts/diffpal/. These artifacts are useful for audit trails, downstream CI steps, and supported report surfaces.

Optional Gate

The gate is separate from feedback. When enabled, DiffPal compares findings to the configured blocking threshold and returns a failing CI result if blocking findings exist. When disabled, feedback and artifacts can still show blocking findings without failing the merge check.

For exact config fields and exit behavior, use Configuration and Exit behavior.

Released as open source software.