1## Purpose2Document the shipped Nurikabe built-in game behavior.34## Requirements56### Requirement: Registry Metadata7Nurikabe SHALL be registered as a built-in game with canonical description "Split the land while keeping one connected sea.", aliases `islands, sea`, variants `Nurikabe (default 1400 Elo)`, and daily legacy modes `easy, medium`.89#### Scenario: Resolve Nurikabe10- **WHEN** the registry resolves the canonical name or any alias11- **THEN** it returns the Nurikabe entry with help text, import behavior, variant metadata, and legacy mode compatibility1213### Requirement: Variant Elo Creation14Nurikabe MUST support the current variant plus target Elo creation path, using the variant default Elo when no explicit target is supplied.1516#### Scenario: Spawn Nurikabe by Elo17- **WHEN** the user selects the Nurikabe variant and a target Elo from 0 through 300018- **THEN** PuzzleTea spawns a deterministic Nurikabe puzzle and records target, actual, and confidence metadata when generation reports it1920### Requirement: Legacy Mode Compatibility21Nurikabe SHALL preserve legacy named modes as compatibility presets that map to the Nurikabe variant and preset Elo values: Mini (300 Elo), Easy (800 Elo), Medium (1400 Elo), Hard (2100 Elo), Expert (2700 Elo).2223#### Scenario: Use legacy mode title24- **WHEN** the user supplies a legacy Nurikabe mode title through CLI or deterministic daily metadata25- **THEN** PuzzleTea resolves it to the Nurikabe variant and the registered preset Elo2627### Requirement: Puzzle Rules28The Nurikabe runtime MUST let players build numbered islands with exact island sizes, keep islands separated orthogonally, avoid 2x2 sea blocks, and maintain one connected sea.2930#### Scenario: Check solved state31- **WHEN** the player fills the board or word state32- **THEN** Nurikabe reports solved only when all rule constraints are satisfied3334### Requirement: Save Load And Interaction35Nurikabe SHALL serialize enough state for resume/import, reset to its initial puzzle, expose debug and full-help data, and support its shipped interaction model. Keyboard cell editing is required, and mouse drag support MUST be available.3637#### Scenario: Resume saved Nurikabe38- **WHEN** a saved Nurikabe payload is imported39- **THEN** the restored game preserves givens, player entries, cursor/selection state where applicable, and solved-state behavior4041### Requirement: Print Export Support42The Nurikabe print adapter SHALL render puzzle and solution data for JSONL-to-PDF workflows.4344#### Scenario: Export Nurikabe45- **WHEN** Nurikabe is included in a JSONL or PDF export flow46- **THEN** PuzzleTea follows the registered print support behavior for that game