base red: panic ratchet: remove the apps series' 14 indexing and 7 unwrap hits

LA
6d ago
+33-22

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, lintSitesFix
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 clippy and the existing tests rows_join_install_state_and_filter_installed, parses_list_and_info and server_spec_refuses_shell_characters. The results go in a comment.
  • Not run: no Rust compile on this VM (the rules do not allow it).