Skip to main content

backhopper_core/
lib.rs

1// Copyright (C) 2026 Michael S. Klishin and Contributors
2// SPDX-License-Identifier: Apache-2.0 OR MIT
3// See LICENSE-APACHE and LICENSE-MIT for details.
4
5//! Core types, snapshot I/O, and compatibility analysis for `backhopper`.
6
7pub mod app_src;
8pub mod compat;
9pub mod config;
10pub mod envelope_version;
11pub mod erlang_macros;
12pub mod errors;
13pub mod extract;
14pub mod model;
15#[cfg(feature = "schemars")]
16pub mod schema;
17pub mod schema_diff;
18pub mod snapshot;
19pub mod store;
20pub mod suites;
21pub mod versions;
22
23pub use errors::{Error, Result};
24pub use extract::{ExtractError, ExtractedSource, classify_visibility};
25pub use model::apply::{ApplyForecast, ApplySummary, PathApplyOutcome, UnassessedReason};
26pub use model::batch::{BatchPayload, BatchQuery, BatchResult, PinPayload};
27pub use model::findings::TargetFindings;
28pub use model::names::{
29    ApplicationName, Arity, BehaviourName, CommitSha, FieldName, FunctionName, Mfa, ModuleName,
30    ProjectName, RecordName, RelativePath, SeriesName, TagGlob, TagName, TypeName,
31};
32pub use model::pin::{Pin, PinSelect, PinSpec};
33pub use model::pr_commit::{PrCommit, PrCommitKind};
34pub use model::snapshot::{Snapshot, SnapshotHeader, state};
35pub use model::summary::{SummaryRow, VerdictKind};
36pub use model::symbol::{Reference, SymbolKind, SymbolRef};
37pub use model::verdict::{Reason, SeriesVerdict, Verdict};