Objective
Make required_version (.agentv/config.yaml) advisory, not enforced. Today, when the installed agentv doesn't satisfy the range, enforceRequiredVersion (apps/cli/src/version-check.ts, called from commands/eval/run-eval.ts:~1110 and commands/results/serve.ts) can interrupt the run: in a TTY it prompts "Update now? (Y/n)" and may self-update + process.exit; with --strict it aborts. That friction leads users to delete their required_version config (observed downstream), losing its diagnostic value entirely.
Instead: never block, never prompt, never self-update by default — just surface a clear warning, emphasized when an eval fails, so the version mismatch is presented as a likely cause exactly when it matters (e.g. cryptic schema-rejection errors from running an old agentv against a newer eval schema).
Proposed behavior
required_version mismatch must never by itself: prompt, self-update, exit non-zero, or block the run.
- On a normal (passing) run, stay quiet or emit at most a single low-noise stderr line.
- When the eval run has failures or execution errors, include a clear note in the summary, e.g.:
note: agentv <current> does not satisfy this project's required_version <range> — this may be the cause. Run \agentv self update`.`
- Malformed
required_version range → keep the existing clear validation error (that's a real config bug).
- Drop the interactive "Update now?" prompt + inline self-update from the eval/serve path (self-update stays available via the explicit
agentv self update command).
Design latitude
- Whether to keep a
--strict opt-in that does hard-fail (for users who want a CI gate) is the implementer's/maintainer's call. Default must be advisory.
- Exact placement of the failure-time warning (results summary vs per-failure) is open; the requirement is "visible when something fails, silent/low-noise when everything passes."
Acceptance signals
agentv eval against a project whose required_version exceeds the installed version: run proceeds, never prompts/self-updates/exits on account of the version; if all pass, near-silent; if anything fails, the summary clearly flags the version mismatch as a possible cause.
serve/Dashboard path no longer prompts/exits on version mismatch.
- Existing tests updated to the new contract; add coverage for "fails → warning surfaced" and "passes → no prompt/exit".
Non-goals
- No change to
required_version schema/config location.
- No change to the explicit
agentv self update command.
Related
- Code:
apps/cli/src/version-check.ts, apps/cli/src/commands/eval/run-eval.ts, apps/cli/src/commands/results/serve.ts, apps/cli/src/self-update.ts.
Objective
Make
required_version(.agentv/config.yaml) advisory, not enforced. Today, when the installed agentv doesn't satisfy the range,enforceRequiredVersion(apps/cli/src/version-check.ts, called fromcommands/eval/run-eval.ts:~1110andcommands/results/serve.ts) can interrupt the run: in a TTY it prompts "Update now? (Y/n)" and may self-update +process.exit; with--strictit aborts. That friction leads users to delete theirrequired_versionconfig (observed downstream), losing its diagnostic value entirely.Instead: never block, never prompt, never self-update by default — just surface a clear warning, emphasized when an eval fails, so the version mismatch is presented as a likely cause exactly when it matters (e.g. cryptic schema-rejection errors from running an old agentv against a newer eval schema).
Proposed behavior
required_versionmismatch must never by itself: prompt, self-update, exit non-zero, or block the run.note: agentv <current> does not satisfy this project's required_version <range> — this may be the cause. Run \agentv self update`.`required_versionrange → keep the existing clear validation error (that's a real config bug).agentv self updatecommand).Design latitude
--strictopt-in that does hard-fail (for users who want a CI gate) is the implementer's/maintainer's call. Default must be advisory.Acceptance signals
agentv evalagainst a project whoserequired_versionexceeds the installed version: run proceeds, never prompts/self-updates/exits on account of the version; if all pass, near-silent; if anything fails, the summary clearly flags the version mismatch as a possible cause.serve/Dashboard path no longer prompts/exits on version mismatch.Non-goals
required_versionschema/config location.agentv self updatecommand.Related
apps/cli/src/version-check.ts,apps/cli/src/commands/eval/run-eval.ts,apps/cli/src/commands/results/serve.ts,apps/cli/src/self-update.ts.