A changed file, or the old path of a renamed one, that matches [hard_orange] paths gives ORANGE with one aggregated reason; such a file is not listed under the YELLOW tiers. The section is required; the repository layer only adds paths. hsadmin-ng and werkprobe move RBAC, authentication and secrets to [hard_orange]. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
56 lines
2.2 KiB
TOML
56 lines
2.2 KiB
TOML
# werkrevisor host config for reviewing werkrevisor itself on git.javagil.de.
|
||
# It holds only what the host decides: model, prices, budget, gate, engine and the classifier endpoint.
|
||
# The review rules of the repository are in .werkrevisor.toml at the repository root.
|
||
# The PR never changes this file; Werkator passes its path in WERKREVISOR_CONFIG.
|
||
|
||
[model]
|
||
# The trial chose Sonnet: gemini-3.8-flash missed an obvious resource leak that Sonnet found.
|
||
id = "openrouter/anthropic/claude-sonnet-5.5"
|
||
# Operator-maintained prices in USD per 1M tokens.
|
||
input_price_usd_per_mtok = 2.00
|
||
output_price_usd_per_mtok = 10.00
|
||
# Longer prompts degrade the review even within the context window of a frontier model.
|
||
# The budget derives a lower input limit: 2 attempts × (input × 2.00 + 4000 × 10.00) / 1M ≤ 0.40 USD gives 80000 tokens.
|
||
max_context_tokens = 150000
|
||
# Includes reasoning tokens.
|
||
max_output_tokens = 4000
|
||
reasoning_effort = "low"
|
||
timeout_seconds = 120
|
||
max_retries = 1
|
||
# Anthropic counts more tokens than o200k_base; calibrate with prompt_tokens / counted_raw_tokens of the usage records.
|
||
# On werkrevisor PR#10 the factor 1.15 gave 49841 tokens, Anthropic reported 65792: 1.15 × 65792 / 49841 ≈ 1.52.
|
||
token_count_factor = 1.55
|
||
|
||
[budget]
|
||
max_usd_per_review = 0.40
|
||
min_key_remaining_usd = 0.50
|
||
|
||
[hard_orange]
|
||
# .werkrevisor.toml adds the critical paths of werkrevisor.
|
||
paths = []
|
||
|
||
[mechanical]
|
||
# A changed file whose every changed line is an import, a whitespace change or a rename does not go to the model.
|
||
# The built-in rules apply; .werkrevisor.toml may adjust them.
|
||
enabled = true
|
||
|
||
[gate]
|
||
# Branch protection requires one approval from {bot, human_reviewers}; see the README.
|
||
yellow_gate = "approval"
|
||
human_reviewers = ["mi"]
|
||
assessment_context = "ai-review/assessment"
|
||
|
||
[engine]
|
||
# "llm": the LLM review alone; "classifier": Jev alone, no LLM; "combined": Jev, then the LLM with Jev's hints.
|
||
mode = "combined"
|
||
|
||
[classifier]
|
||
endpoint = "https://api.typesafe.ai/v1/systemone"
|
||
model = "jev-latest"
|
||
# Operator-maintained price in USD per 1M input tokens; Jev's output is free.
|
||
input_price_usd_per_mtok = 0.042
|
||
# Jev reads about 32000 tokens of state; a larger unit is not sent and makes the review YELLOW.
|
||
max_state_chars = 60000
|
||
max_units = 80
|
||
timeout_seconds = 20
|