# Local validation record

This file records commands that can be run locally. Numeric results are
observations from the current workspace and must be regenerated after code or
toolchain changes.

## Toolchain

```text
moon version
```

The current local toolchain was observed as `moon 0.1.20260814
(a2de5b2 2026-08-14)`. CI installs the current stable toolchain from the
official installer rather than repeating an obsolete version number.

## Quality gates

```text
moon fmt --check
moon check --deny-warn
moon info
git diff --exit-code
moon test --deny-warn
moon test --target native --deny-warn
```

The baseline before the acceptance enhancement was 21/21 tests on the Native
target. The latest complete matrix is 133/133 for both default and Native
targets, including parser, filtering, paired-end, metrics, contamination,
report, and CLI boundary coverage.

## Source-scale command

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

The output keeps MoonBit production, MoonBit tests, project-owned Native code,
and bundled third-party zlib separate. `_build`, generated interfaces,
documentation, the申报书, and third-party implementation are not counted as
MoonBit project source.

## CLI smoke

```text
moon run --target native cmd/fastq_qc -- fixtures/basic.fastq \
  --phred-offset 33 --adapter-file fixtures/adapters.txt \
  --json _build/ci/report.json --html _build/ci/report.html
```

The command must create non-empty JSON and HTML files. Plain and gzip fixtures
must retain equal principal read and base counts.

## Integrity notes

- The申报书 file is user-owned input and is not part of the implementation diff.
- GitHub push and Mooncakes publication are release actions, not part of the
  reproducible local validation commands below.
- Benchmark results are machine-dependent measurements and must include command,
  input size, toolchain, target, elapsed time, and throughput before being cited.

## August Hackathon self-review

This checklist follows the public `osc2026-guide` review scope and is adapted
to the August Hackathon, which uses GitHub only for repository submission:

- **Project validity:** `moon.mod`, package manifests, `moon check --deny-warn`,
  and `moon test --deny-warn` are present; `moon version --all` reports Moonc
  0.10.8 and the current Moon runner.
- **Namespace and publication readiness:** the module namespace is
  `zkc-long/moonbit-fastq-qc`, matching the GitHub owner; Mooncakes publication
  is intentionally not run in this local-only task.
- **Repository:** local `origin` resolves to the GitHub repository, the remote
  reports `main` as its default branch, and the recent history contains
  meaningful feature commits by the same GitHub identity.
- **License and provenance:** root `LICENSE` is Apache-2.0; bundled zlib is
  separated in the source-scale report and documented in
  `THIRD_PARTY_NOTICES.md`.
- **Usability:** README includes a runnable Native example, package map,
  limitations, validation commands, and a source-scale command.
- **Scale:** the final local measurement is 4,015 nonblank MoonBit lines (2,495
  production and 1,520 test), plus 78 lines of project-owned Native code. The
  project-owned total is 4,093 lines; bundled zlib remains separately reported
  at 21,284 Native lines and is not counted as project scale.
- **Proposal input:** the supplied Markdown proposal is 140 lines and 10,109
  bytes. It was not modified; its final one-page suitability should be checked
  separately with the organizer because the repository README is intentionally
  not used to reproduce proposal-only wording.
- **CI:** `.github/workflows/ci.yml` runs stable-toolchain installation,
  formatting/interface drift checks, default and Native tests on Ubuntu, macOS,
  and Windows; Linux additionally runs the Native CLI smoke test and uploads
  report artifacts.
