# OSC2026 Acceptance Checklist

Last updated: 2026-08-15

This checklist maps the public OSC2026 acceptance baseline to concrete evidence in this repository.

## Official baseline

The official MoonBit OSC2026 site source currently states that accepted projects should:

- use MoonBit as the primary implementation language,
- keep the repository public,
- provide a clear README,
- provide runnable examples,
- provide CI,
- provide tests,
- publish on Mooncakes,
- keep commit history and open-source metadata auditable.
- maintain a meaningful project scope and effective MoonBit implementation scale.

Reference sources:

- Official site source: `moonbitlang/OSC2026/main/main.mbt`
- Official website: <https://moonbitlang.github.io/OSC2026/>

## Repository evidence

| Requirement | Evidence |
| --- | --- |
| MoonBit is the main language | `src/*.mbt`, `cli/main.mbt`, `moon.mod` |
| Public repository metadata | `moon.mod` repository field points to GitHub mirror |
| Clear README | `README.md` |
| Runnable example | `cli/main.mbt`, README quick-start examples |
| GitHub CI | `.github/workflows/ci.yml` |
| GitLink CI | `.gitlink/workflows/ci.yml` |
| Tests | `src/*_wbtest.mbt` |
| Compatibility and boundary tests | `src/compatibility.mbt`, compatibility matrix, fixture/security/limits tests |
| Configurable production API | `src/options.mbt`, `src/partials.mbt`, `src/diagnostics.mbt`, `src/analysis.mbt` |
| Performance evidence | `scripts/benchmark.ps1`, `cli/main.mbt`, `docs/performance.md` |
| MIT license and package metadata | `LICENSE`, `moon.mod`, README license badge |
| Attribution and third-party notice | `NOTICE` |
| Commit history | `git log --oneline`, `scripts/verify_acceptance.ps1` |
| Repository self-check | `scripts/verify_acceptance.ps1` |
| Proposal and usage consistency | `项目申报书.md`, `README.md`, `CHANGELOG.md` |
| Mustache reference and scope | `docs/mustache-compatibility.md`, README compatibility notes |

## Notes for reviewers

- MoonBit CLI `moonc v0.10.3` or newer exposes strict warning mode on `moon check` and `moon test`, but not on `moon fmt` or `moon info`.
- This repository therefore uses the strict equivalents recommended by the current CLI help:
  - local acceptance: `moon fmt --check`
  - hosted CI: `moon fmt --check src` (the MoonBit 0.10.3 formatter accepts the
    executable package metadata required by this repository; newer formatters
    may rewrite that metadata, so CI keeps the source formatter check stable)
  - `moon build --target wasm,wasm-gc,js`
  - `moon info --target all`
  - `git diff --ignore-blank-lines --exit-code` (ignores toolchain-only blank-line churn)
  - `moon check --deny-warn --target all`
  - `moon test --deny-warn --target ...`
  - `moon run cli -- benchmark`

The CI source-format scope does not weaken executable validation: `moon check`,
`moon build`, `moon info`, interface generation, and multi-target tests still
discover and validate the complete `cli` package.

These steps are enforced both in CI and in the local acceptance script.

## Final review evidence

- The current test suite contains more than 200 deterministic tests covering the
  documented Mustache core, malformed input, Unicode, CRLF, long text, deep
  sections, large lists, partial indentation, delimiter changes, and recursive
  partial limits.
- The benchmark uses a four-item HTML catalog workload, 200 compiled renders,
  a byte-length total, and a deterministic weighted checksum. The CLI emits
  machine-readable workload, iteration, output length, checksum, and consistency.
- GitHub and GitLink are maintained as synchronized public mirrors. The final
  review must check both remote HEADs, default branches, single-contributor
  histories, and the Mooncakes metadata after the release commit.
