@humanbased/crosscheck 1.2.0-beta.35 โ 1.2.0-beta.53
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.
- package/LICENSE +1 -1
- package/README.md +126 -393
- package/README.zh.md +1 -1
- package/assets/icon-256.png +0 -0
- package/assets/linear-comment.svg +18 -0
- package/assets/linear-onboard.svg +30 -0
- package/assets/linear-status.svg +23 -0
- package/assets/linear-test.svg +34 -0
- package/crosscheck.config.example.yml +12 -4
- package/dist/__tests__/linear-branding.test.d.ts +2 -0
- package/dist/__tests__/linear-branding.test.d.ts.map +1 -0
- package/dist/__tests__/linear-branding.test.js +156 -0
- package/dist/__tests__/linear-branding.test.js.map +1 -0
- package/dist/__tests__/linear-identity.test.js +6 -6
- package/dist/__tests__/linear-identity.test.js.map +1 -1
- package/dist/__tests__/linear-notify.test.js +1 -1
- package/dist/__tests__/linear-notify.test.js.map +1 -1
- package/dist/__tests__/linear-test-ref.test.d.ts +2 -0
- package/dist/__tests__/linear-test-ref.test.d.ts.map +1 -0
- package/dist/__tests__/linear-test-ref.test.js +81 -0
- package/dist/__tests__/linear-test-ref.test.js.map +1 -0
- package/dist/__tests__/linear-verify.test.js +21 -2
- package/dist/__tests__/linear-verify.test.js.map +1 -1
- package/dist/__tests__/linear-worker.test.js +2 -2
- package/dist/__tests__/linear-worker.test.js.map +1 -1
- package/dist/__tests__/optimize.test.js +1 -1
- package/dist/__tests__/optimize.test.js.map +1 -1
- package/dist/__tests__/review-models.test.js +14 -1
- package/dist/__tests__/review-models.test.js.map +1 -1
- package/dist/cli.js +22 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/linear-test.d.ts +18 -0
- package/dist/commands/linear-test.d.ts.map +1 -0
- package/dist/commands/linear-test.js +130 -0
- package/dist/commands/linear-test.js.map +1 -0
- package/dist/commands/onboard.d.ts +10 -0
- package/dist/commands/onboard.d.ts.map +1 -1
- package/dist/commands/onboard.js +83 -2
- package/dist/commands/onboard.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +6 -3
- package/dist/commands/status.js.map +1 -1
- package/dist/config/schema.d.ts +15 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +18 -5
- package/dist/config/schema.js.map +1 -1
- package/dist/lib/review-models.d.ts.map +1 -1
- package/dist/lib/review-models.js +10 -3
- package/dist/lib/review-models.js.map +1 -1
- package/dist/linear/comment.d.ts.map +1 -1
- package/dist/linear/comment.js +5 -1
- package/dist/linear/comment.js.map +1 -1
- package/dist/linear/identity.d.ts +13 -1
- package/dist/linear/identity.d.ts.map +1 -1
- package/dist/linear/identity.js +40 -4
- package/dist/linear/identity.js.map +1 -1
- package/dist/linear/notify.d.ts +1 -1
- package/dist/linear/notify.d.ts.map +1 -1
- package/dist/linear/notify.js +13 -2
- package/dist/linear/notify.js.map +1 -1
- package/dist/linear/verify.d.ts +6 -1
- package/dist/linear/verify.d.ts.map +1 -1
- package/dist/linear/verify.js +2 -0
- package/dist/linear/verify.js.map +1 -1
- package/docs/linear-identity-contract.md +6 -0
- package/docs/linear-identity.md +80 -11
- package/get-started.md +34 -9
- package/package.json +1 -1
package/get-started.md
CHANGED
|
@@ -161,10 +161,16 @@ reviews the diff as usual โ it never errors.
|
|
|
161
161
|
Separate from enrichment above, which only *reads*. When `linear.enabled: true`,
|
|
162
162
|
crosscheck mirrors each review verdict onto the PR's Linear issue.
|
|
163
163
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
164
|
+
`crosscheck onboard` asks which rung of the attribution ladder you want and writes
|
|
165
|
+
the config for you.
|
|
166
|
+
|
|
167
|
+
**Start with `api_key`.** It reuses `LINEAR_API_KEY`, works immediately, and posts
|
|
168
|
+
the comment โ the feature is fully functional. Comments attribute to your Linear
|
|
169
|
+
account, led by a `๐ค crosscheck ยท <model>` signature line.
|
|
170
|
+
|
|
171
|
+
Climb to `client_credentials` when more than one thing writes to your workspace and
|
|
172
|
+
you need them told apart. It uses an OAuth app โ one per workspace, not per user โ
|
|
173
|
+
so comments post as crosscheck itself with its own icon:
|
|
168
174
|
|
|
169
175
|
```bash
|
|
170
176
|
export LINEAR_CLIENT_ID=...
|
|
@@ -174,6 +180,25 @@ export LINEAR_CLIENT_SECRET=...
|
|
|
174
180
|
A failed T1 token mint aborts the run rather than falling back to `api_key` โ
|
|
175
181
|
a silent downgrade would put agent writes back under a human's name.
|
|
176
182
|
|
|
183
|
+
`crosscheck onboard` walks you through the choice:
|
|
184
|
+
|
|
185
|
+
<p align="center">
|
|
186
|
+
<img src="./assets/linear-onboard.svg" alt="crosscheck onboard โ choosing a Linear attribution rung" width="700" />
|
|
187
|
+
</p>
|
|
188
|
+
|
|
189
|
+
Before opening a PR, `crosscheck linear-test` exercises the whole path and posts nothing โ
|
|
190
|
+
identity, issue lookup, verdict filter, and the exact comment body:
|
|
191
|
+
|
|
192
|
+
<p align="center">
|
|
193
|
+
<img src="./assets/linear-test.svg" alt="crosscheck linear-test โ dry-run verification" width="700" />
|
|
194
|
+
</p>
|
|
195
|
+
|
|
196
|
+
`crosscheck status` shows which rung is active whenever `linear.enabled` is true:
|
|
197
|
+
|
|
198
|
+
<p align="center">
|
|
199
|
+
<img src="./assets/linear-status.svg" alt="crosscheck status โ the Linear identity section" width="620" />
|
|
200
|
+
</p>
|
|
201
|
+
|
|
177
202
|
Full walkthrough, including the two Linear UI gotchas that trip people up:
|
|
178
203
|
[docs/linear-identity.md](docs/linear-identity.md).
|
|
179
204
|
|
|
@@ -1036,7 +1061,7 @@ vendors:
|
|
|
1036
1061
|
codex:
|
|
1037
1062
|
enabled: true
|
|
1038
1063
|
auth: subscription # subscription | api-key
|
|
1039
|
-
model: gpt-5.6-terra #
|
|
1064
|
+
model: gpt-5.6-terra # pins the review model; unset = tier model (api-key) / CLI default (subscription)
|
|
1040
1065
|
# timeout_sec: 1200 # max seconds per CLI call; unset = tier-based (300/600/1200)
|
|
1041
1066
|
|
|
1042
1067
|
claude:
|
|
@@ -1176,10 +1201,10 @@ linear: # write review verdicts back to a Linear issue (op
|
|
|
1176
1201
|
scopes: "read,write" # comma-separated; initiative:* are separate scopes
|
|
1177
1202
|
identity:
|
|
1178
1203
|
actor: crosscheck
|
|
1179
|
-
signature: "๐ค {actor} ยท {product}
|
|
1204
|
+
signature: "๐ค {actor} ยท {model}" # {actor} {product} {model} {reviewer} {icon}
|
|
1205
|
+
icon_url: "" # rendered where {icon} appears; app avatar is preferred
|
|
1180
1206
|
per_step_actor: true # crosscheck/review vs crosscheck/fix in Linear
|
|
1181
|
-
comment_on: # verdicts mirrored to the issue
|
|
1182
|
-
- APPROVE
|
|
1207
|
+
comment_on: # verdicts mirrored to the issue (default omits APPROVE)
|
|
1183
1208
|
- NEEDS_WORK
|
|
1184
1209
|
- BLOCK
|
|
1185
1210
|
team_keys: [] # e.g. [IN] โ required to match bare refs like IN-42
|
|
@@ -1313,7 +1338,7 @@ If none match, origin is `human` and the PR is skipped in cross-vendor mode.
|
|
|
1313
1338
|
codex review --base <base-branch> --title "<pr-title>"
|
|
1314
1339
|
```
|
|
1315
1340
|
|
|
1316
|
-
The `--base` flag diffs current HEAD against the base branch โ exactly the PR diff.
|
|
1341
|
+
The `--base` flag diffs current HEAD against the base branch โ exactly the PR diff. An explicit `vendors.codex.model` (or matching `model_tiers` entry) is passed as `-c model=...` under either auth mode. When unset: `auth: subscription` passes no model flag (the Codex CLI picks its default), while `auth: api-key` selects the model by quality tier (`fast` โ `gpt-5.6-luna`, `balanced` โ `gpt-5.6-terra`, `thorough` โ `gpt-5.6-sol`).
|
|
1317
1342
|
|
|
1318
1343
|
### How Claude reviews run
|
|
1319
1344
|
|