What is the grading scheme, how are different grades assigned?

A. This is the grading scheme currently used, although this may change in the future.

Simple
Naked Single only or Hidden Single only (depending upon a configuration option.)
Easy
(NumHiddenSingle > 0) and (NumNakedSingle > 0)
Mild
(NumNakedPairs + NumHiddenPairs + NumBlockBlockInteractions + NumBlockColumnRowInteractions) > 0
Moderate
(NumBlockBlockInteractions + NumBlockColumnRowInteractions > 0) and
(NumNakedPairs + NumHiddenPairs > 0)
Hard
(NumXWing + NumXYWing + NumXYZWing + NumXYChain + NumForcingChains + NumColouring + NumNakedTriplets + NumHiddenTriplets) > 0
Very Hard
(NumXWing + NumXYWing + NumXYZWing + NumXYChain + NumForcingChains + NumColouring > 1) or
(NumNakedTriplets + NumHiddenTriplets > 2)
Fiendish
(NumNakedQuads + NumHiddenQuads + NumSwordfish > 0) or
(NumXWing + NumXYWing + NumXYZWing + NumXYChain + NumForcingChains + NumColouring > 2)
Diabolical
(NumNakedQuads + NumHiddenQuads + NumSwordfish > 1) or
(NumXWing + NumXYWing + NumXYZWing + NumXYChain + NumForcingChains + NumColouring > 4)
Not Solved
Trial and error. None of the other techniques can solve the puzzle, and Sudoku can only solve the puzzle using trial and error.