qctl 0.2.0

Control in-repo YAML work queues
Documentation
# Loaded when MISE_ENV contains `dev` (local default via .miserc.toml).
# Compile this checkout. The Version PR loads it too, for the toolchain
# `[prepare].after` uses to regenerate Cargo.lock.

[tools]
# Components are explicit: a bare `rust = "1.97.1"` resolves without
# rustfmt or clippy on a clean runner, which local rustup hides.
rust = { version = "1.97.1", components = "rustfmt,clippy" }

[tasks.format]
description = "rustfmt check"
run = "cargo fmt --all -- --check"

[tasks.lint]
description = "clippy -D warnings"
run = "cargo clippy --all-targets --all-features -- -D warnings"

[tasks.test]
description = "Test suite"
run = "cargo test --all-features"

[tasks.verify]
description = "CI-safe gate: format, clippy, test"
depends = ["format", "lint", "test"]

[tasks.build]
description = "Build the release binary"
run = "cargo build --release"

[tasks.snapshots]
description = "Read and accept what a verb wrote, one scenario at a time"
# The reviewer is the task's own tool, at the library's version. CI loads this
# file for the toolchain and never reviews, so it should not fetch this.
tools = { "github:mitsuhiko/insta" = { version = "1.48.0", exe = "cargo-insta" } }
run = "cargo insta review"

[tasks.schema]
description = "Regenerate schema/tasks.schema.json from the ledger types"
run = "cargo run --quiet -- schema"