Repository navigation
mise tasks validate passes a file task whose #USAGE spec does not parse
#13669
Unanswered
Guria
asked this question in
Troubleshooting and bug reports
Replies: 1 comment
|
Thanks for the precise diagnosis — both points were right. Fixed in #13672: AI-assisted — Tool: Claude Code; model: anthropic/claude-opus-5-5; version: unavailable. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
mise 2026.9.14 macos-arm64 (same on 2026.9.12)
A file task with a malformed
#USAGEspec validates as clean.mise runthen runs it with its arguments dropped.flag "--v" default=true(a KDL bool written astrueinstead of#true) takes the same path.Two things line up:
parse_task_script_usage_or_warnwarns and falls back to an empty spec, so by the timevalidate_usage_speccallsparse_usage_spec_for_displaythe parse succeeds and no issue is recorded:https://github.com/jdx/mise/blob/v2026.9.14/src/task/mod.rs#L1172
usage-parse-erroris recorded, it isSeverity::Warning, which--errors-onlydrops:https://github.com/jdx/mise/blob/v2026.9.14/src/cli/tasks/validate.rs#L454-L470
The fallback makes sense for task loading (one bad spec shouldn't break every task). For
tasks validateI'd expect an error and a non-zero exit, since the spec is whatvalidateis there to check. We currently grep the WARN text in CI to catch this, and that broke silently when #13312 reworded the message.All reactions