Pure MoonBit TAP13 parser, CI validation gate, and Markdown/JSON report renderer.
pub(all) struct TapAnnotation {
suite : String
path : String
line : Int
end_line : Int
column : Int
level : TapAnnotationLevel
code : String
title : String
message : String
remediation : String
} derive(Eq, Debug)pub(all) struct TapDocument {
has_version : Bool
version : String
has_plan : Bool
plan_start : Int
plan_end : Int
points : Array[TapPoint]
diagnostics : Array[TapDiagnostic]
yaml_blocks : Array[TapYamlBlock]
bailed_out : Bool
bailout_reason : String
parse_issues : Array[TapIssue]
} derive(Eq, Debug)pub(all) struct TapIssueMeta {
code : String
severity : TapSeverity
category : String
title : String
remediation : String
} derive(Eq, Debug)pub(all) struct TapPoint {
line : Int
number : Int
ok : Bool
name : String
directive : TapDirective
raw : String
} derive(Eq, Debug)pub(all) struct TapPolicy {
name : String
require_version : Bool
require_plan : Bool
require_plan_match : Bool
require_monotonic_numbers : Bool
require_numbered_points : Bool
allow_bailout : Bool
allow_unknown_lines : Bool
allow_todo : Bool
allow_skip : Bool
max_failures : Int
max_parse_issues : Int
min_total : Int
min_passed : Int
} derive(Eq, Debug)pub(all) struct TapProjectEvidence {
package_name : String
version : String
repository : String
license : String
readme_present : Bool
readme_has_usage : Bool
readme_has_features : Bool
ci_configured : Bool
examples : Int
test_cases : Int
build_ok : Bool
mooncakes_published : Bool
mooncakes_version : String
mooncakes_build_ok : Bool
commit_count : Int
total_moonbit_lines : Int
effective_moonbit_lines : Int
has_changelog : Bool
has_design_doc : Bool
has_provenance_doc : Bool
has_acceptance_checklist : Bool
clean_tree : Bool
} derive(Eq, Debug)pub(all) struct TapReadinessCheck {
id : String
category : String
title : String
required : Bool
passed : Bool
score : Int
max_score : Int
risk : TapReadinessRisk
evidence : String
remediation : String
} derive(Eq, Debug)pub(all) struct TapReadinessReport {
project : String
suite : TapSuiteReport
policy : TapPolicyResult
evidence : TapProjectEvidence
checks : Array[TapReadinessCheck]
score : Int
level : TapReadinessLevel
ok : Bool
} derive(Eq, Debug)pub(all) struct TapReport {
document : TapDocument
summary : TapSummary
issues : Array[TapIssue]
ok : Bool
} derive(Eq, Debug)pub(all) struct TapSuiteReport {
name : String
reports : Array[TapNamedReport]
summary : TapSuiteSummary
ok : Bool
} derive(Eq, Debug)pub(all) struct TapTrendReport {
before : TapRunRecord
after : TapRunRecord
delta : TapSummaryDelta
kind : TapTrendKind
notes : Array[String]
} derive(Eq, Debug)fn issue_catalog_markdown() -> Stringfn issue_is_blocking(code : String) -> Boolfn issue_is_format_related(code : String) -> Boolfn issue_is_runtime_related(code : String) -> Boolfn license_is_recognized(license : String) -> Boolfn package_name_has_namespace(package_name : String) -> Boolfn readiness_from_report(project : String, report_name : String, report : TapReport, evidence : TapProjectEvidence) -> TapReadinessReportfn readiness_from_suite(project : String, suite : TapSuiteReport, evidence : TapProjectEvidence) -> TapReadinessReportfn readiness_grade(score : Int) -> Stringfn report_passes(input : String) -> Boolfn repository_link_present(repository : String) -> Boolfn verified_project_evidence(package_name : String, version : String, repository : String, license : String, examples : Int, test_cases : Int, total_moonbit_lines : Int, effective_moonbit_lines : Int, commit_count : Int) -> TapProjectEvidencePure MoonBit TAP13 parser, CI validation gate, and Markdown/JSON report renderer.