# Conversation lifecycle The `conversations` service exposes metadata subjects and the concluded set. `concludeIn(tx, ids)` refuses unknown, owned, root, and standing conversations. `setStanding`, `setAutomaticSummaries`, and `generatedTitle` update durable conversation state. `generatedTitle` only marks a matching metadata title that no earlier call marked. The `beforeInput` hook resumes the recipient and its owner/fork ancestors. This change shares the transaction that places the input. A write without an input does not resume a conversation. Unrelated concluded conversations remain concluded. Summaries do not run in this subset. `summaryModel()` returns undefined and `requestSummary()` does nothing. The durable automatic-summary preference remains available for the later summary port. `host/tests/core_ext.rs` verifies the lifecycle through the real snapshot loader.