CI / checks (push) Skipped
CI / checks (pull_request) Successful in 1m11s
The report grouped runs by model, serving note and task version, so runs made at different tuning were silently averaged together. Tuning is now part of the key, and a tuning column shows how a row's settings differ from today's defaults; it appears only when some row needs it. tuning.executor.max_turns goes from 24 to 40. On the harder benchmark tasks Haiku, the calibration ceiling, hit 24 on both refactor-rename runs and both long-milestone runs, one of which had finished the work. The cap guards against a model trying forever; it isn't a budget. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
64 lines
2.8 KiB
YAML
64 lines
2.8 KiB
YAML
# Example configuration for nisse-dev. Copy to nisse-dev.yaml (or point
|
|
# NISSE_CONFIG at your copy) and edit.
|
|
#
|
|
# - Structure lives here. Secrets do not: write them as ${VARIABLE} references,
|
|
# resolved from the environment (or .env, see .env.example) at startup.
|
|
# - Keep this file outside the workspace clone. Startup refuses otherwise,
|
|
# because the agent commits and pushes everything in the clone.
|
|
# - Unknown keys are errors, so a misspelt knob fails at startup instead of
|
|
# silently doing nothing.
|
|
|
|
state_db: ~/nisse-demo-workspace/state.db
|
|
workspace: ~/nisse-demo-workspace/project # the clone
|
|
project: demo
|
|
|
|
llm: # A5: LiteLLM is the only LLM destination
|
|
base_url: http://litellm.example:4000
|
|
token: ${NISSE_LLM_TOKEN}
|
|
# Ceiling on each response. The model's own max_output_tokens in LiteLLM
|
|
# caps it further, which is where to hold a local model to less.
|
|
max_output_tokens: 16384
|
|
# How long one request may take before it is abandoned. A safety net for a
|
|
# hung connection; slow local models can take minutes over a long answer.
|
|
request_timeout_s: 600
|
|
|
|
roles: # A11: role -> LiteLLM model alias
|
|
executor: local-fast # the local tier; the benchmark picks the model
|
|
planner: claude-opus-5-5 # high-end judgement: plans a weaker executor follows
|
|
delegate: claude-opus-5-5 # takes over what the executor got stuck on
|
|
consultant: claude-haiku-4-5 # one question at a time, no tools: cheap is enough
|
|
|
|
matrix: # A1
|
|
homeserver: https://matrix.example
|
|
user_id: "@nisse-dev:example"
|
|
token: ${NISSE_MATRIX_TOKEN}
|
|
room_id: "!roomid:example"
|
|
operators: ["@you:example"]
|
|
|
|
gitea: # B2
|
|
url: https://gitea.example
|
|
token: ${NISSE_GITEA_TOKEN}
|
|
repo: owner/demo-repo
|
|
operators: [your-gitea-login]
|
|
base_branch: main
|
|
|
|
# What each knob does, and how to choose a value: docs/Tuning-Guide.md.
|
|
# These are the defaults; the section can be left out entirely. The file is
|
|
# read at startup, so a change takes effect on the next restart.
|
|
tuning:
|
|
executor:
|
|
max_turns: 40 # model calls per milestone before it stops as capped
|
|
failure_limit: 2 # consecutive failed commands before escalating (A12)
|
|
expert:
|
|
consult_budget: 3 # ask_expert calls per milestone (A14)
|
|
delegation: # hard caps on one delegation (A13)
|
|
max_turns: 30
|
|
max_tokens: 200000
|
|
wall_clock_s: 900
|
|
tools:
|
|
command_timeout_s: 120 # one run_command before it is killed
|
|
max_output_chars: 4000 # tool output kept for the model, head and tail
|
|
context: # fitting each request into the model's window
|
|
keep_recent_turns: 6 # turns never cut or dropped
|
|
safety_margin: 0.1 # fraction of the window held back
|