base red: panic ratchet: remove the apps series' 14 indexing and 7 unwrap hits
What
A base red, priority zero. The Rust panic ratchet in cmux-tui spec / clippy (changed cmux-tui packages) is red again on feat-cmux-next after #28808. The apps series reached the tip at 03:15Z (9d1b1f9b0d6, 045f9e02742, e62b4020a25, 00127049b32, 8024f86545e, all direct pushes), after #28808's green run:
cmux-tui: clippy::indexing_slicing 841 > baseline 831
cmux-tui-core: clippy::unwrap_used 1042 > baseline 1035
cmux-tui-core: clippy::indexing_slicing 857 > baseline 853
Red: #28808's own ratchet run at ddd1753d663 on a merge ref that held the apps series (job 124426587561). Before the series, the same job passed on 9e0d6b0416b (job 124422331085). I diffed the clippy JSON artifacts of the two runs, and these 21 new sites are the whole difference:
| Crate, lint | Sites | Fix |
|---|---|---|
| cmux-tui indexing (10) | cli/apps_list.rs: reads of an owned reply Value and scope, and args["query"] = ... | get(..).and_then(Value::as_str/as_bool), which gives the same result for every input; JsonSet::set for the write |
| cmux-tui-core indexing (4) | apps/deploy.rs manifest["deploy"]["server"|"targets"], apps/store.rs result["instance"] = ..., apps/supervisor.rs row["instance"] = ... | JsonFields::field, JsonSet::set |
| cmux-tui-core unwrap (7) | apps/deploy.rs .lock().unwrap() | RecoverPoison, as the rest of the crate does |
The baseline is not raised. Behavior does not change: a missing key was Null before and is None now, and both give the same default. The writes go to objects, where set does what IndexMut did.
Pass on the head: this PR's own clippy (changed cmux-tui packages) run (the result goes in a comment).
Changelog
none
Observed / Not run
- Observed: the hit diff of the two CI clippy JSON artifacts.
python3 scripts/cmux-next/prepush-gate.py: no new violations.rustfmt --check(pinned 1.95.0) on the 4 files: clean. - Fleet:
cmux-tui-rust-check.sh clippyand the existing testsrows_join_install_state_and_filter_installed,parses_list_and_infoandserver_spec_refuses_shell_characters. The results go in a comment. - Not run: no Rust compile on this VM (the rules do not allow it).