Code RoomDiagnose agent memory-ordering confusion
HardPrep Room Coding #4100

Diagnose agent memory-ordering confusion

Vibe & agenticAlgorithms & data structuresSenior–Staff~20 min

You asked an agent to implement a lock-free single-producer/single-consumer ring buffer in Rust. Twice it has handed you code that compiles, passes a basic test, but the agent keeps reaching for `unsafe` and atomics in ways you suspect have memory-ordering bugs — and each 're-prompt to fix it' just shuffles the `Ordering` constants around without principled reasoning. How do you diagnose why it's stuck, how do you re-steer it, and at what point do you stop prompting and take it over yourself?

Implement
replay_ring_buffer(capacity: int, op_lines: list[str]) → list[str]
Examples
in[2,["push|a","push|b","push|c","pop","push|c","pop","pop","pop"]]out["ok","ok","full","a","ok","b","c","empty"]
in[1,["pop","push|x","push|y","pop","pop"]]out["empty","ok","full","x","empty"]
What a strong answer looks like

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.

0:00 of about 20 min

Vibe & agentic: describe the solution in plain language (or narrate it) and the coach grades your approach.

Which questions mattered is sealed until you submit. Telling you now would just be handing over the edge cases.