# Acceptance checklist

Date: 2026-08-24

This file maps EvoWitness to the August Hackathon repository and acceptance requirements. It is intentionally practical: a reviewer should be able to reproduce the checks without reading the whole implementation first.

## Project identity

- Project: `EvoWitness`
- Repository: `https://github.com/CJR-ai-nb/evowitness`
- Mooncakes package: `CJR-ai-nb/evowitness`
- Version prepared for resubmission: `0.1.1`
- License: MIT
- Primary implementation language: MoonBit
- Participant/maintainer: `CJR-ai-nb`

## Requirement mapping

| Requirement | Evidence in this repository |
|---|---|
| MoonBit as primary language | Core parser, model, analyzer, witness generator, validator, exporters, CLI and tests are `.mbt` files. |
| Public repository | Repository URL is declared in `moon.mod` and README. |
| Clear README | README explains purpose, install, API use, CLI use, examples, support boundaries and publishing. |
| Runnable example | `moon run examples/checkout` prints a compatibility report with minimal counterexamples. |
| CI configured | `.github/workflows/ci.yml` runs format, check, build, tests, example and CLI smoke tests. |
| Runnable tests | `moon test --deny-warn` covers parser, analyzer, validator, reports, evidence packs, replay suites and policy/checklist helpers. |
| Builds normally | `moon build` succeeds on the current MoonBit toolchain. |
| Mooncakes-ready | `moon.mod` is configured as `CJR-ai-nb/evowitness@0.1.1`; local package validation passes before account-authentication upload. |
| Traceable process | Git history is split into meaningful feature/documentation commits authored by `CJR-ai-nb`. |
| Clear boundary | README and `docs/UNIQUENESS.md` state that EvoWitness is a minimal counterexample witness generator, not a data-contract governance platform. |
| License compliance | `LICENSE` is MIT; `THIRD_PARTY.md` lists runtime and development-only dependencies; no external assets are redistributed. |

## Local verification record

Last local verification used:

```text
moon 0.1.20260819
moonc v0.10.9+6e6c44045
moonrun 0.1.20260819
```

Commands:

```bash
moon fmt --check
moon check --deny-warn
moon build
moon test --deny-warn
moon run examples/checkout
moon run cmd/evowitness -- demo json
moon run cmd/evowitness -- demo witness-jsonl
moon run cmd/evowitness -- demo score-json
moon run cmd/evowitness -- demo replay-checklist
moon publish --dry-run
```

On Windows, the non-account-bound checks can be run with:

```powershell
powershell -ExecutionPolicy Bypass -File scripts/verify_acceptance.ps1
```

After `moon whoami` matches `CJR-ai-nb`, include Mooncakes dry-run:

```powershell
powershell -ExecutionPolicy Bypass -File scripts/verify_acceptance.ps1 -IncludePublishDryRun
```

Observed local result before final account-authenticated publishing:

- `moon fmt --check`: passed
- `moon check --deny-warn`: passed
- `moon build`: passed
- `moon test --deny-warn`: 67 tests passed
- example and CLI smoke commands: passed
- `moon publish --dry-run`: local check and package extraction check passed; final upload requires the Mooncakes login user to match `CJR-ai-nb`

## Effective source scale

Effective production MoonBit source count is approximately 4,011 lines, excluding tests, generated interfaces, comments, blank lines and build output. Physical production MoonBit source count is approximately 4,489 lines across 17 production `.mbt` files.

## Remaining release steps

Before final review, perform the account-bound steps:

```bash
git push --force-with-lease origin main
moon whoami
moon login
moon publish
```

After publishing, verify:

```text
https://mooncakes.io/docs/CJR-ai-nb/evowitness
https://mooncakes.io/api/v0/manifest/CJR-ai-nb/evowitness
```

The expected manifest version is `0.1.1` with successful build status.
