Default budgets
Start with configs/programbench.toml (with-binary) or
configs/nl2repo.toml (without-binary). Set the Messages service, model and
repository input. The presets already contain the required quality floors.
The configuration loader supplies bounded defaults:
| Operation | Default |
|---|---|
| PB test generation / NL agent session | 5,400 seconds, 80 turns |
| Other PB agent sessions | 5,400 seconds, 80 turns |
| PB test-generation attempts | 4 |
| Mode repair attempts | 1 |
| Optional PB semantic review | Disabled by default; when enabled, shares the configured agent time limit |
| NL critic / repair | 20 / 12 turns, up to 3 structured-response attempts |
| Runtime build | 3,600 seconds |
| Local producer | 2 task workers |
| NL measured-test / document cap | 500 tests / 12,000 words; explicit 0 means unlimited |
The default PB gates match the original pipeline: 200 active validated tests,
eight active coverage categories, SDK health, assertion lint, and gold/rerun/dummy
validation. Independent semantic review is an additional opt-in audit, enabled
with [tests].semantic_review = true. It can reject suites accepted by the
original gates; its stronger semantic count is not the original test count.
When enabled, hash-bound completed review parts can resume after interruption.
Incomplete audits remain execution failures; failed audits cannot publish.
These are execution limits, not a price estimate or a promise of acceptance. The structured-response attempts for one NL critic/repair share the original wall-time budget and reuse an observed response window. A text-only reply cut off at the token ceiling can request one final JSON response using remaining turns and time; truncated tools are never executed. PB still needs 200 active validated tests and 8 active categories; NL still needs complete API/import/signature coverage and the measured/final gates. Over-budget NL contracts retain the hard-pool policy. Original consumer denominators remain unchanged.
Advanced overrides are optional. Explicit settings keep their precedence:
[agent]
model = "deepseek-v4-pro-0813"
# api_base_url can also be supplied by ANTHROPIC_BASE_URL.
# Credentials can be supplied by ANTHROPIC_API_KEY or auth_token_env.
# All agent sessions default to 5400 seconds.
timeout_seconds = 5400
max_turns = 80
[tests]
max_iters = 4
# PB test generation stays at 5400 by default. When you explicitly set
# [agent].timeout_seconds, tests inherit it unless this override is present.
test_timeout_seconds = 5400
test_max_turns = 80
[denovo_docs]
critic_max_turns = 20
repair_max_turns = 12
[agent] also accepts auth_scheme, auth_token_env, thinking_budget_tokens
and http_user_agent. The old local [agent_backend] endpoint/auth table remains
compatible and takes precedence when both tables specify the same setting.
Frozen local presets also accept api_profile="anthropic-messages" and
push_image=false. Legacy scheduler cpu_request/memory_request values are
ignored with a warning; Docker continues to apply cpu_limit/memory_limit.
Low-level Python dataclass defaults remain compatible with legacy diagnostic
callers; CLI configuration and the supplied presets use the defaults above.
The NL preset uses four capability workers within each task. Two producer workers can therefore run up to eight capability sessions concurrently. Model usage and raw session logs are retained in generation evidence; adjust concurrency explicitly when service capacity requires it.