pub struct ThreadRecord {Show 24 fields
pub id: String,
pub thread: String,
pub target_thread: Option<String>,
pub parent_thread: Option<String>,
pub mode: ThreadMode,
pub state: ThreadState,
pub base_state: String,
pub base_root: String,
pub current_state: Option<String>,
pub merged_state: Option<String>,
pub task: Option<String>,
pub changed_paths: Vec<String>,
pub impact_categories: Vec<ThreadImpactCategory>,
pub heavy_impact_paths: Vec<String>,
pub promotion_suggested: bool,
pub freshness: ThreadFreshness,
pub verification_summary: ThreadVerificationSummary,
pub confidence_summary: ThreadConfidenceSummary,
pub integration_policy_result: ThreadIntegrationPolicy,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub ephemeral: Option<EphemeralMarker>,
pub auto: bool,
pub shared_target_dir: Option<PathBuf>,
}Fields§
§id: String§thread: String§target_thread: Option<String>§parent_thread: Option<String>§mode: ThreadMode§state: ThreadState§base_state: String§base_root: String§current_state: Option<String>§merged_state: Option<String>§task: Option<String>§changed_paths: Vec<String>§impact_categories: Vec<ThreadImpactCategory>§heavy_impact_paths: Vec<String>§promotion_suggested: bool§freshness: ThreadFreshness§verification_summary: ThreadVerificationSummary§confidence_summary: ThreadConfidenceSummary§integration_policy_result: ThreadIntegrationPolicy§created_at: DateTime<Utc>§updated_at: DateTime<Utc>§ephemeral: Option<EphemeralMarker>Optional ephemeral-thread marker. None means the thread is
persistent; Some(...) means the thread auto-collapses after
ttl_seconds from created_at. The collapse is recorded
as an OpRecord::EphemeralThreadCollapse and the thread is set
to ThreadState::Abandoned — the underlying states remain
addressable.
auto: boolWhether the thread was created automatically by a harness
integration (e.g. Claude Code’s segment-rotation path) rather
than by an explicit heddle thread create / heddle start
invocation. Auto-threads are filtered from the default
heddle thread list view and are eligible for sweep by
heddle thread cleanup --auto.
When the thread was started with heddle start --shared-target,
this is the absolute path of the cargo target/ directory the
thread’s checkout has been redirected to (via a .cargo/config.toml
committed inside the checkout). None for threads that use
cargo’s default per-checkout target/ (or for non-Rust
workspaces). Recorded so heddle thread show can surface the
arrangement and downstream tooling can locate build artefacts
without re-deriving the fingerprint. (Item 2.1 of the heddle
6→8 plan.)
Implementations§
Source§impl ThreadRecord
impl ThreadRecord
pub fn from_record( repo: &Repository, record: &ThreadRecord, current_state_override: Option<StateId>, ) -> Result<Self>
pub fn from_thread( repo: &Repository, thread: &Thread, current_state_override: Option<StateId>, ) -> Result<Self>
pub fn current_state_id(&self, repo: &Repository) -> Result<Option<StateId>>
Trait Implementations§
Source§impl Clone for ThreadRecord
impl Clone for ThreadRecord
Source§fn clone(&self) -> ThreadRecord
fn clone(&self) -> ThreadRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more