qctl 0.5.4

Control in-repo YAML work queues
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Keep JSON output plain under forced colour

## Why

Agent shells set `CLICOLOR_FORCE=1`, `FORCE_COLOR=3`, and `COLORTERM=truecolor`.
qctl's JSON output was already plain, but `qctl status --bogus --format json` printed its parse error as coloured text on stderr: ctl-core's lenient pre-parse stopped at the bad argument and never saw the format flag.
A caller piping that to `jq` gets escape bytes instead of JSON.

Queue row: QCTL-045.

## What changes

1. qctl moves from ctl-core 0.6.9 to 0.6.16, which reads a long `--format json` after the bad argument and reports the parse error as JSON.
2. A test runs the binary with forced colour and asserts that no ESC byte reaches stdout or stderr, and that stdout is JSON.

## Impact

1. `Cargo.toml`, `Cargo.lock`, `tests/cli.rs`, operator docs.