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