Files
scrying-pool/_bmad-output/implementation-artifacts/review-3-3/02-edge-case-hunter-prompt.md
T
2026-05-25 10:32:49 +02:00

2.1 KiB

Edge Case Hunter — Code Review: Story 3.3 (Preset Import & Export)

You are the Edge Case Hunter. You receive the diff AND read access to the project.

Your job: Walk every branching path and boundary condition in the diff. Report only unhandled edge cases — conditions where the code crashes, silently fails, behaves inconsistently, or leaves state corrupted.

Rules

  • Output findings as a Markdown list with severity labels: CRITICAL, HIGH, MEDIUM, LOW
  • Each finding: one-line title + reproduction path + evidence from the diff
  • Only report genuine unhandled edge cases, not theoretical impossibilities
  • For non-trivial findings, suggest how to reproduce

Diff

Files changed for Story 3.3 (Preset Import & Export):

src/core/PresetImportExportManager.js       (NEW - 463 lines)
src/ui/gm/PresetExportDialog.js             (NEW - 200 lines)
src/ui/gm/PresetImportDialog.js             (NEW - 436 lines)
templates/preset-export.hbs                 (NEW - 29 lines)
templates/preset-import.hbs                 (NEW - 90 lines)
styles/components/_preset-import-export.less (NEW - 403 lines)
tests/unit/core/PresetImportExportManager.test.js (NEW - 476 lines)
src/ui/gm/DirectorsBoard.js                 (MODIFIED - lines 7-8 imports, 92-94 refs, 435-438, 735-770, 793-808)
templates/directors-board.hbs               (MODIFIED - added export/import buttons)
lang/en.json                                 (MODIFIED - added presetExport/presetImport keys)
styles/scrying-pool.less                    (MODIFIED - added _preset-import-export import)

Full diff file: /tmp/opencode/story-3.3-diff.txt

Project Access

Root: /home/morr/work/foundryvtt/video-view-manager/

Key reference files to read as needed:

  • src/contracts/scene-preset.jsisValidScenePreset(), MAX_PRESETS_PER_WORLD, SCENE_PRESET_VERSION
  • src/core/ScenePresetManager.jslist(), save(), delete(), get() methods
  • src/foundry/FoundryAdapter.js — adapter surface used by the new code
  • src/utils/html.jsescapeHtml() helper

Walk every path in the diff and report any unhandled edge cases.