For attempt 4, the only words in the candidate list should have contained at least one 's' not in the 4th position because of global state entering attempt 4.
attempt 3 word is image
Enter wordle response: ..g.g
Is this correct: '..g.g'? (y/n)y
The result is {'correct': [(2, 'a'), (4, 'e')], 'present': [], 'absent': ['i', 'm', 'g']}
global_state: {'present': set(), 'correct': {(4, 'e'), (2, 'a')}, 'absent': {'v', 't', 'l', 'g', 'c', 'r', 'i', 'm'}}
before_size: 55, after_size: 32
WSVA recommendation: 'phase' from list:
abaue
abaze
adawe
awane
buaze
duane
faade
fease
feaze
keawe
ouabe
oxane
pease
phase
quake
shake
shane
snake
snape
spade
spake
suade
swape
ukase
whase
Use recommended word 'phase'? (y/n)y
global_state: {'present': set(), 'correct': {(4, 'e'), (2, 'a')}, 'absent': {'v', 't', 'l', 'g', 'c', 'r', 'i', 'm'}}
attempt 4 word is phase
Enter wordle response: ..gyg
Is this correct: '..gyg'? (y/n)y
The result is {'correct': [(2, 'a'), (4, 'e')], 'present': [(3, 's')], 'absent': ['p', 'h']}
global_state: {'present': {(3, 's')}, 'correct': {(4, 'e'), (2, 'a')}, 'absent': {'v', 't', 'l', 'g', 'c', 'r', 'i', 'p', 'h', 'm'}} <<<<<
before_size: 32, after_size: 15
WSVA recommendation: 'awake' from list:
abaue
abaze
adawe
awake
awane
buaze
duane
faade
feaze
keawe
ouabe
oxane
quake
snake
suade
For attempt 4, the only words in the candidate list should have contained at least one 's' not in the 4th position because of global state entering attempt 4.