///|
/// Minimal runnable example: compare two in-memory `.mbti` snapshots
/// with the public library API and print a SemVer suggestion.
fn main {
let old_mbti =
#|pub fn parse(String) -> Int
#|pub fn greet(String) -> String
#|pub async fn sleep(Int) -> Unit
let new_mbti =
#|pub fn parse(String) -> String
#|pub fn greet(String) -> String
#|pub fn format(Int) -> String
#|pub async fn sleep(Int) -> Unit noraise
let report = @lib.compare_mbti_content(old_mbti, new_mbti)
println("example: moon_api_guard basic compare")
println("breaking: \{report.breaking_count()}")
println("compatible: \{report.compatible_count()}")
println("semver: \{report.semver_suggestion()}")
println(report.semver_advice())
println("release_blocked: \{report.release_blocked()}")
println(report.markdown_summary())
println("--- github summary ---")
println(report.github_summary())
}