Skip to main content

verbs/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2//! Embeddable Heddle facade scaffolding.
3
4pub mod actor;
5pub mod agent_fanout;
6pub mod agent_ops;
7pub mod approval_plan;
8pub mod clone_plan;
9pub mod collapse_plan;
10pub mod completion_plan;
11pub mod context;
12pub mod context_plan;
13pub mod contract;
14pub mod daemon_plan;
15pub mod diff;
16pub mod doctor_docs_plan;
17pub mod doctor_plan;
18pub mod doctor_schemas_plan;
19pub mod fsck;
20pub mod gc_plan;
21pub mod git_projection_io_plan;
22pub mod harness_json;
23pub mod harness_policy;
24pub mod hook_plan;
25pub mod identity_cursor;
26pub mod identity_payload;
27pub mod index_plan;
28pub mod init_plan;
29pub mod integration_plan;
30pub mod log_plan;
31pub mod maintenance_plan;
32pub mod marker_plan;
33pub mod merge;
34pub mod onboarding;
35pub mod oplog_plan;
36pub mod oss_plan;
37pub mod principal;
38pub mod prove_plan;
39pub mod provenance_verify;
40pub mod purge_plan;
41pub mod query;
42pub mod rebase_plan;
43pub mod redact_plan;
44pub mod remote;
45pub mod resolve;
46pub mod resolve_plan;
47pub mod revert_plan;
48pub mod review;
49pub mod save;
50pub mod semantic_plan;
51pub mod shell_plan;
52pub mod source_authority;
53pub mod spool_plan;
54pub mod status;
55pub mod thread;
56pub mod thread_lifecycle;
57pub mod thread_materialize;
58pub mod thread_plan;
59pub mod thread_shaping;
60pub mod timeline_plan;
61pub mod undo;
62pub mod verify;
63pub mod visibility_plan;
64pub mod watch_plan;
65pub mod workflow;
66
67pub use actor::{
68    ActorChainEntry, ActorDoneOptions, ActorDonePlan, ActorEntryReport, ActorListReport,
69    ActorShowReport, assemble_actor_entry, complete_actor_entry, filter_actors, filter_actors_ref,
70    list_actors, list_actors_from_registry, mark_actor_done, plan_actor_done,
71    show_actor_by_session, show_actor_from_entry,
72};
73pub use agent_fanout::{
74    FanoutBaseFacts, FanoutBaseSelection, FanoutCommandSpec, FanoutLaneAvailability,
75    FanoutLanePreflightBlock, FanoutLaneReport, FanoutNodeSpec, FanoutPlan, FanoutPlanError,
76    FanoutPlanReport, FanoutPlanRequest, FanoutTaskPlaceholder, assemble_fanout_plan_report,
77    assemble_fanout_start_commands, check_fanout_start_preflight, ensure_unique_thread_names,
78    fanout_child_body, fanout_parent_body, fanout_parent_delegated_by, fanout_start_attach_rule,
79    parse_fanout_lane, parse_fanout_lanes, plan_fanout, select_fanout_base,
80    select_fanout_parent_thread,
81};
82pub use agent_ops::{
83    AgentCaptureOptions, AgentCapturePlan, AgentCapturePlanError, AgentCaptureThreadCheck,
84    AgentExplainReport, AgentReadyOptions, AgentReadyPlan, AgentReadyPlanError,
85    AgentReservationListReport, AgentReservationReport, assemble_agent_explain,
86    assemble_agent_reservation, assemble_agent_reservation_list, check_agent_capture_thread,
87    default_attach_reason_message, filter_agent_reservations, filter_agent_reservations_ref,
88    plan_agent_capture, plan_agent_ready,
89};
90pub use approval_plan::{
91    EligibilitySummary, approval_recorded_message, approval_revoked_message,
92    approvals_empty_message, approvals_header, eligibility_allowed_message,
93    eligibility_approvals_counted_message, eligibility_blocked_message, format_unix_secs_display,
94    format_unix_secs_label, plan_eligibility_summary, short_state_id, state_id_bytes_to_string,
95    timestamp_secs_u64, unmet_requirement_line,
96};
97pub use clone_plan::{
98    AdoptPlan, AdoptPlanError, AdoptPlanOptions, CloneMode, ClonePlan, ClonePlanError,
99    ClonePlanFacts, ClonePlanOptions, CloneRemoteSource, CloneSecurityPreflight,
100    CloneThreadSelectError, MonorepoCloneJsonReport, MonorepoClonePlan, MonorepoClonePlanError,
101    MonorepoCloneResultSummary, MonorepoEdgeFacts, MonorepoEdgeSkipReason, MonorepoExecutionPlan,
102    MonorepoExecutionProgress, MonorepoNodeExecution, MonorepoNodeExecutionError,
103    MonorepoNodeExecutionStep, MonorepoNodeFacts, MonorepoNodePlan, MonorepoNodeStepOptions,
104    MonorepoPlacedJsonRow, MonorepoPlacedNodeSummary, MonorepoSkippedChild, MonorepoSkippedJsonRow,
105    UnsupportedCloneFlag, absolute_path, assemble_clone_security_preflight,
106    assemble_monorepo_clone_json_report, assemble_monorepo_clone_result_summary,
107    looks_like_git_overlay_url, looks_like_local_path, monorepo_execution_progress,
108    monorepo_rel_display, normalize_clone_depth, plan_adopt, plan_clone, plan_monorepo_clone,
109    plan_monorepo_execution, plan_monorepo_node_steps, resolve_adopt_start_path,
110    resolve_clone_destination, select_clone_checkout_thread, select_clone_mode,
111    validate_clone_destination, validate_clone_mode_options, validate_monorepo_clone_options,
112    validate_monorepo_execution, validate_monorepo_node_execution,
113};
114pub use collapse_plan::{
115    CollapsePlan, collapse_has_source_states, collapse_states_required_kind, plan_collapse,
116};
117pub use context::{ExecutionContext, ExecutionContextBuilder, Verbosity};
118pub use context_plan::{
119    ContextContentPlanError, ContextRmPlanError, annotation_passes_filters,
120    annotation_status_label, audit_duplicate_count, audit_staleness_key, audit_target_key,
121    context_target_kind_and_label, count_active_annotations, filter_annotations,
122    next_annotation_tags, plan_annotation_content_source, plan_context_rm,
123    suggestion_tier_human_label, suggestion_tier_token, supersede_reuses_original_scope,
124    supersede_reuses_original_target,
125};
126pub use contract::{
127    HeddleReport, MachineOutputKind, OutputDiscriminator, ReportContract, schema_for_report,
128};
129// The diff facade includes named bases so CLI and review consumers share one resolver.
130pub use diff::{
131    ContextSnippet, DiffBase, DiffOptions, DiffReport, DiffStats, FileChange, FileContextEntry,
132    FileEolState, LineCounts, LineDiff, PlainGitDiffProbe, SemanticChangeEntry, SymlinkChange,
133    attach_show_context, change_line_counts, compute_state_diff, compute_tree_diff, diff,
134    diff_worktree_status, plain_git_head_diff, record_last_turn_capture, render_diff_patch,
135    render_diff_patch_bytes, resolve_last_turn_base, should_render_modified_pair,
136    trim_added_decorations_for_display, worktree_context_state, write_diff_patch,
137};
138pub use fsck::{FsckError, FsckOptions, FsckRepair, FsckReport, fsck};
139pub use gc_plan::{
140    GcDryRunPlan, gc_consolidated_mirror_message, gc_dry_run_messages, gc_dry_run_pack_message,
141    gc_dry_run_prune_message, gc_pack_message, gc_pinned_redactions_message,
142    gc_preserved_redactions_message, gc_prune_loose_message, gc_pruned_git_mapping_message,
143    gc_status_token, plan_gc_dry_run,
144};
145pub use harness_json::{
146    VerificationClaimPolicyFacts, VerificationClaimTrustFacts, first_value_string, map_from_pairs,
147    merge_string_vec, opencode_tool_name, opencode_tool_status, parse_relay_payload,
148    raw_git_preservation_command, repository_verification_allows_success_claim, value_array_join,
149    value_cost_micros, value_cost_micros_u64, value_string, value_string_array, value_u64,
150    value_u64_string,
151};
152pub use harness_policy::{
153    ExplicitAgentBind, HarnessFingerprint, HarnessKind, HarnessProbeDecision, SegmentRotation,
154    SessionAttachDecision, SessionAttachFacts, SessionAttachRule, SessionLookupFact, SessionPolicy,
155    TokenSidFact, WorktreeSessionFact, attach_published_segment_fields, cursor_segment_rotation,
156    decide_harness_probe, decide_session_attach, detect_harness_kind,
157    fingerprint_harness_from_hints, segment_rotation_policy, should_rotate_segment,
158};
159pub use hook_plan::{
160    HookInstallSourceKind, HookInstallSourcePlan, hook_install_empty_stdin_kind,
161    hook_install_source_required_kind, hook_unknown_kind, plan_hook_install_source,
162};
163pub use identity_cursor::{
164    IDENTITY_CURSOR_FILE, IdentityCursor, LastTurnAnchor, expire_identity_cursor,
165    harness_kind_from_basename, identity_cursor_path, last_turn_anchor_path, published_field,
166    read_identity_cursor, read_last_turn_anchor, stamp_identity_cursor, thought_level_from_payload,
167    value_string_or_named, write_identity_cursor, write_last_turn_anchor,
168};
169pub use identity_payload::{
170    claude_cursor_patch, codex_cursor_patch, cursor_event_expires, cursor_patch_from_child_env,
171    cursor_patch_from_stdin, opencode_cursor_patch, opencode_event_type, pi_cursor_patch,
172    stamp_event_expires, stamp_harness_name,
173};
174pub use init_plan::{
175    InitPrincipalPlan, SET_PRINCIPAL_COMMAND, init_recommended_action, init_side_effects,
176    principal_is_unconfigured, resolve_absolute_path, select_init_principal,
177};
178pub use log_plan::{
179    ReflogLine, extract_scope_bytes, fit_author, format_missing_blobs_suffix, parse_reflog_line,
180    session_list_status, short_oid, summarize_context_line, summarize_paths,
181    timeline_branch_reason, timeline_cursor_reason, timeline_label, timeline_recovery_status,
182    timeline_tool_status, truncate_with_ellipsis, yes_no,
183};
184pub use marker_plan::{
185    MarkerDeleteSelector, MarkerDeleteSelectorError, marker_bulk_delete_message,
186    marker_create_message, marker_delete_message, marker_list_filter_matches,
187    marker_prefix_is_valid, plan_marker_delete_selector,
188};
189pub use merge::{
190    GitCommitInfo, GitCommitPreview, MergeAttemptPlan, MergeOptions, MergePlan, MergeRelation,
191    MergeRelationKind, MergeReport, OperatorAction as MergeOperatorAction,
192    OperatorCommandOutput as MergeOperatorCommandOutput, PreviewTarget, ThreadPreviewReport,
193    ThreeWayMergeOutcome, apply_merged_tree, apply_merged_tree_external, bench_detect_renames,
194    bench_find_merge_base, bench_three_way_merge, build_thread_preview_report,
195    ensure_worktree_clean, merge_thread, merge_thread_into_current,
196    merge_thread_into_current_transactional, merge_thread_into_current_with_machine_contract,
197    prepare_dir_for_file_replacement, try_three_way_merge_between_tips,
198};
199pub use objects::{
200    CollectingWarnings, HeddleError, NoopProgress, NoopWarnings, ProgressEvent, ProgressSink,
201    TaskId, Warning, WarningSink,
202};
203pub use onboarding::{
204    OnboardingAction, OnboardingFacts, OnboardingMode, OnboardingPlan, OnboardingRepositoryState,
205    plan_repository_onboarding,
206};
207pub use oplog_plan::{
208    OPLOG_RECOVER_DEFAULT_STRATEGY, OplogRecoverFacts, OplogRecoverStatus,
209    oplog_recover_damaged_bytes, oplog_recover_damaged_range_display, oplog_recover_detail_fields,
210    oplog_recover_entries_lost_display, oplog_recover_headline, oplog_recover_headline_from_facts,
211    oplog_recover_shows_detail, oplog_recover_shows_strategy_field, plan_oplog_recover,
212    plan_oplog_recover_status,
213};
214pub use principal::{
215    ResolvedPrincipal, principal_source_display, resolve_principal, resolve_principal_without_repo,
216};
217// prove_plan timestamp helpers intentionally not re-exported at crate root (collide with
218// approval_plan::timestamp_secs_u64 / format_unix_secs_label). Use verbs::prove_plan::*.
219pub use prove_plan::{
220    HostRepoPlanError, ProofStatusKind, proof_status_label, proof_submit_followup,
221    require_host_repo,
222};
223pub use provenance_verify::{
224    ProvenanceReport, StateProvenanceVerification, verify_repository_provenance,
225};
226pub use purge_plan::{PurgeApplyPlan, plan_purge_apply, purge_apply_message, purge_force_command};
227pub use query::{QueryHit, QueryReport, QueryRequest, query};
228pub use rebase_plan::{
229    RebaseContinuePlan, RebaseStartFacts, RebaseStartPlan, no_rebase_in_progress_kind,
230    plan_rebase_abort, plan_rebase_continue, plan_rebase_start, rebase_target_not_found_kind,
231    rebase_target_required_kind,
232};
233pub use redact_plan::{RedactionSignatureStatus, redaction_signature_status, short_public_key};
234pub use remote::{
235    ALL_THREADS_MIRROR_COVERS_NOTE, COMMITS_SEEN_SCOPE, FORCE_DISCARD_WARNING, GIT_NOTES_REF,
236    GIT_NOTES_VISIBILITY_WARNING, GitConfigContext, GitOverlayPushTracking, GitRemoteConfigured,
237    GitUpstreamConfigured, HostedPullResult, HostedPullResultFields, HostedPushPlan,
238    HostedPushResult, HostedPushResultFields, IncludedGitRemoteConfigError, LocalTransferSummary,
239    MultiRefPushProgress, PullExecutionFacts, PullFailure, PullOutcome, PullOutcomeText, PullPlan,
240    PullPlanRequest, PushExecutionFacts, PushFailure, PushOutcome, PushOutcomeText, PushPath,
241    PushPlan, PushPlanRequest, RemoteInfo, RemoteListReport, RemotePreflightBlocker,
242    UNKNOWN_TRANSPORT_ERROR, all_threads_mirror_coverage_note, all_threads_uses_single_mirror_push,
243    build_pull_outcome, build_push_outcome, default_pull_thread_name, default_push_thread_name,
244    first_multi_thread_push_failure, format_connected_to, format_mirror_failure_text,
245    format_mirror_success_text, format_multi_ref_push_progress, format_multi_thread_refs_detail,
246    format_pull_outcome_text, format_pulling_from, format_push_outcome_text, format_pushing_to,
247    format_ref_list, format_remote_state_detail, git_overlay_current_thread_push_ok,
248    git_overlay_pull_execution_facts, git_overlay_push_execution_facts,
249    git_overlay_push_scope_description, git_overlay_ref_scope, git_overlay_thread_mismatch_blocker,
250    heddle_pull_execution_facts, heddle_pull_execution_facts_from_hosted,
251    heddle_pull_execution_facts_from_local, heddle_single_push_execution_facts,
252    heddle_single_push_execution_facts_from_hosted, heddle_single_push_execution_facts_from_local,
253    hosted_path_contains_internal_user_namespace, hosted_spool_display_path,
254    is_native_transport_mismatch, list_plain_git_remotes, list_remotes, local_pull_changed,
255    looks_like_git_forge_remote, looks_like_git_remote_url, looks_like_known_git_host,
256    looks_like_remote_location, merged_remote_items, message_indicates_already_exists,
257    multi_ref_progress_from_hosted_thread, multi_ref_push_begin, multi_ref_thread_failed,
258    multi_ref_thread_succeeded_hosted, multi_ref_thread_succeeded_local, multi_thread_failed_names,
259    multi_thread_push_execution_facts, multi_thread_reported_refs,
260    named_thread_tip_mismatch_failure, parse_hosted_pull_result, parse_hosted_push_result,
261    plain_git_remote_items, plan_hosted_push, plan_pull, plan_push, pull_requires_clean_worktree,
262    pull_should_materialize, pull_status, pull_tip_changed, pull_will_materialize,
263    push_scope_label, push_status, redact_internal_hosted_paths, refuse_named_thread_tip_overwrite,
264    remote_advice_kind, remote_missing_blocker, remote_pull_failure, remote_push_failure,
265    remote_urls_match, resolve_default_push_remote_name, resolve_default_remote_name,
266    resolved_default_remote_name, show_plain_git_remote, show_remote, summarize_pull_outcome,
267    summarize_push_outcome, transport_error_message, transport_mismatch_blocker,
268    uses_git_overlay_mirror_rpc, uses_local_git_overlay_transport,
269};
270pub use resolve::{
271    AgentReport, ConflictRangeReport, ConflictRegionReport, ConflictResolutionModeReport,
272    ConflictResolutionReport, ConflictSideReport, PrincipalReport, ResolveReport,
273    ResolverAttributionReport, ResolverKindReport,
274};
275pub use resolve_plan::{
276    ResolveSideSelection, contains_line_start_conflict_markers, path_is_active_conflict,
277    plan_resolve_side, resolve_requires_marker_check, unresolved_conflict_paths,
278};
279pub use revert_plan::{
280    RevertMessageMode, RevertOutcome, RevertPlan, RevertSuccessFacts,
281    default_revert_commit_message, no_changes_to_revert_kind, no_changes_to_revert_summary,
282    plan_revert, revert_has_no_changes, revert_inspect_command, revert_success_message,
283};
284pub use save::{
285    CaptureAgentReport, CaptureAttribution, CaptureDiagnostics, CaptureOptions,
286    CapturePrincipalReport, CaptureProfile, CaptureReport, CommitGitIndexPlan, GitScope, SavePlan,
287    SaveReport, SaveVerb, capture, commit_next_action_from_trust, commit_scope_text,
288    complete_current_thread_manual_resolution, execute_save, plan_commit_git_index,
289    plan_commit_git_index_only, plan_creates_new_state, plan_git_scope, plan_writes_git_checkpoint,
290    recover_published_git_checkpoint, split_git_extra_paths, staged_commit_summary, tree_leaf_name,
291};
292pub use semantic_plan::{
293    HOT_EVENT_KIND_TOKENS, HotEventKindToken, hot_event_kind_label, human_event_kind,
294    parse_hot_event_kind_token,
295};
296#[cfg(feature = "semantic")]
297pub use semantic_plan::{hot_event_kind_token, human_hot_event_kind, map_hot_event_kind};
298pub use state_review::install_capture_signal_computer;
299pub use status::{
300    ActorInfo, ChangesInfo, CoordinationStatus, FastShortStatusProfile, FastShortStatusReport,
301    GitImportGuidanceReport, GitIndexPlan, MaterializedThreadInfo, ParallelThreadInfo,
302    PlainGitStatusReport, RepositoryVerificationCheck, RepositoryVerificationHealth, StateInfo,
303    StatusCombinedVerdict, StatusDetail, StatusOptions, StatusProfile, StatusReport,
304    StatusThreadSummary, assess_materialized_threads,
305    build_repository_verification_health_with_worktree_status, changes_from_worktree_status,
306    changes_path_count, changes_paths, combined_verdict_axes, coordination_axis_clean,
307    coordination_label, coordination_severity, fast_short_status_report, git_index_plan_for_root,
308    health_severity, human_thread_health, large_capture_requires_force, plain_git_status_report,
309    principal_is_default_unknown, principal_lacks_accountable_identity,
310    resolve_coordination_with_trust, status, status_combined_verdict,
311};
312pub use thread::{
313    AvailableGitRef, ThreadActorInfo, ThreadListEntry, ThreadListOptions, ThreadListReport,
314    ThreadSummary, ThreadTaskSummary, ThreadUpdateBefore, capture_thread_update_before,
315    collect_thread_summaries, find_thread_summary, list_threads, list_threads_with_worktree_status,
316    save_thread_update, split_available_git_refs, thread_is_available_git_ref,
317    thread_is_imported_git_ref, visibility_label,
318};
319pub use thread_lifecycle::{
320    CleanWorktreeGuard, ThreadDropDisposition, ThreadDropOptions, ThreadDropPlan,
321    ThreadPromoteOptions, ThreadPromotePlan, ThreadRefreshOptions, ThreadRefreshPlan,
322    contains_conflict_marker_bytes, format_refresh_conflict_markers, plan_clean_worktree_guard,
323    plan_cleanup_thread_drop, plan_thread_drop, plan_thread_promote, plan_thread_refresh,
324    promote_confirm_in_place_removal, promote_existing_checkout_path,
325    promote_in_place_conversion_candidate, resolve_promote_target_path,
326    should_materialize_refresh_conflict_markers, thread_mode_requires_unmount,
327};
328pub use thread_materialize::{
329    ADVISORY_ACTIVE_HEAVY_THREAD_THRESHOLD, CheckoutCopyPolicy, CheckoutPathPlan,
330    CheckoutRewindPlan, CreateDirAttempt, MaterializeStep, RelativePathNormalizeError,
331    SelfCreatedDirRewindPlan, SharedTargetRedirectDecision, StartCleanupStep, StartEffectKind,
332    StartEffectPreconditionError, StartEffectStagingFacts, StartTransactionPlan,
333    TargetDirClaimKind, TargetDirCreateIntent, TargetLeafRefusal, TargetLeafShape,
334    ThreadMaterializePlan, ThreadsRootPathClass, ThreadsRootPathSafetyError,
335    append_safe_relative_components, claim_kind_after_empty_dir_adoption,
336    claim_kind_for_create_attempt, classify_materialize_error, classify_path_vs_threads_root,
337    classify_target_leaf_shape, effect_requires_established_claim, mode_is_bytes_on_disk,
338    path_components_are_safe, path_is_nested_in_reserved_region, path_is_strict_descendant,
339    path_is_under_or_equal, plan_checkout_copy_policy, plan_checkout_path, plan_checkout_rewind,
340    plan_hydrate, plan_materialize_steps, plan_self_created_dir_rewind,
341    plan_shared_target_redirect, plan_start_cleanup, plan_start_transaction,
342    plan_target_dir_create_intent, plan_thread_materialize, plan_write_manifest,
343    require_established_claim, shared_target_redirect_applies, shared_target_workspace_is_busy,
344    should_advise_shared_target, should_warn_materialized_without_reflink,
345    threads_root_path_layout_allowed, validate_empty_dir_adoption,
346    validate_start_effect_preconditions, validate_threads_root_path_safety,
347};
348pub use thread_plan::{
349    AutoWorkspaceDefault, ExplicitPathPlacement, ThreadBaseError, ThreadBaseSelection,
350    ThreadCreateOptions, ThreadCreatePlan, ThreadPathIsolationError, ThreadPlanError,
351    ThreadStartOptions, ThreadStartPlan, WorkspaceModeRequest, active_reservation_blocks_start,
352    active_reservation_path_matches, check_explicit_path_isolation,
353    classify_explicit_path_placement, explicit_path_allowed_for_git_overlay,
354    mode_honors_explicit_path, path_isolation_enforced, plan_thread_create, plan_thread_mode,
355    plan_thread_start, select_thread_base, start_requires_clean_worktree, validate_thread_name,
356};
357pub use thread_shaping::{
358    CaptureSplitOptions, NoPathsMatchedDetails, ThreadMoveOptions, ThreadMoveOutput,
359    ThreadShapingError, capture_split, thread_move,
360};
361pub use timeline_plan::{
362    TimelinePlanError, TimelineSelection, TimelineTargetOptions, parse_branch_reason,
363    parse_materialize_mode, parse_tool_status, plan_timeline_target,
364    timeline_materialization_recovery_status, timeline_materialize_status,
365};
366pub use undo::{
367    LiveThreadWorktree, PurgeOpRef, RedactOpRef, RedactionUndoBatchFacts, RequiredStateRef,
368    ThreadWorktreeHazard, UndoApplyPlan, UndoApplyPreflightError, UndoApplyStep, UndoBatchSummary,
369    UndoHistoryAction, UndoListReport, UndoOperationSummary, UndoPlan, UnsupportedRedoOp,
370    batch_status, check_redaction_redo_supported, check_redaction_undo_safe,
371    check_states_reachable, check_thread_worktree_undo_safe, collect_redaction_undo_facts,
372    collect_redo_required_states, collect_thread_worktree_hazards, collect_undo_required_states,
373    collect_unsupported_redo_ops, empty_history_refusal, human_operation_description,
374    human_post_undo_trust_status, human_undo_redo_message, list_undo_history,
375    list_undo_history_ctx, live_materialized_path_blocks_undo, machine_undo_redo_message,
376    plan_redo_apply_steps, plan_redo_batches, plan_undo_apply, plan_undo_apply_steps,
377    plan_undo_batches, require_nonempty_history, summarize_batch, undo_mode_conflict,
378    validate_undo_list_preview_modes,
379};
380pub use verify::{
381    ActionAudience, ActionTemplate, MachineContractCoverage, MachineContractInput,
382    PlainGitVerifyProbe, RepositoryContextInfo, RepositoryPresentation, RepositorySetupActionKind,
383    RepositorySetupGuidance, RepositoryVerificationState, VerificationCheck, VerifyOptions,
384    VerifyProfile, VerifyReport, build_plain_git_verification_probe,
385    build_plain_git_verification_probe_with_machine_contract, build_repository_verification_state,
386    build_repository_verification_state_with_machine_contract,
387    build_repository_verification_state_with_worktree_status,
388    build_repository_verification_state_with_worktree_status_and_machine_contract,
389    dirty_path_count, repository_mode_label, repository_presentation, repository_setup_action_kind,
390    repository_setup_guidance, verify,
391};
392pub use visibility_plan::{visibility_tier_kind, visibility_tier_label};
393pub use workflow::{
394    AUTO_LAND_CONFIDENCE_RECOVERY_ACTION, AUTO_LAND_CONFIDENCE_THRESHOLD, AutoLandPolicyInput,
395    ReadyDecision, ReadyDecisionInput, auto_land_confidence_recovery_action,
396    auto_land_policy_blockers, classify_ready_decision, has_integration_target,
397    integrated_land_next_action, integration_blocker_recommended_action, integration_blockers,
398    is_heavy_impact_advisory, is_integration_clear, is_manual_review_blocker,
399    land_blockers_for_preview, land_checkpoint_message, land_performed_steps, land_skipped_steps,
400    land_text_step, land_warnings_for_preview, non_staleness_blockers, op_targets_merge_state,
401    quote_recommended_action_arg, ready_freshness_summary, ready_integration_summary,
402    ready_merge_type_label, ready_merge_type_summary, ready_report_recommended_action,
403    ready_scoped_next_action, ready_status_summary, ready_verification_preflight_blocks,
404    ready_verification_status_blocks, recovery_scope_checkout, scope_action_to_repo,
405    should_squash_land, state_id_matches_display, state_id_matches_op_display,
406    sync_completed_next_action, sync_is_already_current,
407};