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 source_heads;
54pub mod spool_plan;
55pub mod status;
56pub mod thread;
57pub mod thread_lifecycle;
58pub mod thread_materialize;
59pub mod thread_plan;
60pub mod thread_shaping;
61pub mod timeline_plan;
62pub mod undo;
63pub mod verify;
64pub mod visibility_plan;
65pub mod watch_plan;
66pub mod workflow;
67
68pub use actor::{
69    ActorChainEntry, ActorDoneOptions, ActorDonePlan, ActorEntryReport, ActorListReport,
70    ActorShowReport, assemble_actor_entry, complete_actor_entry, filter_actors, filter_actors_ref,
71    list_actors, list_actors_from_registry, mark_actor_done, plan_actor_done,
72    show_actor_by_session, show_actor_from_entry,
73};
74pub use agent_fanout::{
75    FanoutBaseFacts, FanoutBaseSelection, FanoutCommandSpec, FanoutLaneAvailability,
76    FanoutLanePreflightBlock, FanoutNodeSpec, FanoutPlan, FanoutPlanError, FanoutPlanRequest,
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, CloneProtocol, 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};
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_dry_run_messages, gc_dry_run_pack_message, gc_dry_run_prune_message,
141    gc_pack_message, gc_pinned_redactions_message, gc_preserved_redactions_message,
142    gc_prune_loose_message, gc_pruned_git_mapping_message, gc_status_token, plan_gc_dry_run,
143};
144pub use harness_json::{
145    VerificationClaimPolicyFacts, VerificationClaimTrustFacts, first_value_string, map_from_pairs,
146    merge_string_vec, opencode_tool_name, opencode_tool_status, parse_relay_payload,
147    raw_git_preservation_command, repository_verification_allows_success_claim, value_array_join,
148    value_cost_micros, value_cost_micros_u64, value_string, value_string_array, value_u64,
149    value_u64_string,
150};
151pub use harness_policy::{
152    ExplicitAgentBind, HarnessFingerprint, HarnessKind, HarnessProbeDecision, SegmentRotation,
153    SessionAttachDecision, SessionAttachFacts, SessionAttachRule, SessionLookupFact, SessionPolicy,
154    TokenSidFact, WorktreeSessionFact, attach_published_segment_fields, cursor_segment_rotation,
155    decide_harness_probe, decide_session_attach, detect_harness_kind,
156    fingerprint_harness_from_hints, segment_rotation_policy, should_rotate_segment,
157};
158pub use hook_plan::{
159    HookInstallSourceKind, HookInstallSourcePlan, hook_install_empty_stdin_kind,
160    hook_install_source_required_kind, hook_unknown_kind, plan_hook_install_source,
161};
162pub use identity_cursor::{
163    IDENTITY_CURSOR_FILE, IdentityCursor, LastTurnAnchor, expire_identity_cursor,
164    harness_kind_from_basename, identity_cursor_path, last_turn_anchor_path, published_field,
165    read_identity_cursor, read_last_turn_anchor, stamp_identity_cursor, thought_level_from_payload,
166    value_string_or_named, write_identity_cursor, write_last_turn_anchor,
167};
168pub use identity_payload::{
169    claude_cursor_patch, codex_cursor_patch, cursor_event_expires, cursor_patch_from_child_env,
170    cursor_patch_from_stdin, opencode_cursor_patch, opencode_event_type, pi_cursor_patch,
171    stamp_event_expires, stamp_harness_name,
172};
173pub use init_plan::{
174    InitPrincipalPlan, SET_PRINCIPAL_COMMAND, init_recommended_action, init_side_effects,
175    principal_is_unconfigured, resolve_absolute_path, select_init_principal,
176};
177pub use log_plan::{
178    ReflogLine, extract_scope_bytes, fit_author, format_missing_blobs_suffix, parse_reflog_line,
179    session_list_status, short_oid, summarize_context_line, summarize_paths,
180    timeline_branch_reason, timeline_cursor_reason, timeline_label, timeline_recovery_status,
181    timeline_tool_status, truncate_with_ellipsis, yes_no,
182};
183pub use marker_plan::{
184    MarkerDeleteSelector, MarkerDeleteSelectorError, marker_bulk_delete_message,
185    marker_create_message, marker_delete_message, marker_list_filter_matches,
186    marker_prefix_is_valid, plan_marker_delete_selector,
187};
188pub use merge::{
189    GitCommitInfo, GitCommitPreview, MergeAttemptPlan, MergeOptions, MergePlan, MergeRelation,
190    MergeRelationKind, MergeReport, OperatorAction as MergeOperatorAction,
191    OperatorCommandOutput as MergeOperatorCommandOutput, PreviewTarget, ThreadPreviewReport,
192    ThreeWayMergeOutcome, apply_merged_tree, apply_merged_tree_external, bench_detect_renames,
193    bench_find_merge_base, bench_three_way_merge, build_thread_preview_report,
194    ensure_worktree_clean, merge_thread, merge_thread_into_current,
195    merge_thread_into_current_transactional, merge_thread_into_current_with_machine_contract,
196    prepare_dir_for_file_replacement, try_three_way_merge_between_tips,
197};
198pub use objects::{
199    CollectingWarnings, HeddleError, NoopProgress, NoopWarnings, ProgressEvent, ProgressSink,
200    TaskId, Warning, WarningSink,
201};
202pub use onboarding::{
203    OnboardingAction, OnboardingFacts, OnboardingMode, OnboardingPlan, OnboardingRepositoryState,
204    plan_repository_onboarding,
205};
206pub use oplog_plan::{
207    OPLOG_RECOVER_DEFAULT_STRATEGY, OplogRecoverFacts, OplogRecoverStatus,
208    oplog_recover_damaged_bytes, oplog_recover_damaged_range_display, oplog_recover_detail_fields,
209    oplog_recover_entries_lost_display, oplog_recover_headline, oplog_recover_headline_from_facts,
210    oplog_recover_shows_detail, oplog_recover_shows_strategy_field, plan_oplog_recover,
211    plan_oplog_recover_status,
212};
213pub use principal::{
214    ResolvedPrincipal, apply_hosted_principal_fallback, principal_source_display,
215    resolve_principal, resolve_principal_from_context, 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    CaptureAgentOptions, CaptureAgentReport, CaptureDiagnostics, CaptureOptions,
286    CapturePrincipalReport, CaptureProfile, CaptureReport, GitScope, SavePlan, SaveReport,
287    SaveVerb, capture, complete_current_thread_manual_resolution, execute_save,
288    plan_creates_new_state, plan_writes_git_checkpoint, recover_published_git_checkpoint,
289    resolve_capture_author, tree_leaf_name,
290};
291pub use semantic_plan::{
292    HOT_EVENT_KIND_TOKENS, HotEventKindToken, hot_event_kind_label, human_event_kind,
293    parse_hot_event_kind_token,
294};
295#[cfg(feature = "semantic")]
296pub use semantic_plan::{hot_event_kind_token, human_hot_event_kind, map_hot_event_kind};
297pub use state_review::install_capture_signal_computer;
298pub use status::{
299    ActorInfo, ChangesInfo, CoordinationStatus, FastShortStatusProfile, FastShortStatusReport,
300    GitImportGuidanceReport, GitIndexPlan, MaterializedThreadInfo, ParallelThreadInfo,
301    PlainGitStatusReport, RepositoryVerificationCheck, RepositoryVerificationHealth, StateInfo,
302    StatusCombinedVerdict, StatusDetail, StatusOptions, StatusProfile, StatusReport,
303    StatusThreadSummary, assess_materialized_threads,
304    build_repository_verification_health_with_worktree_status, changes_from_worktree_status,
305    changes_path_count, changes_paths, combined_verdict_axes, coordination_axis_clean,
306    coordination_label, coordination_severity, fast_short_status_report, git_index_plan_for_root,
307    health_severity, human_thread_health, large_capture_requires_force, plain_git_status_report,
308    resolve_coordination_with_trust, status, status_combined_verdict,
309};
310pub use thread::{
311    AvailableGitRef, ThreadActorInfo, ThreadListEntry, ThreadListOptions, ThreadListReport,
312    ThreadSummary, ThreadTaskSummary, ThreadUpdateBefore, capture_thread_update_before,
313    collect_thread_summaries, find_thread_summary, list_threads, list_threads_with_worktree_status,
314    save_thread_update, split_available_git_refs, thread_is_available_git_ref,
315    thread_is_imported_git_ref, visibility_label,
316};
317pub use thread_lifecycle::{
318    CleanWorktreeGuard, ThreadDropDisposition, ThreadDropOptions, ThreadDropPlan,
319    ThreadPromoteOptions, ThreadPromotePlan, ThreadRefreshOptions, ThreadRefreshPlan,
320    contains_conflict_marker_bytes, format_refresh_conflict_markers, plan_clean_worktree_guard,
321    plan_cleanup_thread_drop, plan_thread_drop, plan_thread_promote, plan_thread_refresh,
322    promote_confirm_in_place_removal, promote_existing_checkout_path,
323    promote_in_place_conversion_candidate, resolve_promote_target_path,
324    should_materialize_refresh_conflict_markers, thread_mode_requires_unmount,
325};
326pub use thread_materialize::{
327    ADVISORY_ACTIVE_HEAVY_THREAD_THRESHOLD, CheckoutCopyPolicy, CheckoutPathPlan,
328    CheckoutRewindPlan, CreateDirAttempt, MaterializeStep, RelativePathNormalizeError,
329    SelfCreatedDirRewindPlan, SharedTargetRedirectDecision, StartCleanupStep, StartEffectKind,
330    StartEffectPreconditionError, StartEffectStagingFacts, StartTransactionPlan,
331    TargetDirClaimKind, TargetDirCreateIntent, TargetLeafRefusal, TargetLeafShape,
332    ThreadMaterializePlan, ThreadsRootPathClass, ThreadsRootPathSafetyError,
333    append_safe_relative_components, claim_kind_after_empty_dir_adoption,
334    claim_kind_for_create_attempt, classify_materialize_error, classify_path_vs_threads_root,
335    classify_target_leaf_shape, effect_requires_established_claim, mode_is_bytes_on_disk,
336    path_components_are_safe, path_is_nested_in_reserved_region, path_is_strict_descendant,
337    path_is_under_or_equal, plan_checkout_copy_policy, plan_checkout_path, plan_checkout_rewind,
338    plan_hydrate, plan_materialize_steps, plan_self_created_dir_rewind,
339    plan_shared_target_redirect, plan_start_cleanup, plan_start_transaction,
340    plan_target_dir_create_intent, plan_thread_materialize, plan_write_manifest,
341    require_established_claim, shared_target_redirect_applies, shared_target_workspace_is_busy,
342    should_advise_shared_target, should_warn_materialized_without_reflink,
343    threads_root_path_layout_allowed, validate_empty_dir_adoption,
344    validate_start_effect_preconditions, validate_threads_root_path_safety,
345};
346pub use thread_plan::{
347    AutoWorkspaceDefault, ExplicitPathPlacement, ThreadBaseError, ThreadBaseSelection,
348    ThreadCreateOptions, ThreadCreatePlan, ThreadPathIsolationError, ThreadPlanError,
349    ThreadStartOptions, ThreadStartPlan, WorkspaceModeRequest, active_reservation_blocks_start,
350    active_reservation_path_matches, check_explicit_path_isolation,
351    classify_explicit_path_placement, explicit_path_allowed_for_git_overlay,
352    mode_honors_explicit_path, path_isolation_enforced, plan_thread_create, plan_thread_mode,
353    plan_thread_start, select_thread_base, start_requires_clean_worktree, validate_thread_name,
354};
355pub use thread_shaping::{
356    CaptureSplitOptions, NoPathsMatchedDetails, ThreadMoveOptions, ThreadMoveOutput,
357    ThreadShapingError, capture_split, thread_move,
358};
359pub use timeline_plan::{
360    TimelinePlanError, TimelineSelection, TimelineTargetOptions, parse_branch_reason,
361    parse_materialize_mode, parse_tool_status, plan_timeline_target,
362    timeline_materialization_recovery_status, timeline_materialize_status,
363};
364pub use undo::{
365    LiveThreadWorktree, PurgeOpRef, RedactOpRef, RedactionUndoBatchFacts, RequiredStateRef,
366    ThreadWorktreeHazard, UndoApplyPlan, UndoApplyPreflightError, UndoApplyStep, UndoBatchSummary,
367    UndoHistoryAction, UndoListReport, UndoOperationSummary, UndoPlan, UnsupportedRedoOp,
368    batch_status, check_redaction_redo_supported, check_redaction_undo_safe,
369    check_states_reachable, check_thread_worktree_undo_safe, collect_redaction_undo_facts,
370    collect_redo_required_states, collect_thread_worktree_hazards, collect_undo_required_states,
371    collect_unsupported_redo_ops, empty_history_refusal, human_operation_description,
372    human_post_undo_trust_status, human_undo_redo_message, list_undo_history,
373    list_undo_history_ctx, live_materialized_path_blocks_undo, machine_undo_redo_message,
374    plan_redo_apply_steps, plan_redo_batches, plan_undo_apply, plan_undo_apply_steps,
375    plan_undo_batches, require_nonempty_history, summarize_batch, undo_mode_conflict,
376    validate_undo_list_preview_modes,
377};
378pub use verify::{
379    ActionAudience, ActionTemplate, MachineContractCoverage, MachineContractInput,
380    PlainGitVerifyProbe, RepositoryContextInfo, RepositoryPresentation, RepositorySetupActionKind,
381    RepositorySetupGuidance, RepositoryVerificationState, VerificationCheck, VerifyOptions,
382    VerifyProfile, VerifyReport, build_plain_git_verification_probe,
383    build_plain_git_verification_probe_with_machine_contract, build_repository_verification_state,
384    build_repository_verification_state_with_machine_contract,
385    build_repository_verification_state_with_worktree_status,
386    build_repository_verification_state_with_worktree_status_and_machine_contract,
387    dirty_path_count, repository_mode_label, repository_presentation, repository_setup_action_kind,
388    repository_setup_guidance, verify,
389};
390pub use visibility_plan::{visibility_tier_kind, visibility_tier_label};
391pub use workflow::{
392    AUTO_LAND_CONFIDENCE_RECOVERY_ACTION, AUTO_LAND_CONFIDENCE_THRESHOLD, AutoLandPolicyInput,
393    ReadyDecision, ReadyDecisionInput, auto_land_confidence_recovery_action,
394    auto_land_policy_blockers, classify_ready_decision, git_subject_message,
395    has_integration_target, integrated_land_next_action, integration_blocker_recommended_action,
396    integration_blockers, is_heavy_impact_advisory, is_integration_clear, is_manual_review_blocker,
397    land_blockers_for_preview, land_checkpoint_message, land_performed_steps, land_skipped_steps,
398    land_text_step, land_warnings_for_preview, looks_like_machine_identity, machine_identity_span,
399    non_staleness_blockers, op_targets_merge_state, quote_recommended_action_arg,
400    ready_freshness_summary, ready_integration_summary, ready_merge_type_label,
401    ready_merge_type_summary, ready_report_recommended_action, ready_scoped_next_action,
402    ready_status_summary, ready_verification_preflight_blocks, ready_verification_status_blocks,
403    recovery_scope_checkout, scope_action_to_repo, should_squash_land, state_id_matches_display,
404    state_id_matches_op_display, subject_has_machine_identity, sync_completed_next_action,
405    sync_is_already_current,
406};