@humanbased/crosscheck 1.9.2-beta.9 → 1.10.0-beta.16

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 (118) hide show
  1. package/crosscheck.config.example.yml +33 -16
  2. package/dist/__tests__/agent-model-scan.test.d.ts +2 -0
  3. package/dist/__tests__/agent-model-scan.test.d.ts.map +1 -0
  4. package/dist/__tests__/agent-model-scan.test.js +77 -0
  5. package/dist/__tests__/agent-model-scan.test.js.map +1 -0
  6. package/dist/__tests__/detector.test.js +21 -0
  7. package/dist/__tests__/detector.test.js.map +1 -1
  8. package/dist/__tests__/init-review-strategy.test.d.ts +2 -0
  9. package/dist/__tests__/init-review-strategy.test.d.ts.map +1 -0
  10. package/dist/__tests__/init-review-strategy.test.js +67 -0
  11. package/dist/__tests__/init-review-strategy.test.js.map +1 -0
  12. package/dist/__tests__/onboard-preservation.test.js +4 -4
  13. package/dist/__tests__/onboard-preservation.test.js.map +1 -1
  14. package/dist/__tests__/opencode-process.test.js +17 -1
  15. package/dist/__tests__/opencode-process.test.js.map +1 -1
  16. package/dist/__tests__/review-escalation.test.d.ts +2 -0
  17. package/dist/__tests__/review-escalation.test.d.ts.map +1 -0
  18. package/dist/__tests__/review-escalation.test.js +56 -0
  19. package/dist/__tests__/review-escalation.test.js.map +1 -0
  20. package/dist/__tests__/review-models.test.js +22 -8
  21. package/dist/__tests__/review-models.test.js.map +1 -1
  22. package/dist/__tests__/review-runtime-policy.test.d.ts +2 -0
  23. package/dist/__tests__/review-runtime-policy.test.d.ts.map +1 -0
  24. package/dist/__tests__/review-runtime-policy.test.js +97 -0
  25. package/dist/__tests__/review-runtime-policy.test.js.map +1 -0
  26. package/dist/__tests__/review-selection.test.d.ts +2 -0
  27. package/dist/__tests__/review-selection.test.d.ts.map +1 -0
  28. package/dist/__tests__/review-selection.test.js +38 -0
  29. package/dist/__tests__/review-selection.test.js.map +1 -0
  30. package/dist/__tests__/review-strategy.test.js +42 -12
  31. package/dist/__tests__/review-strategy.test.js.map +1 -1
  32. package/dist/__tests__/runner.test.js +2 -1
  33. package/dist/__tests__/runner.test.js.map +1 -1
  34. package/dist/__tests__/watch-models.test.d.ts +2 -0
  35. package/dist/__tests__/watch-models.test.d.ts.map +1 -0
  36. package/dist/__tests__/watch-models.test.js +74 -0
  37. package/dist/__tests__/watch-models.test.js.map +1 -0
  38. package/dist/commands/init-review-strategy.d.ts +13 -0
  39. package/dist/commands/init-review-strategy.d.ts.map +1 -0
  40. package/dist/commands/init-review-strategy.js +140 -0
  41. package/dist/commands/init-review-strategy.js.map +1 -0
  42. package/dist/commands/init.d.ts.map +1 -1
  43. package/dist/commands/init.js +6 -2
  44. package/dist/commands/init.js.map +1 -1
  45. package/dist/commands/onboard.d.ts +6 -6
  46. package/dist/commands/onboard.d.ts.map +1 -1
  47. package/dist/commands/onboard.js +6 -11
  48. package/dist/commands/onboard.js.map +1 -1
  49. package/dist/commands/review.d.ts.map +1 -1
  50. package/dist/commands/review.js +9 -3
  51. package/dist/commands/review.js.map +1 -1
  52. package/dist/commands/watch.d.ts.map +1 -1
  53. package/dist/commands/watch.js +5 -2
  54. package/dist/commands/watch.js.map +1 -1
  55. package/dist/config/loader.d.ts +6 -0
  56. package/dist/config/loader.d.ts.map +1 -1
  57. package/dist/config/loader.js +11 -0
  58. package/dist/config/loader.js.map +1 -1
  59. package/dist/config/review-model-tiers.json +7 -7
  60. package/dist/config/review-strategy.json +136 -48
  61. package/dist/config/schema.d.ts +150 -0
  62. package/dist/config/schema.d.ts.map +1 -1
  63. package/dist/config/schema.js +27 -3
  64. package/dist/config/schema.js.map +1 -1
  65. package/dist/github/detector.d.ts.map +1 -1
  66. package/dist/github/detector.js +9 -7
  67. package/dist/github/detector.js.map +1 -1
  68. package/dist/lib/agent-model-scan.d.ts +28 -0
  69. package/dist/lib/agent-model-scan.d.ts.map +1 -0
  70. package/dist/lib/agent-model-scan.js +188 -0
  71. package/dist/lib/agent-model-scan.js.map +1 -0
  72. package/dist/lib/codex-model-fallback.d.ts +1 -1
  73. package/dist/lib/codex-model-fallback.d.ts.map +1 -1
  74. package/dist/lib/codex-model-fallback.js +9 -3
  75. package/dist/lib/codex-model-fallback.js.map +1 -1
  76. package/dist/lib/review-models.d.ts +1 -1
  77. package/dist/lib/review-models.d.ts.map +1 -1
  78. package/dist/lib/review-models.js +3 -7
  79. package/dist/lib/review-models.js.map +1 -1
  80. package/dist/lib/review-selection.d.ts +13 -0
  81. package/dist/lib/review-selection.d.ts.map +1 -0
  82. package/dist/lib/review-selection.js +107 -0
  83. package/dist/lib/review-selection.js.map +1 -0
  84. package/dist/lib/review-strategy.d.ts +5 -1
  85. package/dist/lib/review-strategy.d.ts.map +1 -1
  86. package/dist/lib/review-strategy.js +8 -2
  87. package/dist/lib/review-strategy.js.map +1 -1
  88. package/dist/lib/runner.d.ts +5 -2
  89. package/dist/lib/runner.d.ts.map +1 -1
  90. package/dist/lib/runner.js +53 -31
  91. package/dist/lib/runner.js.map +1 -1
  92. package/dist/lib/watch-models.d.ts +16 -0
  93. package/dist/lib/watch-models.d.ts.map +1 -0
  94. package/dist/lib/watch-models.js +69 -0
  95. package/dist/lib/watch-models.js.map +1 -0
  96. package/dist/reviewers/claude.d.ts.map +1 -1
  97. package/dist/reviewers/claude.js +13 -7
  98. package/dist/reviewers/claude.js.map +1 -1
  99. package/dist/reviewers/codex.d.ts.map +1 -1
  100. package/dist/reviewers/codex.js +8 -5
  101. package/dist/reviewers/codex.js.map +1 -1
  102. package/dist/reviewers/conflict-resolve.js +2 -2
  103. package/dist/reviewers/conflict-resolve.js.map +1 -1
  104. package/dist/reviewers/fix.d.ts.map +1 -1
  105. package/dist/reviewers/fix.js +3 -5
  106. package/dist/reviewers/fix.js.map +1 -1
  107. package/dist/reviewers/opencode-process.d.ts +2 -1
  108. package/dist/reviewers/opencode-process.d.ts.map +1 -1
  109. package/dist/reviewers/opencode-process.js +18 -2
  110. package/dist/reviewers/opencode-process.js.map +1 -1
  111. package/dist/reviewers/opencode.d.ts +4 -1
  112. package/dist/reviewers/opencode.d.ts.map +1 -1
  113. package/dist/reviewers/opencode.js +35 -8
  114. package/dist/reviewers/opencode.js.map +1 -1
  115. package/docs/dynamic-thoroughness.md +50 -51
  116. package/docs/research/review-models-2026-11-01.md +100 -0
  117. package/get-started.md +77 -23
  118. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/reviewers/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/reviewers/opencode.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,13 @@
2
2
 
3
3
  | | |
4
4
  |---|---|
5
- | **Strategy version** | `1.1.0` — [`src/config/review-strategy.json`](../src/config/review-strategy.json) |
5
+ | **Strategy version** | `1.4.0` — [`src/config/review-strategy.json`](../src/config/review-strategy.json) |
6
6
  | **Analysis run** | 2026-08-07T05:00:00Z |
7
7
  | **Census window** | 2026-07-30 → 2026-08-07 |
8
8
  | **Corpus** | 400 merged PRs · 199 crosscheck-engaged · 597 agent calls · 43 locally-logged runs |
9
9
  | **Hand-labelled** | 40 BLOCK findings read against cited source |
10
- | **Next review due** | 2026-10-06 (60-day interval) |
10
+ | **Model/pricing refresh** | 2026-11-01 · [sources and decision](research/review-models-2026-11-01.md) |
11
+ | **Next review due** | 2026-12-01 (30-day interval) |
11
12
  | **Re-verify** | `npm run verify:strategy` |
12
13
 
13
14
  Status: **adopted and active**. This document is the evidence behind
@@ -15,7 +16,7 @@ Status: **adopted and active**. This document is the evidence behind
15
16
  crosscheck reads at runtime. The runner and `crosscheck review` classify every PR from its cloned
16
17
  working copy, fold the result into the quality config the reviewers receive,
17
18
  and stamp the version, class, and tier into each annotation. When they disagree, the JSON wins and this document is
18
- stale — the weekly `Review Strategy` workflow files an issue when either drifts.
19
+ stale. The weekly `Review Strategy` workflow checks policy consistency, age and source-page strings; it does not semantically verify this prose or numeric prices.
19
20
 
20
21
  **Enforced today:** the `Tier`, `Effort`, and `Steps` columns below all reach the
21
22
  run. A class resolving to a null tier (class 1) skips the workflow outright,
@@ -92,6 +93,8 @@ optimize latency.
92
93
 
93
94
  ---
94
95
 
96
+ The census and findings below describe the August observation window. They are historical evidence, not a claim about today's merge gates, traffic or model quality. Current model policy is §6.5.
97
+
95
98
  ## 1. Methodology
96
99
 
97
100
  | Input | What it gives | Confidence |
@@ -457,55 +460,49 @@ A tier drop is defensible only for mechanical fix steps on trivial PRs.
457
460
 
458
461
  Encoded in [`src/config/review-strategy.json`](../src/config/review-strategy.json), which
459
462
  follows the pattern `review-model-tiers.json` already established: an `updated` date,
460
- `sources` with verifiable `checks` strings, and a `review_interval_days` so drift is
463
+ `sources` with verifiable `checks` strings, and a `review_interval_days` so age and source drift are
461
464
  detectable rather than silent (§6.6).
462
465
 
463
- **Vendor tiers.** Cost is per 48k-output call, the census median.
466
+ **Current review ceiling (user decision, 2026-11-01).** Every provider's flagship is excluded from code review, including free listings. Claude defaults are Haiku 5.5 / Sonnet 5.5 / Sonnet 5.5; Codex API defaults are Luna / Sol / Sol. Thorough means more effort on an eligible model, not permission to select Opus, Fable, Astra, Kimi K3, GLM 5.3, DeepSeek Pro or MiniMax M3. The price table retains those models as excluded cost references.
464
467
 
465
- | Tier | Claude | $/call | SWE-b | Codex | $/call | Effort |
466
- |---|---|---|---|---|---|---|
467
- | `fast` | `claude-haiku-4-5` | $0.240 | 73.3% | `gpt-5.6-luna` | **$0.058** | Claude: **none** · Codex: all |
468
- | `balanced` | `claude-sonnet-5` | $0.720 | 85.2% | `gpt-5.6-terra` | $0.576 | both: all |
469
- | `thorough` | `claude-opus-5` | $1.200 | 96.0% | `gpt-5.6-sol` | $1.440 | both: all |
468
+ **User-specific pools.** `ck init` scans installed agents and model configuration, then saves `quality.review_models` and the user's `balanced`, `speed-max` or `cost-min` preference. That review pool outranks legacy authoring/fixing model pins. Balanced chooses a standard eligible model when available for normal/risky work; speed-max chooses a fast class with lower effort; cost-min ranks advertised input/output rates, including free tiers. Unknown rates remain unknown, and unknown custom deployments need explicit non-flagship classification. Current model effort/variant metadata bounds each request. Risk and later rounds can raise effort, capped at high; once the ceiling binds, rechecks retain that judge and narrow the scope rather than escalate beyond policy.
470
469
 
471
- *Claude strengths:* highest measured capability at `thorough`, most recent knowledge
472
- cutoff (May 2026). *Weakness:* the `fast` tier has no effort parameter and only a 200k
473
- context. *Codex strengths:* `fast` is 4× cheaper than Haiku on output, effort available
474
- at every tier, 1.05M context throughout. *Weakness:* cross-family benchmarks are not
475
- comparable — validate locally before assuming tier parity.
470
+ Escalation uses that same selected pool and exact discovered variant list, rather
471
+ than the legacy authoring tier map or an empty bundled OpenCode ladder. Each
472
+ round compares its permitted model/effort with the preceding round. A
473
+ thorough-class OpenCode model with no verified variants has no remaining model
474
+ or effort step: the runner explicitly logs `strategy_ceiling_reached` and
475
+ “at review ceiling,” while fixes and rechecks continue under their existing
476
+ round and budget limits. This is also the result when speed-max's medium ceiling
477
+ binds, a pin collapses tier choices, or the pool already runs at high. An empty
478
+ variant list never authorizes guessed controls or promotion to a flagship.
476
479
 
477
- **`claude-fable-5` is banned from code review** (`banned_models` in the strategy file,
478
- enforced by `verify:strategy`). At $50/MTok output it is 2× `claude-opus-5` for a
479
- *lower* SWE-bench Verified score — $2.40 per call at the measured 48k output tokens,
480
- with no capability justification at any tier.
480
+ **OpenCode free tiers can change during watch.** With refresh enabled, the watcher performs a bounded metadata scan before the next review after 15 minutes. It adds only advertised-zero-price, known non-flagship models on an already enabled OpenCode agent, honors explicit exclusions, and removes vanished free models or models whose price becomes positive/unknown. Each active review keeps a snapshot. Refresh does not rewrite disk configuration, enable another agent, or silently opt into a new paid route. Exhausted routes cool down for 15 minutes; fallback stays inside the existing permitted pool. A provider listing is not proof of usable quota.
481
481
 
482
- ### The second axis: domain
482
+ The [discovery procedure and limitations](research/review-models-2026-11-01.md) distinguish CLI catalog evidence, configured preference, custom-provider execution support and account entitlement. No matched defect-detection evaluation or measured speed ranking is claimed. Prices come from [Anthropic pricing](https://platform.claude.com/docs/en/about-claude/pricing), [OpenAI pricing](https://developers.openai.com/api/docs/pricing), and [OpenCode Console](https://opencode.ai/v2/docs/console/models/).
483
483
 
484
- Capability is domain-shaped, not scalar, and a single tier ladder cannot express that.
485
- SWE-bench Verified resolves issues in *Python* repositories; in this census **42% of
486
- reviewed PRs are frontend-dominant and 55% touch frontend at all**. On the domain that
487
- carries most of the workload the ordering inverts:
484
+ Prices below are standard synchronous USD per million tokens. The last column illustrates **100k uncached input + 48k output** at each provider's listed rates; it is a scenario, not a measured contemporary review bill.
488
485
 
489
- | Frontend Code Arena (Elo, blind pairwise) | | SWE-bench Verified | |
490
- |---|---|---|---|
491
- | **Kimi K3** *(open)* | **1679** | **Claude Opus 5** | **96.0** |
492
- | Claude Fable 5 | 1631 | Claude Sonnet 5 | 85.2 |
493
- | GPT-5.6 Sol | 1618 | DeepSeek V4 Pro *(open)* | 80.6 |
494
- | GLM-5.2 *(open)* | 1587 | DeepSeek V4 Flash *(open)* | 79.0 |
495
- | Claude Opus 4.8 | 1562 | GLM-5 *(open)* | 77.8 |
496
- | Grok-4.5 | 1558 | Claude Haiku 4.5 | 73.3 |
497
-
498
- The most capable frontend model available is open-weight, and it is a different model
499
- from the backend leader. Hence `domains` in the strategy file: `frontend` prefers
500
- `kimi-k3` → `gpt-5.6-sol` → `claude-opus-5` at `thorough`; `backend` prefers
501
- `claude-opus-5` → `gpt-5.6-sol`. `mixed` and `unknown` fall back to `backend`.
502
-
503
- > **Confidence: hypothesis, marked as such in the JSON.** Arena measures blind human
504
- > preference on *generated* frontend output — a generation task, where review is
505
- > detection. The same asymmetry that limits SWE-bench applies. And **Claude Opus 5 is
506
- > absent from the retrieved frontend leaderboard** (only Opus 4.8 at 1562) — a missing
507
- > measurement, not a low score. The backend row is `measured`; the frontend row needs a
508
- > local A/B before it should be trusted over the default.
486
+ | Route / model | Input | Output | Cache read | Scenario $ |
487
+ |---|---:|---:|---:|---:|
488
+ | Claude / Haiku 5.5 (≤100k input) | 0.10 | 0.50 | 0.01 | 0.034 |
489
+ | Claude / Sonnet 5.5 | 2.00 | 10.00 | 0.10 | 0.680 |
490
+ | Claude / Opus 5.5 | 4.00 | 20.00 | 0.20 | 1.360 |
491
+ | Codex / GPT-6 Luna | 0.10 | 0.50 | 0.01 | 0.034 |
492
+ | Codex / GPT-6.1 Sol | 2.00 | 10.00 | 0.10 | 0.680 |
493
+ | Codex / GPT-6 Astra | 10.00 | 50.00 | 1.00 | 3.400 |
494
+ | OpenCode Console / `opencode/glm-5.3-flash` | 0.15 | 0.50 | 0.03 | 0.039 |
495
+ | OpenCode Console / `opencode/minimax-m3` | 0.30 | 1.20 | 0.06 | 0.088 |
496
+ | OpenCode Console / `opencode/deepseek-v4.1-flash` | 0.30 | 1.20 | 0.006 | 0.088 |
497
+ | OpenCode Console / `opencode/glm-5.3` | 1.40 | 4.40 | 0.26 | 0.351 |
498
+ | OpenCode Console / `opencode/deepseek-v4-pro` | 1.74 | 3.48 | 0.145 | 0.341 |
499
+ | OpenCode Console / `opencode/kimi-k3` | 3.00 | 15.00 | 0.30 | 1.020 |
500
+
501
+ The [pricing sources](research/review-models-2026-11-01.md) also record cache writes, context thresholds and direct-provider differences. Haiku above 100k input costs $0.50/$2.50 per MTok; GPT above 272k input has separate input/output rates. Repeated context, reasoning tokens, retries, fix/recheck calls, provider fees and tokenizer differences affect the full bill. Subscription allowances cannot be priced as API invoices. Do not reuse the old output-only 48k estimate as total cost.
502
+
503
+ **Variant handling.** Live OpenCode discovery records exact variant names. An empty effort list means the provider default is retained; no guessed variant is reported. Native API effort support alone does not establish an OpenCode variant. Explicit legacy variants still use V1 `--variant` or a V2 suffix, subject to the flagship ceiling. Native API prices must not be assigned to a private deployment merely because its underlying family is known.
504
+
505
+ **Domain choices remain hypotheses.** Generation Elo and issue-resolution scores are historical context, not evidence of review precision or recall. Domain preferences are evaluation lists, not a separate vendor selector. Different CLIs can run the same underlying model family. Before promoting a candidate, replay matched frontend/backend PRs and seeded defects; compare actionable recall, false positives, completion rate, latency, fixer regressions and whole-loop cost.
509
506
 
510
507
  **PR classes.** First match wins, so ordering is the routing logic.
511
508
 
@@ -515,9 +512,9 @@ from the backend leader. Hence `domains` in the strategy file: `frontend` prefer
515
512
  | 2 | **Security / data-critical** | risky path, `risk:T3`, or hotfix→default branch | `thorough` | high | review, fix, recheck |
516
513
  | 3 | Deletion-only | ≤ 5 additions with ≥ 20 deletions | `fast` | medium | review |
517
514
  | 4 | Documentation / specification | ≥ 50% `.md`/`.rst`/`.adoc` | `balanced` | high | review |
518
- | 5 | Test-only | every file is a test or fixture | `fast` | medium | review, fix |
515
+ | 5 | Test-only | every file is a test or fixture | `fast` | medium | review, fix, recheck |
519
516
  | 6 | Config / infrastructure | ≥ 50% config, no source files | `balanced` | high | review, fix, recheck |
520
- | 7 | Trivial | ≤ 3 files and ≤ 150 source churn | `fast` | medium | review, fix |
517
+ | 7 | Trivial | ≤ 3 files and ≤ 150 source churn | `fast` | medium | review, fix, recheck |
521
518
  | 8 | Standard code | fallthrough | `balanced` | medium | review, fix, recheck |
522
519
 
523
520
  Three classes carry reasoning that is not obvious from the row:
@@ -556,14 +553,14 @@ carries the strategy version, the PR class that was matched, and the tier that c
556
553
  selected — in both the machine annotation and the human-readable line.
557
554
 
558
555
  ```
559
- <!-- crosscheck: origin=claude reviewer=claude model=claude-opus-5 type=review
560
- round=1 verdict=BLOCK strategy=1.1.0 class=risky tier=thorough
556
+ <!-- crosscheck: origin=claude reviewer=claude model=claude-sonnet-5-5 type=review
557
+ round=1 verdict=BLOCK strategy=1.4.0 class=risky tier=thorough
561
558
  service=crosscheck sha=abc123 -->
562
559
  ```
563
560
 
564
561
  > _Reviewed with [Claude Code](https://claude.ai/code) via [Crosscheck](https://github.com/humanbased-ai/crosscheck)
565
- > with Opus 5 (high) — thorough tier · touches a security or data-critical path, where a
566
- > missed defect is expensive · strategy v1.1.0_
562
+ > with Sonnet 5.5 (high) — thorough tier · touches a security or data-critical path, where a
563
+ > missed defect is expensive · strategy v1.4.0_
567
564
 
568
565
  The rationale text is not written per review — it is the matched class's `reason` field,
569
566
  so the explanation and the routing decision cannot drift apart. `strategy`, `class`, and
@@ -736,6 +733,8 @@ quality:
736
733
 
737
734
  - [Anthropic model catalog](https://platform.claude.com/docs/en/about-claude/models/overview) — pricing, legacy status
738
735
  - [Anthropic effort parameter](https://platform.claude.com/docs/en/build-with-claude/effort) — levels, guidance, caching constraint
739
- - [OpenAI model catalog](https://developers.openai.com/api/docs/models) — GPT-5.6 family
736
+ - [OpenAI pricing](https://developers.openai.com/api/docs/pricing) — current GPT rates and context tiers
737
+ - [OpenCode Console models](https://opencode.ai/v2/docs/console/models/) — provider-qualified candidates and prices
738
+ - [2026-11-01 refresh](research/review-models-2026-11-01.md) — scope, limitations and maintenance procedure
740
739
  - [CR-Bench](https://arxiv.org/html/2603.11078v1) — review precision/recall/SNR
741
740
  - [SWE-bench Verified leaderboard](https://benchlm.ai/benchmarks/sweVerified) — Claude-family scores
@@ -0,0 +1,100 @@
1
+ # User-specific Crosscheck review models — 2026-11-01
2
+
3
+ A public model catalog does not tell a reviewer which agents a user installed,
4
+ which custom deployment they configured, or which free tier still has quota.
5
+ `ck init` now records that user's model pool and budget preference. `ck watch`
6
+ can update advertised free candidates during its session without changing an
7
+ active review or opting into a new paid route.
8
+
9
+ The user confirmed a ceiling on **every provider's flagship**, including free
10
+ listings. Defaults therefore stop at Sonnet 5.5 and GPT-6 Sol. Fable, Opus,
11
+ Astra, Kimi K3, GLM 5.3, DeepSeek Pro and MiniMax M3 remain excluded reference
12
+ models. Unknown custom deployments require explicit non-flagship classification;
13
+ an opaque name alone cannot establish that classification.
14
+
15
+ ## What the scan establishes
16
+
17
+ | Agent | Source | Interpretation |
18
+ |---|---|---|
19
+ | Codex | `debug models` and user `config.toml`, including active profile | CLI-visible model IDs and efforts; configured custom providers are reported separately |
20
+ | Claude | User settings, model allow/deny lists, alias overrides, picker metadata and allowlisted model variables | User preference and declared model identity; unknown deployments require classification |
21
+ | OpenCode | `models --verbose --pure`, `debug config --pure` in a temporary directory | Runtime-visible provider/model IDs, advertised prices, exact variant names and configured default |
22
+
23
+ None of these is a paid inference request or proof of account entitlement.
24
+ OpenCode's scanner projects only model IDs/family, price and variant names;
25
+ provider headers, options, endpoint URLs, hooks and credentials are not saved.
26
+ Read failures report a bounded generic diagnostic rather than raw CLI output.
27
+ Zero placeholders on a private route are treated as unknown unless its ID advertises a free variant; built-in OpenCode-provider free prices are retained.
28
+ External plugins are disabled during OpenCode discovery. A CLI that cannot
29
+ provide this metadata leaves the prior strategy intact.
30
+
31
+ Codex's isolated executor uses `--ignore-user-config`, so it drops custom provider
32
+ definitions. A configured custom Codex provider is therefore not auto-selected;
33
+ use its supported OpenCode route instead. Codex's official app-server
34
+ `model/list` is an alternative future discovery source; it also distinguishes
35
+ catalog capabilities from account-dependent availability.
36
+ [Codex developer commands](https://learn.chatgpt.com/docs/developer-commands),
37
+ [app-server models](https://learn.chatgpt.com/docs/app-server#models).
38
+
39
+ Claude aliases such as `best` and `opusplan`, model overrides, and custom picker
40
+ `behavesAs` fields can hide a premium identity. The scan resolves known identities
41
+ before filtering. The runner also rejects a reported flagship substitution.
42
+ [Claude model configuration](https://code.claude.com/docs/en/model-config),
43
+ [settings](https://code.claude.com/docs/en/settings-reference).
44
+
45
+ OpenCode's CLI inventory can differ from its public Console catalog. A read-only
46
+ scan during this session returned a free GLM Flash listing and DeepSeek variants
47
+ but not every paid model on the public page. Derive the pool from the installed
48
+ CLI rather than assuming the public list is usable. Prices and variants are
49
+ route-specific; native provider rates and effort names cannot be copied to an
50
+ arbitrary gateway route.
51
+ [OpenCode CLI](https://opencode.ai/docs/cli/),
52
+ [configuration](https://opencode.ai/docs/config/),
53
+ [models](https://opencode.ai/docs/models/),
54
+ [Console prices](https://opencode.ai/v2/docs/console/models/).
55
+
56
+ ## Preferences and limits
57
+
58
+ `balanced` favors a standard eligible model for normal/risky work. `speed-max`
59
+ favors a fast class and lower effort; these classes are heuristics, not measured
60
+ latency. `cost-min` favors advertised free and cheaper allowed models while
61
+ raising effort on risk and unresolved findings. Price comparisons use a fixed
62
+ 100k-input/48k-output scenario; they are API-equivalent estimates, not subscription
63
+ invoices. Unknown prices are never treated as zero.
64
+ [Anthropic pricing](https://platform.claude.com/docs/en/about-claude/pricing),
65
+ [OpenAI pricing](https://developers.openai.com/api/docs/pricing).
66
+
67
+ The saved review pool takes precedence over legacy global authoring/fixing pins.
68
+ Reviews and rechecks share the ceiling. Risk does not unlock a flagship or
69
+ unbounded effort. At the allowed ceiling, the judge holds and the scope narrows;
70
+ existing round limits still stop the loop. Free quota is not assumed: an exhausted
71
+ route cools down for 15 minutes, with retries restricted to already permitted
72
+ models. A failed stream cannot produce an approving verdict.
73
+
74
+ ## Configure and verify
75
+
76
+ 1. Run `ck init`. Inspect the detected agents, warnings, model sources and price
77
+ labels; select a preference and allowed models. Classify a custom deployment
78
+ only when its underlying non-flagship identity is known. Reruns preserve the
79
+ selected model IDs, saved preference, disabled agents and unrelated settings.
80
+ 2. Inspect `quality.review_models`, `preference`, and `excluded_models` in the
81
+ saved configuration. Keep private route prices explicit or unknown. No raw
82
+ provider configuration or credentials belong in this inventory.
83
+ 3. Set `refresh_free_models: true` to let `ck watch` refresh metadata before new
84
+ reviews after `model_refresh_sec` (900 seconds by default). Only enabled agents
85
+ participate. A removed, newly paid or unknown-price free route is dropped from
86
+ the session pool; active review snapshots remain unchanged. The watcher does
87
+ not rewrite the user's configuration.
88
+ 4. Replay seeded defects and the same PRs before making quality claims. Measure
89
+ actionable recall, false positives, completion, latency, fixer regressions and
90
+ total round cost. No paid replay or quality superiority is claimed here.
91
+ 5. Run `npm test`, `npm run lint`, `npm run typecheck`, `npm run build`,
92
+ `npm run verify:strategy`, `node scripts/verify-model-tier-sources.mjs`, and
93
+ `node scripts/smoke-init.mjs` (POSIX fixture agents; build first).
94
+ Source-string checks do not verify numeric price changes; read the actual
95
+ provider prices each month.
96
+
97
+ Rollback: disable free refresh or remove the saved review pool to return to the
98
+ bounded built-in review defaults. The flagship ceiling remains enforced. Revert
99
+ the policy commit to restore prior behavior. This change does not deploy or
100
+ restart a standing watcher.
package/get-started.md CHANGED
@@ -65,6 +65,36 @@ printenv OPENAI_API_KEY | codex login --with-api-key
65
65
 
66
66
  Then set `auth: api-key` in your config to enable model selection.
67
67
 
68
+ ### User-specific review strategies
69
+
70
+ Run `ck init` to scan installed agents and their model configuration. Choose the
71
+ allowed models and `balanced`, `speed-max`, or `cost-min`. Balanced favors a
72
+ standard model for normal/risky work; speed-max favors fast models with lower
73
+ effort; cost-min favors advertised free and cheaper allowed models, raising
74
+ effort for risk and unresolved findings. Speed classes are heuristics; cost
75
+ estimates use API-equivalent rates, not subscription invoices.
76
+
77
+ The saved `quality.review_models` pool controls reviews and rechecks ahead of
78
+ legacy global pins; it does not replace authoring/fixing preferences. Every
79
+ provider's flagship is excluded, including free listings and resolved aliases.
80
+ Unknown custom deployments need explicit fast/standard classification. A model
81
+ with unknown price is not presumed free. Discovery reads metadata and makes no
82
+ paid inference request. Raw settings, provider headers and credentials are not
83
+ saved in the inventory. Custom Codex provider definitions are reported as
84
+ configured-only because the isolated runner ignores them; use the equivalent
85
+ OpenCode route or a supported native provider.
86
+
87
+ When `quality.refresh_free_models: true`, `ck watch` refreshes metadata before a
88
+ new review after `model_refresh_sec` (900 seconds by default). It may add newly
89
+ advertised free OpenCode models to an already enabled agent. Disabled agents,
90
+ explicit exclusions and the flagship ceiling still apply. Vanished free models
91
+ and models that become paid are removed from that session's pool. Active reviews
92
+ retain their original snapshot. The watcher does not rewrite user configuration. Restart a running watcher to
93
+ load changes to saved preferences, allowlists or enabled agents from another
94
+ `ck init`; free catalog refreshes happen within the current session.
95
+ Free-tier quota failure tries another allowed model and cools down the failed
96
+ route for 15 minutes; paid fallback requires an already allowed paid model.
97
+
68
98
  ### OpenCode
69
99
 
70
100
  ```bash
@@ -72,7 +102,9 @@ npm install -g @opencode/cli
72
102
  opencode auth login # sign in to a provider (e.g. DeepSeek, Anthropic, OpenAI)
73
103
  ```
74
104
 
75
- OpenCode is **opt-in**: enable it with `vendors.opencode.enabled: true` (or `crosscheck onboard`). Its model and provider come from your OpenCode config (`opencode auth login` / `opencode.json`) — crosscheck pins no model by default, so reviews run against whichever model OpenCode is configured to use. Reasoning effort is carried as the `#variant` suffix on `--model provider/model#variant`, so `vendors.opencode.effort` (none | high | max) applies only when `vendors.opencode.model` is also set.
105
+ OpenCode is **opt-in**: enable it with `vendors.opencode.enabled: true` (or `crosscheck onboard`). Model selection is `model` → `model_tiers[effective tier]` → your OpenCode default. The optional tier map lets smart-mode risk promotion and rechecks select different provider-qualified models. Missing entries preserve your default; crosscheck does not enable a new provider or purchase credits. See the [current candidate profile and prices](docs/dynamic-thoroughness.md#65-the-strategy-table).
106
+
107
+ Variants are provider-specific. Put a verified variant in an explicit model ID, such as `provider/model#max`; Crosscheck emits V1 `--variant max` or a V2 suffix. Catalog candidates without verified OpenCode variant evidence use the provider default and report no effort. Generated review pools use the exact scanned variant names. Classify unknown custom deployments with `ck init` before reviewing. Native API reasoning controls do not prove the same OpenCode variant exists.
76
108
 
77
109
  ### GitHub CLI
78
110
 
@@ -1221,18 +1253,38 @@ vendors:
1221
1253
 
1222
1254
  # Opt-in third harness; disabled by default. Its model/provider come from
1223
1255
  # `opencode auth login` / opencode.json, not from a crosscheck catalog.
1224
- # Reasoning effort rides the `--model provider/model#variant` suffix, so
1225
- # `effort` applies only when `model` is also set.
1256
+ # Optional model_tiers selects per effective tier; model is a global override.
1226
1257
  opencode:
1227
1258
  enabled: false
1228
- # model: provider/model # e.g. alibaba-cn/deepseek-v4-pro; unset = opencode.json default
1229
- effort: high # none | high | max
1259
+ # model: provider/model # global pin, ahead of model_tiers
1260
+ # model_tiers: # opt-in example; confirm IDs with opencode models
1261
+ # fast: opencode/glm-5.3-flash
1262
+ # balanced: opencode/deepseek-v4.1-flash
1263
+ # thorough: opencode/deepseek-v4.1-flash
1264
+ # Missing tiers use the OpenCode default. An explicit #variant is honored
1265
+ # (V1: --variant, V2: suffix); catalog models otherwise keep provider defaults.
1266
+ # Console prices and candidate evaluation: docs/dynamic-thoroughness.md §6.5
1267
+ effort: high # none | high | max; custom providers unless a variant is verified
1230
1268
  # timeout_sec: 1200 # max seconds per CLI call; unset = tier-based (300/600/1200)
1231
1269
 
1232
1270
  # ── Quality ───────────────────────────────────────────────────────────────────
1233
1271
  quality:
1234
1272
  # Structured findings and incremental follow-ups; set false for legacy prose reviews.
1235
1273
  review_memory: true
1274
+ # ck init scans installed agents and lets you choose the review pool.
1275
+ # These preferences affect reviews/rechecks; flagged provider flagships are excluded.
1276
+ # preference: cost-min # balanced | speed-max | cost-min
1277
+ # refresh_free_models: true # watch adds eligible advertised-free OpenCode models
1278
+ # model_refresh_sec: 900 # refresh before the next review once this interval passes
1279
+ # excluded_models: [] # deselected IDs; watch must not re-add them
1280
+ # review_models: # generated by ck init; edit for known custom deployments
1281
+ # opencode:
1282
+ # - id: private/flash-review
1283
+ # model_class: fast # fast | standard; never classify a flagship as eligible
1284
+ # source: configured
1285
+ # efforts: [high] # exact supported variant names; [] keeps provider default
1286
+ # input_usd_mtok: 0 # only when the provider advertises this route as free
1287
+ # output_usd_mtok: 0
1236
1288
  mode: smart # smart (default) | fixed — see Review thoroughness
1237
1289
  tier: balanced # fast | balanced | thorough (fallback under smart)
1238
1290
  focus: # narrows review scope (optional)
@@ -1479,11 +1531,11 @@ Every comment cites the policy that produced it:
1479
1531
  <!-- crosscheck: … verdict=BLOCK strategy=1.1.0 class=risky tier=thorough … -->
1480
1532
  ```
1481
1533
 
1482
- > **Leave `vendors.*.model` unset under smart mode.** An explicit model outranks
1483
- > the strategy, so pinning one makes per-PR selection a no-op. When that happens
1484
- > crosscheck **withholds** the tier from the comment rather than citing one that
1485
- > did not run. `crosscheck onboard` clears the pin — and prints what it cleared —
1486
- > when you choose smart.
1534
+ The `quality.review_models` pool generated by `ck init` controls reviews ahead of
1535
+ legacy authoring/fixing pins. Without a saved pool, leave `vendors.*.model` unset
1536
+ under smart mode; an eligible explicit pin otherwise wins over tier selection.
1537
+ A flagship pin is rejected. Unknown custom review models need classification
1538
+ through `ck init`.
1487
1539
 
1488
1540
  Verify the policy is current with `npm run verify:strategy`. Full rationale:
1489
1541
  [docs/dynamic-thoroughness.md](./docs/dynamic-thoroughness.md).
@@ -1494,19 +1546,21 @@ Under `fixed`, the tier applies to every call. Under `smart`, it is the fallback
1494
1546
  when a PR's file list cannot be read, and when an explicit request (`crosscheck
1495
1547
  review`, `run --steps`) overrides a class that would skip the PR.
1496
1548
 
1497
- | Tier | Claude | Codex | Cost per review | Best for |
1498
- |---|---|---|---|---|
1499
- | `fast` | Haiku 4.5 | GPT-5.6 Luna | $0.24 · $0.06 | High-volume repos, draft PRs |
1500
- | `balanced` | Sonnet 5 | GPT-5.6 Terra | $0.72 · $0.58 | Default for most teams |
1501
- | `thorough` | Opus 5 | GPT-5.6 Sol | $1.20 · $1.44 | Before merging to main |
1502
-
1503
- Cost is output-token cost at 48k output tokens, the measured median for one
1504
- review. A review is an agentic session, not a single call — expect 10–16 minutes
1505
- of wall clock (median 643s, p90 984s across 43 logged runs). Tier changes depth
1506
- and the subprocess timeout, not seconds-scale latency.
1507
-
1508
- `claude-fable-5` is banned from review: 2× Opus 5's price for a lower coding
1509
- benchmark score.
1549
+ | Tier | Claude built-in | Codex API built-in | Generated effort |
1550
+ |---|---|---|---|
1551
+ | `fast` | Haiku 5.5 | GPT-6 Luna | low |
1552
+ | `balanced` | Sonnet 5.5 | GPT-6.1 Sol | medium |
1553
+ | `thorough` | Sonnet 5.5 | GPT-6.1 Sol | high |
1554
+
1555
+ Saved model pools and the chosen preference can select another eligible model.
1556
+ All provider flagships are excluded, including free listings. Risk and unresolved
1557
+ findings raise supported effort within the generated ceiling, rather than unlock
1558
+ Fable, Opus, Astra or another provider's flagship. When a model has no known
1559
+ effort control, the provider default applies and no effort is claimed. Legacy
1560
+ explicit variants remain operator overrides. See the [full cost comparison](docs/dynamic-thoroughness.md#65-the-strategy-table)
1561
+ for input/output, cache and context rates; an output-only estimate is not a review
1562
+ invoice. No fixed seconds-scale latency or matched review-quality result is
1563
+ claimed for these preferences.
1510
1564
 
1511
1565
  ### Issue enrichment
1512
1566
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@humanbased/crosscheck",
3
- "version": "1.9.2-beta.9",
3
+ "version": "1.10.0-beta.16",
4
4
  "description": "AI code review pipeline that turns agent-written PRs into merge-ready patches",
5
5
  "bin": {
6
6
  "crosscheck": "dist/cli.js",
@@ -42,6 +42,7 @@
42
42
  "js-yaml": "^4.1.0",
43
43
  "octokit": "^4.0.2",
44
44
  "ora": "^8.1.0",
45
+ "smol-toml": "^1.9.1",
45
46
  "zod": "^4.6.7"
46
47
  },
47
48
  "devDependencies": {