# MoonRestrict duplication and scope gate

Checked: 2026-09-11. Decision: proceed with a restriction-cut/fragment domain extension, not a generic sequence toolkit. Organizer approval is not claimed. MoonCakes publication has NOT occurred.

## Required assistant and limitations

Applied installed `$osc2026-guide` project-research and self-review instructions. September rules come from the builder fixed reference, not the August charter. `moon search --help` failed: no such subcommand / moon-search unavailable. The MoonCakes public API `https://mooncakes.io/api/v0/modules` returned 2408 module records. Searched names, descriptions and keywords, including candidate name, restriction, endonuclease, enzyme, ligation, digest, IUPAC, FASTA, plasmid, bioinformatics, sequence, stoichiometry, chemical, circuit and VCD. Web search returned no usable results; this is a search limitation, not proof of ecosystem absence. Relevant GitHub default-branch README/API surfaces were inspected directly. Package details use `https://mooncakes.io/docs/<owner>/<package>`.

## Three genuinely different domains

| Candidate | Core workflow/data | Decision |
|---|---|---|
| MoonMNA | electrical netlists -> modified nodal equations -> voltages/currents | reject: hsy-bit/moonbit-circuit-solver already covers SPICE-compatible MNA |
| MoonStoich | chemical formulas/reactions -> conservation equations -> coefficients | reject as lower confidence: thermochem already parses formulas/reactions and checks elemental balance; chemreport and moonsmiles are adjacent |
| MoonRestrict | DNA plus cleavage offsets -> strand-aware cut coordinates -> linear/circular fragments -> end compatibility and verified fragment maps | selected: no directly overlapping restriction-digest engine found in the scoped catalogue/source inspection; existing genetic_code foundations will be reused |

## Upstream reuse and independent contribution

Use `ziju-max/genetic_code@0.1.0` (Apache-2.0) for IUPAC expansion/complement and FASTA reading. Its public sequence API also includes generic motif search, reverse complement and alignment; those are NOT claimed as novelty. MoonRestrict adds cleavage-offset orientation, origin-crossing cut normalization, ambiguity certainty, paired-strand conflict detection, top-strand fragment partition/reconstruction, compatible-end analysis, bounded cut-subset enumeration, multi-enzyme maps and map comparison. This is a domain library extending an existing foundation, not a renamed clone or an upstream source port. All demonstrations use short author-created synthetic strings. No wet-lab parameters, experiment automation, organism engineering, pathogen sequences, reaction kinetics, clinical analysis or safety certification.

## Source-level adjacent checks

- genetic_code: inspected README and all public generated interfaces, especially src/core, src/io, src/sequence; FASTA/IUPAC/motifs/translation exist, but no enzyme model, strand cleavage offsets, restriction fragment engine or ligation-end map API was found.
- seqkit: README identifies numeric sequence analytics, not nucleotide restriction analysis.
- fastq-qc: sequencing quality and alphabet checks, not cleavage maps.
- vcfkit: variant-file processing, not restriction digestion.
- gffkit: genome annotation feature hierarchy/intervals, not restriction fragments.
- thermochem/moonsmiles: chemistry calculations and molecular representations, not DNA cleavage maps.
- circuit-solver/VCD: direct overlap with rejected alternatives, unrelated to selected core domain.

## Versions, owners and source locations

| Package | Version | Source | Inspection |
|---|---|---|---|
| ziju-max/genetic_code | 0.1.0 | https://github.com/ziju-max/moonbit-genetic-code | GitHub README/public API; see local research evidence |
| clhhhhhh/moonbit-seqkit | 0.1.1 | https://github.com/clhhhhhh/moonbit-seqkit | GitHub README/public API; see local research evidence |
| zkc-long/moonbit-fastq-qc | 0.1.2 | https://github.com/zkc-long/moonbit-fastq-qc | GitHub README/public API; see local research evidence |
| chgttyyr/moonbit-vcfkit | 0.2.2 | https://github.com/chgttyyr/moonbit-vcfkit | GitHub README/public API; see local research evidence |
| wju-yuki111/moonbit-gffkit | 0.1.0 | https://github.com/wju-yuki111/moonbit-gffkit | GitHub README/public API; see local research evidence |
| Lxxbv/moonbit-thermochem | 0.1.3 | https://github.com/Lxxbv/moonbit-thermochem | GitHub README/public API; see local research evidence |
| SupremeHuaji/moonsmiles | 0.1.1 | https://github.com/SupremeHuaji/moonsmiles | GitHub README/public API; see local research evidence |
| hsy-bit/moonbit-circuit-solver | 0.1.1 | https://github.com/hsy-bit/moonbit-circuit-solver | GitHub README/public API; see local research evidence |
| lqhy1234567/moonbit-vcd | 0.3.1 | https://github.com/lqhy1234567/moonbit-vcd | GitHub README/public API; see local research evidence |

## Complete prior-registry comparison

The complete current registry was loaded and searched, preserving every entry. The comparison below lists every section, including external catalogues. Restrictions on benchmark samples, OpenAPI, calendar recurrence, byte chunk synchronization, diffs, license semantics, graphs, governance, logs, accounting, messaging, color, G-code, EDI, HTTP, ballots, Petri nets, language tags, MRZ, MPEG TS, packet policies and weave drafts remain enforced. DNA strand cuts and reconstructed restriction fragments do not use those primary workflows or core data. External catalogue metadata are only discovery evidence; lack of a keyword is not source-level proof.

- MoonBench: retained; no selected DNA restriction-cut identity identified in this section.
- MoonContract: retained; no selected DNA restriction-cut identity identified in this section.
- MoonRecur: retained; no selected DNA restriction-cut identity identified in this section.
- Entry Template: retained; no selected DNA restriction-cut identity identified in this section.
- MoonPatch: retained; no selected DNA restriction-cut identity identified in this section.
- MoonChange: retained; no selected DNA restriction-cut identity identified in this section.
- MoonShard: retained; no selected DNA restriction-cut identity identified in this section.
- Entry Template: retained; no selected DNA restriction-cut identity identified in this section.
- PROJECT_NAME: retained; no selected DNA restriction-cut identity identified in this section.
- MoonDag: retained; no selected DNA restriction-cut identity identified in this section.
- MoonSPDX: retained; no selected DNA restriction-cut identity identified in this section.
- clbbbb/moonbit-license-audit: retained; no selected DNA restriction-cut identity identified in this section.
- liyun/moonseal: retained; no selected DNA restriction-cut identity identified in this section.
- MoonSPDX Semantic Proof Engine: retained; no selected DNA restriction-cut identity identified in this section.
- MoonRedact: retained; no selected DNA restriction-cut identity identified in this section.
- MoonLogfmt Lens: retained; no selected DNA restriction-cut identity identified in this section.
- MoonLedger: retained; no selected DNA restriction-cut identity identified in this section.
- MoonQuotaKit: retained; no selected DNA restriction-cut identity identified in this section.
- MoonLeaseKit: retained; no selected DNA restriction-cut identity identified in this section.
- MoonRedact Replacement Candidate Matrix: retained; no selected DNA restriction-cut identity identified in this section.
- MoonDispatch: retained; no selected DNA restriction-cut identity identified in this section.
- MoonIndex: retained; no selected DNA restriction-cut identity identified in this section.
- MoonIndex Candidate Comparison Matrix: retained; no selected DNA restriction-cut identity identified in this section.
- Lucius646/MoonSearch: retained; no selected DNA restriction-cut identity identified in this section.
- MoonPalette Candidate Comparison Matrix: retained; no selected DNA restriction-cut identity identified in this section.
- MoonPalette: retained; no selected DNA restriction-cut identity identified in this section.
- bobzhang/colors: retained; no selected DNA restriction-cut identity identified in this section.
- MoonGCode Replacement Candidate Matrix: retained; no selected DNA restriction-cut identity identified in this section.
- MoonGCode: retained; no selected DNA restriction-cut identity identified in this section.
- MoonEDI: retained; no selected DNA restriction-cut identity identified in this section.
- Registration Protocol: retained; no selected DNA restriction-cut identity identified in this section.
- MoonWire: retained; no selected DNA restriction-cut identity identified in this section.
- MoonBallot: retained; no selected DNA restriction-cut identity identified in this section.
- MoonMime (rejected draft): retained; no selected DNA restriction-cut identity identified in this section.
- MoonBallot external search catalogue (2026-09-09): retained; no selected DNA restriction-cut identity identified in this section.
- MoonCookie: retained; no selected DNA restriction-cut identity identified in this section.
- MoonCIDR candidate (duplication gate rejected, local only): retained; no selected DNA restriction-cut identity identified in this section.
- MoonCIDR directly inspected external boundaries (2026-09-09): retained; no selected DNA restriction-cut identity identified in this section.
- MoonCIDR additional search catalogue (2026-09-09): retained; no selected DNA restriction-cut identity identified in this section.
- MoonINI external search catalogue (2026-09-09): retained; no selected DNA restriction-cut identity identified in this section.
- xuange1016/ibi-mbt: retained; no selected DNA restriction-cut identity identified in this section.
- MoonINI: retained; no selected DNA restriction-cut identity identified in this section.
- MoonArchive external TAR ecosystem checks (2026-09-09): retained; no selected DNA restriction-cut identity identified in this section.
- MoonGrapheme (original proposal rejected at duplication gate): retained; no selected DNA restriction-cut identity identified in this section.
- MoonGrapheme external search catalogue — 2026-09-09: retained; no selected DNA restriction-cut identity identified in this section.
- MoonCookie duplication-gate correction — 2026-09-09: retained; no selected DNA restriction-cut identity identified in this section.
- MoonPetri: retained; no selected DNA restriction-cut identity identified in this section.
- MoonPetri adjacent project review — 2026-09-09: retained; no selected DNA restriction-cut identity identified in this section.
- MoonPetri additional fuzzy-search catalogue — 2026-09-09: retained; no selected DNA restriction-cut identity identified in this section.
- MoonJsonPatch Candidate Comparison Matrix: retained; no selected DNA restriction-cut identity identified in this section.
- MoonIBAN: retained; no selected DNA restriction-cut identity identified in this section.
- MoonIBAN adjacent external checks (2026-09-10): retained; no selected DNA restriction-cut identity identified in this section.
- MoonCSP: retained; no selected DNA restriction-cut identity identified in this section.
- MoonLangTag: retained; no selected DNA restriction-cut identity identified in this section.
- MoonLangTag adjacent external checks (2026-09-10): retained; no selected DNA restriction-cut identity identified in this section.
- MoonMRZ: retained; no selected DNA restriction-cut identity identified in this section.
- MoonMRZ adjacent external checks (2026-09-10): retained; no selected DNA restriction-cut identity identified in this section.
- MoonWire rejection reassessment and replacement candidate review — 2026-09-11: retained; no selected DNA restriction-cut identity identified in this section.
- MoonSieve: retained; no selected DNA restriction-cut identity identified in this section.
- MoonURI — organizer rejection recorded 2026-09-11: retained; no selected DNA restriction-cut identity identified in this section.
- MoonURI replacement research — 2026-09-11: retained; no selected DNA restriction-cut identity identified in this section.
- MoonTSInspect: retained; no selected DNA restriction-cut identity identified in this section.
- MoonBallot — organizer rejection and isolated repair recorded 2026-09-11: retained; no selected DNA restriction-cut identity identified in this section.
- MoonPolicyProof: retained; no selected DNA restriction-cut identity identified in this section.
- MoonINI — organizer rejection recorded 2026-09-11: retained; no selected DNA restriction-cut identity identified in this section.
- MoonCSP — organizer rejection and MoonWeave replacement, 2026-09-11: retained; no selected DNA restriction-cut identity identified in this section.
- MoonWeave: retained; no selected DNA restriction-cut identity identified in this section.
- MoonWeave candidate exclusions, external-checked 2026-09-11: retained; no selected DNA restriction-cut identity identified in this section.

Recheck before submission if scope or ecosystem evidence changes.
