1. Guessing the first word(s) randomly, and then solving from there. Not cheating at all, but frustrating for me, as I am terrible at anagrams.
2. Using a generic dictionary to check possible answers against. Not cheating. I use the standard dictionary in my Linux distro, filtered by 5-letter words.
3. Using the dictionary from the source code to check against. Skirting dangerously close to cheating, but probably OK.
4. Using the list of possible answers. Clearly cheating.
5. Using starting guesses that I concocted myself by studying a generic letter frequency table. Not cheating.
6. Using optimal starting guesses, generated by someone else, based on the WORDLE letter frequencies. Cheating.
7. Using software that I wrote to automate my elimination process based on the dictionary in (2). Again, skirting close to cheating, but possibly OK.
8. Using someone else's software to guess, based on solution graphs. Cheating.