You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(v1): config errors name the flag the user typed, and predictable
mistakes get pointers instead of tracebacks
- Errors raised inside the [env] block re-surface with their full loc, so
the CLI renders --env.solver.model, not a bogus root-level --solver with
an absurd did-you-mean (prefix_validation_error, applied in
resolve_env_field and narrow_plugin_field).
- Curated refusals for the predictable mistakes: conflicting positional
taskset vs --env.taskset.id (first-narrowed/last-parsed nonsense before);
a dangling harness id (was a raw TypeError); legacy --id combined with a
v1 taskset (was silently inert); env-level `harness` (points at the seat);
the retired `default` harness id (renamed to bash — stale namespace dir
deleted); unknown taskset/env/harness ids print their one-line message
instead of a 35-71-line traceback, and unknown harnesses list the
built-ins.
- The usage gate lets --env.* argv through to the typed parse, so a typo'd
--env.takset gets a real suggestion instead of the bare usage line.
- The role guard keys on the default instance like the role machinery does,
so AgentConfig | None and Annotated forms can't shadow base fields or
skip the default-instance requirement.
- dry_run is excluded from saved configs (eval, replay, gepa) — re-running
`@ config.toml` no longer silently dry-runs; --server with an unset
--rich now just runs non-rich instead of demanding --no-rich.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0 commit comments