Bomb Defuse can assign multiple puzzle modules per bomb.
The pool comes from Config.Puzzles.
Built-in puzzle keys
The documented stock puzzle keys are:
Per bomb type, puzzles.min and puzzles.max control how many distinct modules are selected.
Validation model
Puzzle validation is server-authoritative.
That matters because the server uses bomb metadata like:
Clients still need to match the real logic.
Module behavior summary
Wire logic uses serial parity, colors, positions, and which wire was cut.
Wrong wire means failure.
The expected three digits are based on:
The expected color sequence depends on the module count bucket.
The stock server expects the structured correct result from the module.
The stock server also expects the structured correct result from the module.
Pressure logic depends on:
The stock server expects the correct solved state from the module.
Fuse slots are derived from battery count.
Unknown puzzle IDs
If you add a new puzzle and forget matching server logic, the stock fallback behavior can treat it as correct.
Do not rely on that.