Examples
Input: ('CRANE', ['crane'])
Expected Output: {'history': [('CRANE', 'CCCCC')], 'status': 'win', 'secret': None}
Explanation: The first valid guess matches the secret exactly, so the player wins immediately.
Input: ('APPLE', ['ALLEY'])
Expected Output: {'history': [('ALLEY', 'CPAPA')], 'status': 'incomplete', 'secret': None}
Explanation: A is correct, the first L is present, the second L is absent because only one unmatched L remains in the secret, E is present, and Y is absent.
Input: ('MANGO', ['man', '12345', 'mang0', 'Mango', 'extra'])
Expected Output: {'history': [('MANGO', 'CCCCC')], 'status': 'win', 'secret': None}
Explanation: The first three submissions are invalid and ignored. 'Mango' is the first valid guess and wins the game. Later guesses are not processed.
Input: ('ROBOT', ['AAAAA', 'BBBBB', 'CCCCC', 'DDDDD', 'EEEEE', 'FFFFF', 'ROBOT'])
Expected Output: {'history': [('AAAAA', 'AAAAA'), ('BBBBB', 'AACAA'), ('CCCCC', 'AAAAA'), ('DDDDD', 'AAAAA'), ('EEEEE', 'AAAAA'), ('FFFFF', 'AAAAA')], 'status': 'game_over', 'secret': 'ROBOT'}
Explanation: After 6 valid guesses without finding the secret, the game ends and the secret is revealed. The 7th guess is ignored.
Input: ('TIGER', [])
Expected Output: {'history': [], 'status': 'incomplete', 'secret': None}
Explanation: No guesses were submitted, so the game is still incomplete.