Expand description
The review-conversation cluster on Workspace: durable
review-thread CRUD over the redb store, review submit / list / get,
worker reply + resolve, the per-turn activity drain that notifies the
reviewer, and the dead-branch sweep run off the startup path.
Everything here stays on Workspace as a second impl block, so
every caller (the Command bus arms in crate::workspace,
session_taskβs turn-end drain, the mcp::review facade,
a viewβs diff overlay) keeps its path. The db, review_origin
and review_activity fields these methods own are pub(crate) for
the same reason pool is: so this sibling module can reach them
without a wrapper. Store IO lives in crate::store::review; the
MCP tool surface in crate::mcp::review.
Re-exportsΒ§
use std::collections::HashMap;πuse std::sync::Arc;πuse forge_primitives::review::is_doc_scope;πuse forge_primitives::review::is_tree_scope;πuse forge_primitives::ReviewStatus;πuse forge_primitives::ReviewThread;πuse crate::protocol::SessionUpdate;πuse crate::target::SessionSlot;πuse crate::workspace::Workspace;π
FunctionsΒ§
- comment_
anchor_ πparts - The thread a reply or resolve names, and the branchβs reviews: the parts an anchor echo is built from. Read before the write, so a failure cannot make a landed write look failed - and both calls double as the βno such commentβ check, whose error the result would otherwise only surface as a missing thread.