Skip to main content

Module review

Module review 

Source
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.