Skip to content

fix(schema): accept outputs = { auto = false } on tasks - #14265

Merged
jdx merged 1 commit into
jdx:mainfrom
JamBalaya56562:fix-schema-outputs-auto-false
Oct 10, 2026
Merged

jdx merged 1 commit into
jdx:mainfrom
JamBalaya56562:fix-schema-outputs-auto-false

Conversation

@JamBalaya56562

@JamBalaya56562 JamBalaya56562 commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

The JSON schema allowed only true for a task's outputs = { auto = … }. false loads and runs fine in mise, but editors and linters such as tombi or Taplo flagged it:

[tasks.build]
run = "cargo build"
outputs = { auto = false }   # tombi: The value must be one of [true], but found false

The schema now accepts both booleans. Its description now says what false actually does. The parser maps auto = false to the same value as leaving outputs unset (src/task/task_sources.rs). So false is not a separate "disable tracking" switch. This is a schema change only, and mise's behavior does not change.

This takes over #12797 by @risu729, which pr-closer closed after 7 days of failing checks on the fork run. They are credited as co-author. #12797 described false as disabling automatic tracking. Greptile's open thread there noted that a task inheriting global inputs still gets automatic tracking with auto = false. I did not reproduce that, but the parser code above already shows that false only means "unset", so the new description says that and nothing more.

Validation

  • e2e/config/test_schema_tombi now sets outputs = { auto = false } in two places:
    • the mise.toml fixture, checked against schema/mise.json;
    • the standalone task fixture, checked against schema/mise-task.json.
  • Ran tombi 0.9.22 on both:
    • With main's schemas, both fail with The value must be one of [true], but found false.
    • With this PR's schemas, both pass.
  • With mise 2026.10.5, a task with outputs = { auto = false } and one with { auto = true } both run.

AI-assisted — Tool: Claude Code; model: anthropic/claude-opus-5-5; version: unavailable.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes
    • Task configuration schemas now accept outputs.auto = false, consistent with the behavior of leaving outputs unset.
    • Updated schema regression fixtures confirm that this setting is valid in both main and separate task files.

Co-authored-by: Taku Kodama <79110363+risu729@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited)
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 3831bceb-831f-45f8-8759-67b36ed10997

📥 Commits

Reviewing files that changed from the base of the PR and between bd4494e and 6b1fd8c.


📒 Files selected for processing (3)
  • e2e/config/test_schema_tombi
  • schema/mise-task.json
  • schema/mise.json

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.



📝 Walkthrough

Walkthrough

The task schemas now accept false for outputs.auto and state that it is equivalent to leaving outputs unset. Tombi regression fixtures cover this value in both a mise.toml task and a separate task file.

Changes

outputs.auto schema support

Layer / File(s) Summary
Update outputs.auto schema
schema/mise-task.json, schema/mise.json
Both schemas accept either boolean value for outputs.auto. Their descriptions state that false is equivalent to leaving outputs unset.
Add Tombi regression fixtures
e2e/config/test_schema_tombi
Valid fixtures set outputs.auto to false in a mise.toml task and a separate task file.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Bug fix

Suggested reviewers: jdx


Merge Risk: ⚪ Minimal · up to 6b1fd

The change allows outputs.auto = false in schema validation and is not reported to change task execution. No actionable merge risk is evident.

Pre-merge checks | Passed 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main schema change: accepting outputs = { auto = false } on tasks.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@jdx
jdx enabled auto-merge (squash) October 10, 2026 13:29
@jdx
jdx merged commit 19e8c8f into jdx:main Oct 10, 2026
66 checks passed
@JamBalaya56562
JamBalaya56562 deleted the fix-schema-outputs-auto-false branch October 10, 2026 14:13
mise-en-dev added a commit that referenced this pull request Oct 11, 2026
<!-- entire-trail-link-start -->
https://entire.io/gh/jdx/mise/trails/628
<!-- entire-trail-link-end -->

### 🚀 Features

- **(runtime-symlinks)** add a global link to the version global config
selects by @jdx in [#14271](#14271)

### 🐛 Bug Fixes

- **(history)** skip rewriting unchanged checkpoint metadata on index
rebuild by @jdx in [#14249](#14249)
- **(http)** retry when a response body drops mid-stream by
@JamBalaya56562 in [#14253](#14253)
- **(lock)** decode percent-encoded release tags when checking a locked
URL by @jdx in [#14252](#14252)
- **(schema)** accept outputs = { auto = false } on tasks by
@JamBalaya56562 in [#14265](#14265)

### 📚 Documentation

- **(dotfiles)** add a recommended setup and a readable modes-and-keys
table by @jdx in [#14267](#14267)

### 🧪 Testing

- **(http)** stop the allow_html test waiting out the https retry by
@jdx in [#14285](#14285)

### 📦 Registry

- test ansible, azure and dvc against python 3.14 by @jdx in
[#14268](#14268)

## 📦 Aqua Registry Updates

### New Packages (2)

- [`runxhq/runx`](https://github.com/runxhq/runx)
- [`takumin/passt-bin`](https://github.com/takumin/passt-bin)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants