Skip to main content

fallow_output/
lib.rs

1//! Reusable output contract types for fallow.
2//!
3//! This crate owns stable report DTOs that are not tied to CLI rendering.
4//! Higher-level output assemblers live above this crate in `fallow-api` or the
5//! CLI, while this crate remains the shared typed boundary those builders and
6//! non-CLI consumers can use. Shared selectors such as `OutputFormat` stay in
7//! `fallow-types`; this crate re-exports only the selectors needed to keep
8//! output builders on one contract surface.
9#![warn(missing_docs)]
10#![cfg_attr(
11    test,
12    allow(
13        clippy::expect_used,
14        reason = "tests use expect to keep serialization assertions concise"
15    )
16)]
17
18mod analysis_sarif;
19mod audit_branching;
20mod audit_brief;
21mod audit_decision_surface;
22mod audit_diff_risk;
23mod audit_focus;
24mod audit_ownership;
25mod audit_render;
26mod audit_routing;
27mod audit_test_reach;
28mod audit_walkthrough;
29mod audit_weakening;
30mod audit_worsened;
31mod baseline_staleness;
32mod check;
33mod ci_output;
34mod codeclimate;
35mod coverage_envelopes;
36mod dead_code_sarif;
37mod diff;
38mod doctor;
39mod dupes;
40mod entry_weight;
41mod error_envelope;
42mod feature_flags;
43mod finding_id_query;
44mod fix;
45mod gate_outcomes;
46mod health;
47mod health_actions;
48mod health_change_coupling;
49mod health_coverage;
50mod health_coverage_gaps;
51mod health_coverage_intelligence;
52mod health_css;
53mod health_diagnostics;
54mod health_findings;
55mod health_grouped;
56mod health_mutation;
57mod health_report;
58mod health_runtime_coverage;
59mod health_scores;
60mod health_targets;
61mod health_trends;
62mod health_vital_signs;
63mod impact;
64mod inspect_envelopes;
65mod issue_contract;
66mod json_paths;
67mod list_envelopes;
68mod mutation;
69mod next_steps;
70mod package_baselines;
71mod pr_comment_envelope;
72mod pr_comment_post_plan;
73mod pr_decision;
74mod pr_details;
75mod pr_status;
76mod pr_summary;
77mod report_contract;
78mod request_outcomes;
79mod review_envelopes;
80mod root_envelopes;
81mod sarif;
82mod saved_health;
83mod security;
84mod similar_code;
85mod static_str;
86mod suppressions;
87mod trace_envelopes;
88mod type_aware_envelopes;
89mod walkthrough_render;
90
91pub use analysis_sarif::{
92    annotate_sarif_results, build_duplication_sarif, build_grouped_duplication_sarif,
93    build_health_sarif,
94};
95pub use audit_branching::{
96    BranchingCognitive, BranchingFileDelta, BranchingMetric, BranchingReport, BranchingScope,
97    BranchingSnapshot, CognitiveAttribution, DEFAULT_BRANCHING_TOLERANCE, SplitInPlace,
98};
99pub use audit_brief::{
100    AFFECTED_DIR_CAP, AFFECTED_SAMPLE_CAP, AffectedDirectory, CO_CHANGE_GAP_CAP, CoChangeGapFact,
101    CoordinationGapFact, DiffTriage, ExportSearchGapFact, GraphFacts, ImpactClosureFacts,
102    PartitionFacts, REVIEW_BRIEF_SCHEMA_VERSION, ReviewBriefHeader, ReviewBriefOutput,
103    ReviewBriefSchemaVersion, ReviewBriefSubtractSections, ReviewBriefWireOutput, ReviewDeltas,
104    ReviewEffort, ReviewUnitFact, RiskClass, SEARCH_GAP_CONSUMER_CAP, SearchGapConsumerFact,
105    SearchGapFacts, StandardReviewBriefOutput, build_review_brief_json_output,
106    serialize_decision_surface_json_output, serialize_review_brief_json_output,
107    serialize_walkthrough_guide_json_output, serialize_walkthrough_validation_json_output,
108};
109pub use audit_decision_surface::{
110    DECISION_SURFACE_SCHEMA_VERSION, Decision, DecisionAction, DecisionActionType,
111    DecisionCategory, DecisionSurface, DecisionSurfaceOutput, DecisionSurfaceSchemaVersion,
112    DecisionWithActions, TruncationNote, build_decision_surface_output, suppress_comment,
113};
114pub use audit_diff_risk::{
115    DiffRiskAction, DiffRiskActionType, DiffRiskFinding, DiffRiskLocation, DiffRiskReport,
116    DiffRiskRule, DiffRiskSeverity, WeakenedTestsKind,
117};
118pub use audit_focus::{ConfidenceFlag, FocusLabel, FocusMap, FocusScore, FocusUnit};
119pub use audit_ownership::{OWNER_GROUP_CAP, OwnerGroupFact, OwnershipFacts, OwnershipSliceFact};
120pub use audit_render::{
121    AuditDisplayGate, AuditDisplaySeverity, AuditStylingContextLabelInput,
122    styling_audit_context_label, styling_candidate_count,
123};
124pub use audit_routing::{RoutingFacts, RoutingUnit};
125pub use audit_test_reach::{
126    ExportChange, ExportTestReachFact, TEST_REACH_EXPORT_CAP, TEST_REACH_FILE_CAP, TestReachClass,
127    TestReachCounts, TestReachFacts, TestReachMasking, TestReachStatus,
128};
129pub use audit_walkthrough::{
130    AcceptedJudgment, AgentJudgment, AgentSchema, AgentWalkthrough, ChangeAnchor, DirectionUnit,
131    INJECTION_NOTE, JUDGMENT_ACTIONS, JUDGMENT_CONCERNS, RejectedJudgment, ReviewDirection,
132    StandardWalkthroughGuide, TestAdjacency, WalkthroughGuide, WalkthroughValidation, agent_schema,
133    is_judgment_action,
134};
135pub use audit_weakening::{WeakeningKind, WeakeningSignal};
136pub use audit_worsened::{
137    AuditFindingAttribution, AuditGateExemption, WorsenedMetric, WorsenedMetricKind,
138    describe_worsened_metrics, format_metric_value,
139};
140pub use baseline_staleness::{
141    BaselineScopeReasons, BaselineStaleness, BaselineStalenessAdvisory, ScopeReason,
142};
143#[cfg(feature = "schema")]
144pub use check::ArchitectureSchemaVersion;
145pub use check::{
146    ARCHITECTURE_SCHEMA_VERSION, CHECK_SCHEMA_VERSION, CheckEnvelope, CheckGroupedEntry,
147    CheckGroupedOutput, CheckOutput, CheckOutputInput, GroupByMode,
148    apply_config_fixable_to_duplicate_exports, build_check_output,
149    harmonize_dead_code_health_suppress_line_actions, harmonize_multi_kind_suppress_line_actions,
150    serialize_architecture_grouped_json_output, serialize_architecture_json_output,
151    serialize_check_grouped_json_output, serialize_check_json_output,
152};
153pub use ci_output::{
154    CiIssue, CiLocation, CiProvider, GroupedReviewIssues, MARKER_PREFIX_V3, MARKER_SUFFIX_V3,
155    MAX_COMMENT_BODY_BYTES, PROJECT_LEVEL_RULE_IDS, PrCommentRenderInput, ReviewCommentRenderInput,
156    ReviewEnvelopeRenderInput, ReviewEnvelopeRenderResult, ReviewEnvelopeTruncation,
157    ReviewGitlabDiffRefs, apply_path_prefix, command_title, github_check_conclusion,
158    group_review_issues_by_path_line, is_project_level_rule, issues_from_codeclimate,
159    issues_from_codeclimate_issues, markdown_code_span, markdown_table_code_span,
160    markdown_table_text, render_pr_comment, render_pr_comment_with_verdict,
161    render_review_comment_for_group, render_review_envelope,
162    render_review_envelope_with_conclusion, render_scoped_review_envelope,
163    render_scoped_review_envelope_with_conclusion, summary_label,
164};
165pub use codeclimate::{
166    CodeClimateAnnotationField, CodeClimateIssue, CodeClimateIssueInput, CodeClimateIssueKind,
167    CodeClimateLines, CodeClimateLocation, CodeClimateOutput, CodeClimateSeverity,
168    annotate_codeclimate_issues, build_codeclimate_issue, codeclimate_fingerprint_hash,
169    codeclimate_issues_to_value,
170};
171pub use coverage_envelopes::{
172    CoverageAnalyzeOutput, CoverageAnalyzeSchemaVersion, CoverageSetupFileToEdit,
173    CoverageSetupFramework, CoverageSetupMember, CoverageSetupOutput, CoverageSetupPackageManager,
174    CoverageSetupRuntimeTarget, CoverageSetupSchemaVersion, CoverageSetupSnippet,
175    build_coverage_analyze_output, serialize_coverage_analyze_json_output,
176    serialize_coverage_setup_json_output,
177};
178pub use dead_code_sarif::build_dead_code_sarif;
179pub use diff::{
180    DiffIndex, MAX_ADDED_LINES, MAX_DIFF_BYTES, parse_new_hunk_start, relative_to_diff_path,
181};
182pub use doctor::{
183    DOCTOR_SCHEMA_VERSION, DoctorCheck, DoctorCheckCategory, DoctorCheckId, DoctorCheckStatus,
184    DoctorOutput, DoctorRemediation, DoctorStatus, DoctorSummary, serialize_doctor_json_output,
185};
186pub use dupes::{
187    CloneFamilyAction, CloneFamilyActionType, CloneGroupAction, CloneGroupActionType,
188    DUPES_PROGRAMMATIC_SCHEMA_VERSION, DUPES_SCHEMA_VERSION, DupesOutput, DupesOutputInput,
189    build_dupes_output, clone_family_actions, clone_group_actions, serialize_dupes_json_output,
190};
191pub use entry_weight::{
192    DominatingImportOutput, EagerPackageOutput, EntryWeightDelta, EntryWeightListing,
193    EntryWeightOutput, EntryWeightRegression, EntryWeightUnit,
194};
195pub use error_envelope::ErrorOutput;
196pub use fallow_types::envelope;
197pub use fallow_types::output;
198pub use fallow_types::output_dead_code;
199pub use fallow_types::output_format::OutputFormat;
200pub use fallow_types::output_health;
201pub use feature_flags::{
202    FEATURE_FLAGS_SCHEMA_VERSION, FeatureFlagAction, FeatureFlagActionType, FeatureFlagConfidence,
203    FeatureFlagDeadCodeOverlap, FeatureFlagFinding, FeatureFlagKind, FeatureFlagsConfidenceMeta,
204    FeatureFlagsKindMeta, FeatureFlagsMeta, FeatureFlagsMetaDetails, FeatureFlagsOutput,
205    FeatureFlagsOutputInput, build_feature_flags_output, feature_flags_meta,
206    serialize_feature_flags_json_output,
207};
208pub use finding_id_query::{FindingIdQuery, FindingIdQueryReason};
209pub use fix::{FixJsonOutput, FixJsonOutputInput, count_applied_fixes, serialize_fix_json_output};
210pub use gate_outcomes::{GateFile, GateName, GateOutcome, GateOutcomes, GateStatus};
211pub use health::{
212    HEALTH_SCHEMA_VERSION, HealthJsonOutputInput, HealthOutput, HealthOutputInput,
213    serialize_health_json_output,
214};
215pub use health_actions::HealthActionsMeta;
216pub use health_change_coupling::{
217    ChangeCouplingReport, ChangeCouplingThresholds, HiddenCouplingPair,
218};
219pub use health_coverage::{CoverageInputFormat, CoverageModel};
220pub use health_coverage_gaps::{
221    CoverageGapSummary, CoverageGaps, UntestedExport, UntestedExportFinding, UntestedFile,
222    UntestedFileFinding,
223};
224pub use health_coverage_intelligence::{
225    CoverageIntelligenceAction, CoverageIntelligenceConfidence, CoverageIntelligenceEvidence,
226    CoverageIntelligenceFinding, CoverageIntelligenceMatchConfidence,
227    CoverageIntelligenceRecommendation, CoverageIntelligenceReport,
228    CoverageIntelligenceSchemaVersion, CoverageIntelligenceSignal, CoverageIntelligenceSummary,
229    CoverageIntelligenceVerdict,
230};
231pub use health_css::{
232    ConsumerKind, CssAnalyticsReport, CssAnalyticsSummary, CssBlockOccurrence, CssCandidateAction,
233    CssCandidateActionType, CssDuplicateBlock, CssFileAnalytics, CssNotationConsistency,
234    CssNotationCount, CvaDuplicateVariantBlock, CvaVariantTokenDrift, NearDuplicateThemeToken,
235    NearestStylingToken, RawStyleValue, ScopedUnusedClasses, StylingAgentDisposition,
236    StylingFinding, StylingFindingConfidence, StylingFindingSeverity, TOKEN_CONSUMER_SAMPLE_CAP,
237    TailwindArbitraryValue, TokenConsumerLocation, TokenConsumers, UndefinedKeyframes,
238    UnreferencedCssClass, UnreferencedKeyframes, UnresolvedClassReference, UnusedAtRule,
239    UnusedAtRuleKind, UnusedFontFace, UnusedThemeToken,
240};
241pub use health_diagnostics::{
242    FrameworkHealthDetector, FrameworkHealthDetectorStatus, FrameworkHealthDiagnostics,
243    HealthTimings,
244};
245pub use health_findings::{
246    HealthActionContext, HealthActionOptions, HealthFinding, HotspotFinding,
247    RefactoringTargetFinding, SFC_TEMPLATE_SUPPRESS_COMMENT, build_health_finding_actions,
248};
249pub use health_grouped::{
250    GroupTrendStatus, HealthGroup, HealthGrouping, group_score_delta_label,
251    health_groups_in_display_order,
252};
253pub use health_mutation::{
254    HealthFindingMutation, HealthMutationStaleFile, HealthMutationStaleReason, HealthMutationState,
255    HealthMutationSummary,
256};
257pub use health_report::{HealthReport, HealthSection};
258pub use health_runtime_coverage::{
259    OPTIMIZATION_TARGET_UNMATCHED_WARNING, RUNTIME_STALE_AFTER_DAYS, RuntimeCoverageAction,
260    RuntimeCoverageBlastRadiusEntry, RuntimeCoverageCaptureQuality, RuntimeCoverageConfidence,
261    RuntimeCoverageCostBasis, RuntimeCoverageDataSource, RuntimeCoverageDiscriminators,
262    RuntimeCoverageEvidence, RuntimeCoverageFinding, RuntimeCoverageHotPath,
263    RuntimeCoverageImportanceEntry, RuntimeCoverageMessage, RuntimeCoverageOptimizationTarget,
264    RuntimeCoverageProvenance, RuntimeCoverageReport, RuntimeCoverageReportVerdict,
265    RuntimeCoverageRiskBand, RuntimeCoverageSchemaVersion, RuntimeCoverageSignal,
266    RuntimeCoverageSummary, RuntimeCoverageVerdict, RuntimeCoverageWatermark,
267};
268pub use health_scores::{
269    COGNITIVE_EXTRACTION_THRESHOLD, ClockProvenance, ClockSource, ComplexityViolation,
270    ComponentRollup, ContributorEntry, ContributorIdentifierFormat, CoverageSource,
271    CoverageSourceConsistency, CoverageTier, DEFAULT_COGNITIVE_CRITICAL, DEFAULT_COGNITIVE_HIGH,
272    DEFAULT_CYCLOMATIC_CRITICAL, DEFAULT_CYCLOMATIC_HIGH, ExceededThreshold, FileHealthScore,
273    FindingSeverity, HEALTH_SCORE_FORMULA_VERSION, HOTSPOT_SCORE_THRESHOLD,
274    HealthConfiguredThresholds, HealthEffectiveThresholds, HealthScore, HealthScorePenalties,
275    HealthSummary, HotspotEntry, HotspotSummary, LargeFunctionEntry, MI_DENSITY_MIN_LINES,
276    OwnershipMetrics, OwnershipState, ReactHookProfile, STYLING_HEALTH_FORMULA_VERSION,
277    StylingHealth, StylingHealthConfidence, StylingHealthPenalties, ThresholdOverrideDimension,
278    ThresholdOverrideMetrics, ThresholdOverrideState, ThresholdOverrideStatus, ThresholdSource,
279    compute_finding_severity, letter_grade, summarize_coverage_source_consistency,
280};
281pub use health_targets::{
282    CloneSiblingEvidence, CoChangePartnerEvidence, Confidence, ContributingFactor,
283    DirectCallerEvidence, DirectCallerSymbolEvidence, EffortEstimate, EvidenceFunction,
284    RecommendationCategory, RefactoringTarget, TargetEvidence, TargetThresholds,
285};
286pub use health_trends::{
287    HealthTrend, TrendCount, TrendDirection, TrendMetric, TrendPoint, health_score_comparison_note,
288};
289pub use health_vital_signs::{
290    CyclomaticPopulation, CyclomaticUnitPopulation, GroupSnapshot, RenderFanInTopComponent,
291    RiskProfile, SNAPSHOT_SCHEMA_VERSION, SnapshotGrouping, VitalSigns, VitalSignsCounts,
292    VitalSignsSnapshot,
293};
294pub use impact::{
295    ContainmentEvent, CrossRepoImpactReport, CrossRepoImpactSchemaVersion, CrossRepoProjectEntry,
296    CrossRepoTotals, EnabledSource, GateRunCounts, ImpactCounts, ImpactReport,
297    ImpactReportSchemaVersion, ImpactTrendDirection, ResolutionEvent, TrendSummary,
298    serialize_cross_repo_impact_json_output, serialize_impact_json_output,
299};
300pub use inspect_envelopes::{
301    ExplainOutput, InspectEvidence, InspectEvidenceScope, InspectEvidenceSection,
302    InspectFileIdentity, InspectIdentity, InspectOutput, InspectSectionStatus,
303    InspectSymbolIdentity, InspectTargetDescriptor, serialize_explain_json_output,
304    serialize_inspect_json_output,
305};
306pub use issue_contract::{
307    ACTIONS_AUTO_FIXABLE_FIELD_DEFINITION, ACTIONS_FIELD_DEFINITION, ARCHITECTURE_DOCS,
308    ARCHITECTURE_RESULT_KEYS, CHECK_DOCS, CODECLIMATE_RESULT_CODES, IssueOutputContract,
309    TsAliasMeta, architecture_meta, check_meta, issue_output_contract_by_code,
310    issue_output_contracts, rule_docs_url,
311};
312pub use json_paths::{normalize_uri, strip_root_prefix};
313pub use list_envelopes::{
314    BoundariesListLogicalGroup, BoundariesListRule, BoundariesListZone, BoundariesListing,
315    ListBoundariesOutput, ListEntryPointOutput, ListOutput, ListPluginOutput, WorkspaceInfo,
316    WorkspacesOutput, serialize_list_boundaries_json_output, serialize_list_workspaces_json_output,
317};
318pub use mutation::{
319    MUTATION_INSPECT_SCHEMA_VERSION, MUTATION_PLAN_SCHEMA_VERSION, MUTATION_SCHEMA_VERSION,
320    MutantAttempt, MutantChange, MutantFailureKind, MutantLocation, MutantResult, MutantStatus,
321    MutantTestReach, MutationBaselineFailure, MutationCacheOutput, MutationCompletion,
322    MutationCompletionStatus, MutationFunctionResult, MutationIncompleteReason,
323    MutationInspectCode, MutationInspectOutput, MutationInspectSchemaVersion,
324    MutationInspectStatus, MutationPlanCountsOutput, MutationPlanDisposition, MutationPlanFile,
325    MutationPlanMutant, MutationPlanOutput, MutationPlanSchemaVersion, MutationReport,
326    MutationRunIssue, MutationRunnerOutput, MutationRuntimeOutput, MutationSchemaVersion,
327    MutationScopeKind, MutationScopeOutput, MutationSkippedFile, MutationStaleReason,
328    MutationStatusCounts, MutationSummary, MutationTimings, MutationTypecheckOutput,
329    MutationTypecheckSkip, MutationTypecheckSkipReason, MutationVerdict, MutationVerdictInput,
330    MutationVerdictJoin, MutationVerdictKind, MutationVerdictSchemaVersion, MutationWorktreeCheck,
331    serialize_mutation_inspect_json_output, serialize_mutation_json_output,
332    serialize_mutation_plan_json_output,
333};
334pub use next_steps::{
335    AuditNextStepsInput, BaselineRecheckInput, CombinedNextStepsInput, DeadCodeNextStepsInput,
336    DupesNextStepsInput, HealthNextStepsInput, ImpactDigestCounts, TraceUnusedExportInput,
337    build_audit_next_steps, build_audit_next_steps_input, build_combined_next_steps,
338    build_dead_code_next_steps, build_dupes_next_steps, build_health_next_steps,
339    build_health_next_steps_input, impact_digest_summary, trace_unused_export_input,
340};
341pub use package_baselines::PackageBaselineStatus;
342pub use pr_comment_envelope::{PrCommentEnvelope, PrCommentTruncation};
343pub use pr_comment_post_plan::{
344    ExistingPrComment, PrCommentPostAction, PrCommentPostPlan, PrCommentPostPlanInput,
345    PrCommentPostSkipReason, plan_pr_comment_post,
346};
347pub use pr_decision::{
348    PR_DECISION_SCHEMA, PrDecisionAnnotation, PrDecisionAnnotationLevel, PrDecisionConclusion,
349    PrDecisionDetails, PrDecisionGate, PrDecisionSurface,
350};
351pub use pr_details::{PR_DETAILS_SCHEMA, PrDetailsArtifact, PrDetailsRow, PrDetailsSection};
352pub use pr_status::{PrStatusContext, PrStatusMode, pr_status_contexts_with_mode};
353pub use pr_summary::{
354    PrCommentLayout, PrSummaryArea, PrSummaryFinding, PrSummaryInput, PrSummaryScope,
355    PrSummaryStatus, render_pr_summary,
356};
357pub use report_contract::{
358    COVERAGE_ANALYZE_DOCS, COVERAGE_SETUP_DOCS, DUPES_DOCS, HEALTH_DOCS, SecurityRuleMeta,
359    coverage_analyze_meta, coverage_setup_meta, dupes_meta, health_meta, security_meta,
360};
361pub use request_outcomes::{RequestName, RequestOutcome, RequestOutcomes, RequestStatus};
362pub use review_envelopes::{
363    GitHubReviewComment, GitHubReviewSide, GitLabReviewComment, GitLabReviewPosition,
364    GitLabReviewPositionType, MARKER_REGEX_V3, ReviewCheckConclusion, ReviewComment,
365    ReviewEnvelopeEvent, ReviewEnvelopeMeta, ReviewEnvelopeOutput, ReviewEnvelopeSchema,
366    ReviewEnvelopeSummary, ReviewEnvelopeWireOutput, ReviewId, ReviewProvider,
367    ReviewReconcileOutput, ReviewReconcileSchema, body_matches_review_id, is_false,
368    parse_review_id_marker, review_id_marker, serialize_review_envelope_json_output,
369    serialize_review_reconcile_json_output, serialize_scoped_review_envelope_json_output,
370    validate_review_body_scope,
371};
372pub use root_envelopes::{
373    AUDIT_SCHEMA_VERSION, AuditCommand, AuditOutput, COMBINED_SCHEMA_VERSION, CombinedMeta,
374    CombinedOutput, FallowOutput, attach_telemetry_meta, serialize_audit_json_output,
375    serialize_combined_json_output, serialize_json_root_output, serialize_named_json_output,
376};
377pub use sarif::{
378    GHAS_SARIF_FINGERPRINT_KEY, SARIF_FINDING_ID_KEY, SARIF_FINGERPRINT_KEY, SarifDocumentInput,
379    SarifFindingFields, SarifFindingInput, SarifResultInput, SarifRuleInput,
380    SarifSourceSnippetCache, append_sarif_findings, build_sarif_document, build_sarif_result,
381    build_sarif_result_with_snippet, build_sarif_rule, ensure_unique_result_fingerprints,
382    sarif_finding_fingerprint,
383};
384pub use saved_health::health_report_from_saved_value;
385pub use security::{
386    SECURITY_SCHEMA_VERSION, SecurityBlindSpotFile, SecurityBlindSpotGroup,
387    SecurityBlindSpotsOutput, SecurityBlindSpotsSchemaVersion, SecurityBlindSpotsSummary,
388    SecurityGate, SecurityGateVerdict, SecurityOutput, SecurityOutputConfig,
389    SecurityOutputRulesConfig, SecurityReachabilityCounts, SecurityRuleSeverityConfig,
390    SecurityRuntimeStateCounts, SecuritySchemaVersion, SecuritySeverityCounts, SecuritySummary,
391    SecuritySummaryOutput, SecuritySurvivor, SecuritySurvivorsOutput,
392    SecuritySurvivorsSchemaVersion, SecuritySurvivorsSummary, SecurityUnresolvedCalleeDiagnostics,
393    SecurityUnresolvedCalleeReasonCount, SecurityUnresolvedCalleeSample,
394    SecurityUnresolvedCalleeTopFile, SecurityVerifierVerdict, SecurityVerifierVerdictStatus,
395    serialize_security_blind_spots_json_output, serialize_security_json_output,
396    serialize_security_summary_json_output, serialize_security_survivors_json_output,
397    validate_saved_security_envelope,
398};
399pub use similar_code::{
400    SIMILAR_CODE_CACHE_CLEAR_SCHEMA_VERSION, SIMILAR_CODE_INSPECT_SCHEMA_VERSION,
401    SIMILAR_CODE_REVIEW_SCHEMA_VERSION, SIMILAR_CODE_SCHEMA_VERSION,
402    SIMILAR_CODE_STATUS_SCHEMA_VERSION, SimilarCodeAction, SimilarCodeActionType,
403    SimilarCodeCacheClearOutput, SimilarCodeCacheClearSchemaVersion, SimilarCodeCacheStatus,
404    SimilarCodeCacheSummary, SimilarCodeCandidate, SimilarCodeCandidateSnapshot,
405    SimilarCodeCompletion, SimilarCodeCompletionStatus, SimilarCodeDiagnostic,
406    SimilarCodeDiagnosticDomain, SimilarCodeDomainOutcome, SimilarCodeEnrichmentAvailability,
407    SimilarCodeEnrichmentState, SimilarCodeGeneration, SimilarCodeGenerationParameters,
408    SimilarCodeInspectOutput, SimilarCodeInspectPacket, SimilarCodeInspectSchemaVersion,
409    SimilarCodeLimits, SimilarCodeLocation, SimilarCodeModelProvenance, SimilarCodeNamedReference,
410    SimilarCodeOutput, SimilarCodePhase, SimilarCodePhaseCompletion, SimilarCodePhaseStatus,
411    SimilarCodeProvider, SimilarCodeProviderProvenance, SimilarCodeReviewOutput,
412    SimilarCodeReviewProvenance, SimilarCodeReviewSchemaVersion, SimilarCodeReviewedCandidate,
413    SimilarCodeSchemaVersion, SimilarCodeScopeProvenance, SimilarCodeSideEffectHint,
414    SimilarCodeSideEvidence, SimilarCodeSimilarityBand, SimilarCodeSkip, SimilarCodeSkipReason,
415    SimilarCodeStatusOutput, SimilarCodeStatusSchemaVersion, SimilarCodeVerdict,
416    SimilarCodeVerdictInput, SimilarCodeVerdictMatch, SimilarCodeVerdictSchemaVersion,
417    SimilarCodeVerdictValidationError, SimilarCodeVerificationStatus,
418    serialize_similar_code_cache_clear_json_output, serialize_similar_code_inspect_json_output,
419    serialize_similar_code_json_output, serialize_similar_code_review_json_output,
420    serialize_similar_code_status_json_output,
421};
422pub use suppressions::{
423    SuppressionInventoryEntry, SuppressionInventoryFile, SuppressionInventoryLevel,
424    SuppressionInventoryOrigin, SuppressionInventoryOutput, SuppressionInventoryOutputInput,
425    SuppressionInventorySchemaVersion, SuppressionInventorySummary, SuppressionKindCount,
426    build_suppression_inventory_output, serialize_suppression_inventory_json_output,
427};
428pub use trace_envelopes::{serialize_trace_error_json_output, serialize_trace_json_output};
429pub use type_aware_envelopes::{
430    TYPE_AWARE_STATUS_SCHEMA_VERSION, TypeAwareStatusOutput,
431    serialize_type_aware_status_json_output,
432};
433pub use walkthrough_render::{
434    MAX_CONTRACT_MEMBERS, WalkthroughAccounting, cap_member_list, cap_names, clean_decision_fact,
435    decisions_outside_units, visible_stage_units,
436};