base red: Rust panic ratchet: teleport, acpmux task plan/turn retry/suggestion gate, and link sync index reads (cmux-automations 1, cmux-tui, acpmux)

LA
2d ago
+30-14

Rust ratchet reds on feat-cmux-next: the panic ratchet rows, one commit per culprit. Each change replaces an index read or write with a form that cannot panic and that behaves the same. No crash-allow, no #[allow] and no baseline raise.

Ratchet rowCulpritCommit
cmux-automations indexing_slicing 1 > new cratedbb578bb1e55 (teleport)a91d441e657: Store::import reads the ledger id with get
cmux-tui indexing_slicing (3 of the hits over 831)dbb578bb1e55 (teleport)ca8da667cef: cli/automation.rs Cloud edit and audit use JsonSet::set
acpmux indexing_slicing (1)f61b2d9725a (#34567)9e74c01af83: task_plan.rs uses tasks.get_mut(at)?
acpmux indexing_slicing (1)8f918fad3f5 (#34306)c46f4076adc: turn_retry.rs uses retry.set("turnId", ..)
acpmux indexing_slicing (3)a4f11cd0cda (#34496)7165e40e455: suggestion_gate.rs writes _meta.acpmux.suggestionWithheld with JsonSet and get_mut
cmux-tui indexing_slicing (2)6b9bafd4413 (#34362)0a41483ca11: link/sync_cli uses to.get(common..) and answer.get("target")

The cmux-tui-core crash row (expect 190 -> 191, #34498) was first fixed here in 56b993df81c. Leo's #34696 then fixed the same line, so the merge from feat took #34696's version and this PR no longer changes resource_router.rs. The cmux-tui crash row (#34390) was fixed by #34542.

I found the sites from the panic step's clippy JSON. I compared the last green tip ab54fffeffb7 (job 294210d667444f201633a143) with feat plus this branch's fixes. The diagnosis ran on throwaway branches with the rows raised (jobs 33bab4d69e741549bf0dac14 and 20552d31e2aa6f074ebbba6e); both branches are deleted.

Changelog

none

Evidence (head 0a41483ca11f)

Observed / Not run

  • Observed: the ratchet and clippy results above. prepush-gate.py passed on each push.
  • Not run: no new behavioral tests. Each change keeps behavior, and the ratchet is the regression check. The tests ran on macOS, not on Linux.