Deterministic schema governance for MoonBit: validate contracts, audit evolution, plan migrations, and enforce release gates.
Contract model → Payload validation → Schema diff → Compatibility audit
→ Migration plan → Policy gate → Markdown / JSON / JUnit evidence| Area | What is included |
|---|---|
| Contract model | Bool、Int、Double、String、Enum、Array、Optional、Struct,以及主键、默认值和字段约束 |
| Runtime validation | 必填字段、主键、数值范围、字符串规则、枚举、严格校验和类型强制转换 |
| Schema evolution | AST Diff、破坏性变更识别、Backward/Forward/Full 兼容性、传递兼容性和版本矩阵 |
| Registry and generation | Registry、缓存、文件存储、依赖 DAG,以及 SQL、Proto、TypeScript、Avro、Graphviz、GraphQL、Parquet 和 Mock 导出 |
| Governance | 快照链、完整性校验、策略例外、风险分级、迁移/回滚计划、审批台账、发布检查清单和治理 replay |
| Evidence | Markdown、JSON、JUnit 和 HTML 报告,适合 CI artifact、代码评审和验收留档 |
moon add lyjttio/moon-data-contract@0.2.2import {
"lyjttio/moon-data-contract/lib" as @contract,
}
let v1 = @contract.Schema::new(
"orders",
"Order",
"1.0.0",
"commerce",
[
@contract.Field::new(
"order_id",
@contract.DataType::Primitive(@contract.PrimitiveType::TString),
primary_key=true,
),
],
)
let v2 = @contract.Schema::new(
"orders",
"Order",
"1.1.0",
"commerce",
[
@contract.Field::new(
"order_id",
@contract.DataType::Primitive(@contract.PrimitiveType::TString),
primary_key=true,
),
@contract.Field::new(
"currency",
@contract.DataType::Primitive(@contract.PrimitiveType::TString),
required=false,
),
],
)
let changes = @contract.diff_schemas(v1, v2)let result = @contract.govern_subject(
store,
"orders",
@contract.GovernancePolicy::strict(),
@contract.CompatibilityLevel::Backward,
)
let markdown = result.to_markdown()moon run cmd/main -- benchmark
moon run cmd/main -- audit
moon run cmd/main -- govern
moon run cmd/main -- snapshot
moon run cmd/main -- plan
moon run cmd/main -- policy| Measure | Verified value |
|---|---|
| 有效生产 MoonBit 源码 | 7,020 行 |
| 物理生产 MoonBit 源码 | 7,560 行 |
| 测试源码 | 1,971 行 / 62 个测试文件 |
| MoonBit 源码总量 | 9,531 行 |
| 测试结果 | 104/104 通过 |
| Benchmark operations | 792 次契约操作/次 |
| Governance workloads | 4 类,总计 8 类 workload |
powershell -ExecutionPolicy Bypass -File scripts/benchmark.ps1 -Runs 5moon fmt --check
moon info
moon check --deny-warn --target all
moon test --deny-warn --target allpowershell -ExecutionPolicy Bypass -File scripts/verify_acceptance.ps1moon-data-contract/
├── moon.mod
├── LICENSE
├── README.md
├── OSC2026_Hackathon_Proposal.md
├── benchmarks/ # reproducible benchmark evidence
├── scripts/ # benchmark and acceptance checks
├── .github/workflows/ # CI and manual Mooncakes release
├── lib/ # core library and 62 test files
└── cmd/main/ # offline CLI entry pointDeterministic schema governance for MoonBit: validate contracts, audit evolution, plan migrations, and enforce release gates.