huskies: merge 1186 story compact chat command: distill session context deterministically, then reset with a seed

This commit is contained in:
Huskies Agent
2026-07-17 12:05:04 +00:00
parent b241661941
commit 043c77f077
29 changed files with 1051 additions and 6 deletions
@@ -36,6 +36,17 @@ pub struct RoomConversation {
pub session_id: Option<String>,
/// Rolling conversation entries (used for turn counting and persistence).
pub entries: Vec<ConversationEntry>,
/// A distilled digest produced by the `compact` command, waiting to be
/// injected as background context into the next spawned session's
/// prompt. Cleared immediately after the first turn that uses it, so it
/// is never re-injected.
#[serde(skip_serializing_if = "Option::is_none")]
pub pending_seed: Option<String>,
/// Timestamp (ms since Unix epoch) of the last time this room was sent a
/// "consider running `compact`" suggestion, used to rate-limit repeat
/// suggestions.
#[serde(skip_serializing_if = "Option::is_none")]
pub last_compact_suggested_at_ms: Option<i64>,
}
/// Per-room conversation state, keyed by room ID (serialised as string).