@diffpal/diffpal-darwin-x64 0.1.21 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +45 -47
  2. package/bin/diffpal +0 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -18,10 +18,9 @@ review platform they rent. It runs in your CI, uses the AI provider you choose,
18
18
  and turns every pull request into clear summaries, actionable inline feedback,
19
19
  review artifacts, and merge gates.
20
20
 
21
- Bring your own provider account, keep your costs and credentials with you, and
22
- keep the review workflow in your repository. DiffPal's goal is to make AI PR
23
- review portable, affordable, and enforceable across GitHub, GitLab, and Azure
24
- DevOps.
21
+ Use the provider path that already works for your team and keep the review
22
+ workflow in your repository. DiffPal's goal is to make AI PR review portable,
23
+ affordable, and enforceable across GitHub, GitLab, and Azure DevOps.
25
24
 
26
25
  | Works with | Publishes | Gates on |
27
26
  | --- | --- | --- |
@@ -56,9 +55,9 @@ Codex, Copilot, OpenCode, Gemini, Claude Code, a hosted API provider, an ordered
56
55
  provider pool, or any ACP-compatible CLI without rebuilding your PR review
57
56
  workflow.
58
57
 
59
- That model keeps cost and account control in your provider account. DiffPal
60
- does not require a hosted review service or per-seat platform subscription to
61
- collect diffs, publish PR feedback, write artifacts, or enforce merge gates.
58
+ That model keeps cost control with your team. DiffPal does not require a hosted
59
+ review service or per-seat platform subscription to collect diffs, publish PR
60
+ feedback, write artifacts, or enforce merge gates.
62
61
 
63
62
  ## Quick Start: GitHub Actions
64
63
 
@@ -82,6 +81,12 @@ files are kept unless you pass `--force`.
82
81
  | --- | --- |
83
82
  | `OPENAI_API_KEY` | Authenticates Codex for the review provider. |
84
83
 
84
+ For public open-source repositories, keep provider credentials away from fork PR
85
+ code. GitHub's fork workflow approval settings control whether outside
86
+ contributors' fork workflows run automatically; they do not make it safe to
87
+ release provider secrets to fork code. Keep DiffPal's secret-backed review job
88
+ limited to same-repository pull requests. Fork PRs should run no-secret CI only.
89
+
85
90
  3. Add the workflow:
86
91
 
87
92
  ```bash
@@ -117,13 +122,25 @@ DiffPal.
117
122
  | GitLab CI | [`examples/ci/gitlab`](examples/ci/gitlab) | MR summary, discussions, Code Quality, SARIF |
118
123
  | Azure Pipelines | [`examples/ci/azure-pipelines`](examples/ci/azure-pipelines) | PR summary thread, PR threads, PR status |
119
124
 
125
+ ## GitHub Action
126
+
127
+ GitHub Actions users can install the
128
+ [DiffPal Review action](https://github.com/marketplace/actions/diffpal-review)
129
+ with `uses: diffpal/action@v1`. The action source and release automation live in
130
+ the separate [diffpal/action](https://github.com/diffpal/action) repository.
131
+
132
+ The action installs `@diffpal/diffpal` by default, then runs
133
+ `diffpal review github`. You still own provider setup and authentication in the
134
+ workflow, so switching provider recipes does not require switching PR review
135
+ platforms.
136
+
120
137
  ## Azure DevOps Marketplace Extension
121
138
 
122
139
  Azure Pipelines users can install the public
123
140
  [DiffPal Review extension](https://marketplace.visualstudio.com/items?itemName=diffpal.diffpal)
124
141
  from the Azure DevOps Marketplace and add the `DiffPalReview@1` task to PR
125
142
  validation pipelines. Extension source and release automation live in the
126
- separate [diffpal-azure-devops](https://github.com/diffpal/azure-devops)
143
+ separate [diffpal/azure-devops](https://github.com/diffpal/azure-devops)
127
144
  repository.
128
145
 
129
146
  The task installs `@diffpal/diffpal` by default, then runs `diffpal review ado`.
@@ -132,8 +149,7 @@ You still need a committed DiffPal config, a provider credential such as
132
149
  checkout. See the [Azure Pipelines setup guide](docs/ci-examples.md#azure-pipelines)
133
150
  for copy-paste examples.
134
151
 
135
- GitHub Actions users can use the
136
- [DiffPal Review action](https://github.com/marketplace/actions/diffpal-review):
152
+ Example GitHub Actions workflow:
137
153
 
138
154
  ```yaml
139
155
  name: diffpal
@@ -145,6 +161,8 @@ on:
145
161
  jobs:
146
162
  review:
147
163
  name: review
164
+ # Provider credentials are only exposed to same-repository PRs.
165
+ # Fork PRs should run no-secret CI only.
148
166
  if: ${{ !github.event.pull_request.draft && github.event.pull_request.head.repo.full_name == github.repository }}
149
167
  runs-on: ubuntu-latest
150
168
  permissions:
@@ -179,6 +197,12 @@ jobs:
179
197
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
180
198
  ```
181
199
 
200
+ `pull_request_target` runs from the default branch of the base repository and is
201
+ useful for trusted automation such as labeling or commenting. Do not combine it
202
+ with checking out the PR head or running package installs, tests, build scripts,
203
+ hooks, provider CLIs, or other fork code. That pattern can expose privileged
204
+ tokens or secrets to untrusted code.
205
+
182
206
  If you prefer copying files manually, use
183
207
  [`examples/configs/codex-api-key/config.yaml`](examples/configs/codex-api-key/config.yaml).
184
208
  For full copy-paste files and host-specific notes, read
@@ -205,17 +229,8 @@ diffpal:
205
229
  block_on: high
206
230
  review:
207
231
  language: en
208
- prompt_profile: v2
209
- strict_evidence: true
210
- strict_injection: true
211
- allow_nearby_context: true
212
232
  instructions: |
213
233
  Prefer actionable findings that are directly supported by the diff.
214
- checks:
215
- - security
216
- - bugs
217
- - performance
218
- - best-practices
219
234
  platforms:
220
235
  github: {}
221
236
  gitlab: {}
@@ -226,22 +241,12 @@ profiles:
226
241
  diffpal:
227
242
  gate:
228
243
  block_on: high
229
- review:
230
- prompt_profile: v2
231
- strict_evidence: true
232
- strict_injection: true
233
- allow_nearby_context: true
234
244
  ```
235
245
 
236
- Review checks are intentionally simple. They ask the agent what to focus on;
237
- DiffPal does not hardcode individual signal slugs:
238
-
239
- | Check | Finding categories the agent may return |
240
- | --- | --- |
241
- | `security` | security |
242
- | `bugs` | correctness, reliability |
243
- | `performance` | performance |
244
- | `best-practices` | maintainability, testing, style |
246
+ DiffPal uses a fixed finding taxonomy: security, correctness, reliability,
247
+ performance, maintainability, testing, and style. Use review instructions to
248
+ change or extend the review scope, for example `Review for OWASP best practices
249
+ and authz/authn regressions.`
245
250
 
246
251
  Severity is impact-based across all categories. The full critical/high/medium/low
247
252
  matrix is in the [config reference](docs/config-reference.md#severity-matrix).
@@ -249,11 +254,6 @@ matrix is in the [config reference](docs/config-reference.md#severity-matrix).
249
254
  Use `diffpal.review.instructions`, the `instructions` action input, or
250
255
  `--instructions-file` for repository-specific review guidance.
251
256
 
252
- The review rollout fields are safe to canary per profile. Keep the repository
253
- default conservative if needed, then set `profiles.ci.diffpal.review` to
254
- `prompt_profile: v2`, `strict_evidence: true`, `strict_injection: true`, and
255
- `allow_nearby_context: true` before making the gate blocking.
256
-
257
257
  ## Provider Recipes and Runtime Types
258
258
 
259
259
  DiffPal delegates review to `diffpal.provider`, which points at a provider
@@ -270,6 +270,9 @@ Ready-made config recipes. These are the same names accepted by
270
270
  | Copilot fine-grained PAT | [`examples/configs/copilot-github-token/config.yaml`](examples/configs/copilot-github-token/config.yaml) | `COPILOT_GITHUB_TOKEN` |
271
271
  | OpenCode ACP | [`examples/configs/opencode-acp/config.yaml`](examples/configs/opencode-acp/config.yaml) | OpenCode-specific |
272
272
 
273
+ For Codex subscription auth, generate a fresh `CODEX_AUTH_JSON_B64` value with
274
+ the command recipe in [`examples/README.md`](examples/README.md#generate-codex_auth_json_b64).
275
+
273
276
  Use `generic_acp` for any CLI that can start an ACP stdio server:
274
277
 
275
278
  ```yaml
@@ -298,15 +301,10 @@ authenticated:
298
301
  | `openai`, `aistudio` | Hosted API providers |
299
302
  | `pool` | Ordered provider failover |
300
303
 
301
- Hosted providers receive DiffPal's read-only review tools during each review:
302
- `git_changed_files`, `git_diff`, `list_files`, `read_file`, and
303
- `search_files`. These are request-level tools, not provider config. ACP
304
- providers keep their own tool surface.
305
-
306
- For hosted providers, DiffPal records review tool usage in the findings bundle
307
- and rejects a result when the provider did not inspect the diff with `git_diff`.
308
- ACP providers use their native Git and filesystem tools, so DiffPal records that
309
- runtime inspection proof is not available for that provider class.
304
+ DiffPal passes the review task snapshot with base and head revisions. Providers
305
+ inspect the repository diff and supporting code through their available Git and
306
+ filesystem tools, then DiffPal validates the structured findings against the
307
+ changed ranges it collected internally.
310
308
 
311
309
  ## MCP Servers
312
310
 
package/bin/diffpal CHANGED
Binary file
package/package.json CHANGED
@@ -13,5 +13,5 @@
13
13
  "os": [
14
14
  "darwin"
15
15
  ],
16
- "version": "0.1.21"
16
+ "version": "0.1.23"
17
17
  }