clone

a browser grid puzzle game where you push words around to rewrite the rules of each level

main
miau-is-true / openspec / changes / archive / 2026-09-23-share-level-packs / specs / commonjs-mods / spec.md
spec.md 954B source

ADDED Requirements

Requirement: The loader SHALL report pack identity collisions

The loader SHALL report a valid module whose pack id is already registered to the pack service, which SHALL offer explicit Replace or Keep both as a copy handling. Replacement keeps the authored id; a copy receives the next available suffixed id and forkOf provenance. Either operation SHALL validate completely before changing the registry.

Scenario: Duplicate pack ids are rejected

  • WHEN a second local module exports an already registered pack id
  • THEN the loader reports the collision without silently replacing the original pack and exposes the two explicit resolution choices

Scenario: A forked local pack gets fresh progress identity

  • WHEN the player chooses Keep both as a copy for a duplicate local module
  • THEN the registered pack receives a suffixed id with forkOf provenance and progress is keyed by the new id