# Acceptance Checklist

- MoonBit is the primary implementation language.
- Core library is in `cspkit.mbt`.
- Source expression classification is in `cspkit_source.mbt`.
- Directive catalog is in `cspkit_catalog.mbt`.
- Score and recommendation model is in `cspkit_score.mbt`.
- Report generation is in `cspkit_report.mbt`.
- Policy templates are in `cspkit_templates.mbt`.
- Audit rule catalog is in `cspkit_rules.mbt`.
- Runnable example is in `cmd/main`.
- Blackbox tests are in `cspkit_test.mbt`.
- Whitebox tests are in `cspkit_wbtest.mbt`.
- Feature tests are in `cspkit_feature_test.mbt`.
- README explains purpose, usage, supported scope, unsupported scope, tests, Mooncakes package name, and license.
- Research notes document Mooncakes keyword checks and differentiation.
- Testing record documents local check, build, test, and example output.
- Development record documents work items, commit traceability, and future PR workflow.
- Release record documents the 0.1.0 release checklist and Mooncakes commands.
- GitHub Actions CI runs check, build, test, and example smoke test.
- `moon.mod` contains Mooncakes metadata.
- Third-party notice confirms no vendored source code or source-unknown assets.
- Effective non-comment MoonBit source scale is above 4k lines: 4048 non-comment MoonBit lines and 4390 non-empty MoonBit lines.

External acceptance actions that local commands cannot replace:

- Push the latest local `main` branch to the public GitHub repository using the `ZYK-ai-nb` account.
- Run `moon login`, `moon publish --dry-run`, and `moon publish` with the package maintainer's own MoonBit/Mooncakes account.
- Verify the GitHub default branch, passing Actions run, and `ZYK-ai-nb/cspkit` page on mooncakes.io.

Final local verification commands:

```bash
moon fmt --check
moon info
moon check
moon check --deny-warn
moon build
moon test
moon test --deny-warn
moon run cmd/main
moon login
moon publish --dry-run
```
