# October topic selection and overlap research

Search date: 2026-10-01. Sources: public mooncakes.io pages discoverable through package and indexed searches, local `8月`, `9月`, and root project folders, the October charter in the parent workspace, and the primary algorithm references below. Search absence does not prove that no package exists; repeat the check before submission and release.

## Rejected candidates

| Candidate | Existing package and reason |
| --- | --- |
| SPDX policy and expression tooling | [MoonSPDX](https://mooncakes.io/docs/LuoYunze06/moonspdx), [moonbit-license-audit](https://mooncakes.io/docs/clbbbb/moonbit-license-audit) and [moonseal](https://mooncakes.io/docs/liyun/moonseal) already cover related work. MoonSPDX explicitly records a prior overlap rejection. |
| OpenTelemetry propagation | [moonbit-community/opentelemetry](https://mooncakes.io/docs/moonbit-community/opentelemetry) already implements trace context and baggage propagation. |
| IDNA / Punycode | [moonbit-community/idna](https://mooncakes.io/docs/moonbit-community/idna) and its Punycode dependency are maintained. |
| Gitignore and globs | [mizchi/bit_ignore](https://mooncakes.io/docs/mizchi/bit_ignore) already supplies a complete matcher. |
| General text diff | [mizchi/bit_diff3](https://mooncakes.io/docs/mizchi/bit_diff3) and [moondiff](https://mooncakes.io/docs/moonbit-community/moondiff) serve this area. |

## Selected contribution

**MoonErasure** is a reusable, backend-neutral, systematic Reed–Solomon erasure-code core for byte shards, plus bounded integrity envelopes and multi-stripe payload assembly. [RFC 5510](https://datatracker.ietf.org/doc/html/rfc5510) describes Reed–Solomon FEC and systematic Vandermonde construction. [Backblaze's Java implementation](https://github.com/Backblaze/JavaReedSolomon) is an independent reference for the common GF(256) storage use case, not source code copied into this repository.

The closest found mooncakes project, [moonbit-shard-note](https://mooncakes.io/docs/JJ-ai-nb/moonbit-shard-note), creates printable short-message cards and recovers at most one missing data card using one parity card. MoonErasure's central contract is recovery from multiple arbitrary shard erasures in object-storage and transport workloads, with a formal `k + m` codec and any-`k` reconstruction. The two projects therefore differ in algorithm, capacity, data representation and target integration. The much broader [mooncry](https://mooncakes.io/docs/cc06b/mooncry) supplies cryptography and checksums, not shard erasure coding; [loci](https://mooncakes.io/docs/zploc/loci) includes Merkle sealing but does not expose this codec contract in its public overview.

Local projects include MoonBDD, MoonExternalSort, MoonHttpCache, MoonIPFIX, MoonLab, MoonMVT, MoonOCL, MoonCurveFit, MoonGrammata, MoonMIME, MoonSCIM, MoonTusCore, MoonBitemporal, MoonSuccinct, MoonTUF, MoonUriTemplate and MoonVeil. Their primary functions are distinct from GF(256) shard recovery. In particular, MoonBitemporal preserves historical claims, and MoonTUF checks update metadata; neither encodes data into recoverable parity shards.

## Broad application scenarios

1. **Object storage and backup:** split an archive stripe across storage nodes; recover it after losing up to `m` shards without keeping `m` complete replicas.
2. **Edge upload and intermittent transfer:** send data and parity fragments through unreliable paths; the receiver assembles from any `k` intact fragments of each stripe.
3. **Local media protection:** add parity to independent file chunks and repair known missing or checksum-failed chunks after partial media damage.
4. **Distributed test fixtures:** inject deterministic shard-loss patterns to test storage recovery, placement and repair planning across MoonBit backends.

## Boundary and originality

This is an original MoonBit implementation of a published mathematical scheme, not a port of another repository's source. It does not claim to correct arbitrary unknown byte errors, provide encryption/authentication, orchestrate storage nodes, or supply a filesystem. Third-party code and test vectors, if added later, must be separately attributed and license-checked.
