Rust thread-safe config sharing
You ask an AI to make a Rust struct `Config` cloneable so you can share it across worker threads. It adds `#[derive(Clone)]`, then the borrow checker fights it over a `Box<dyn Fn>` field, so it sprinkles `.clone()` calls; then it suggests wrapping the whole thing in `Rc<RefCell<Config>>`. Now it won't compile across threads at all (`Rc` isn't `Send`). The model keeps reaching for single-threaded sharing primitives. How do you re-steer to correct, thread-safe sharing?
choose_sharing_wrappers(field_kinds: list[str], cross_thread: bool) → list[str][["read_only","read_mostly_mutable"],true]out["Arc<T>","Arc<RwLock<T>>"][["read_only","read_mostly_mutable"],false]out["Rc<T>","Rc<RefCell<T>>"][["boxed_closure"],true]out["Box<dyn Fn() + Send + Sync>"]Treat the AI’s output as a draft to verify, not an answer to trust. Name the specific flaw and the input that triggers it, say how you’d catch it (tests, edge cases, reading critically), and how you’d re-prompt or decompose to get it right.
Vibe & agentic: describe the solution in plain language (or narrate it) and the coach grades your approach.