According to everything I have ever learned, forgiveness is based on repentance. This usually requires asking God for forgiveness for our sins.
Weeping bitterly is not a sign of repentance. It is likened to a criminal that has been caught.
The account in John shows a post-death picture of Jesus and Peter. Not only did Peter not make amends, say I'm sorry, anything at all.
He could not tell Jesus he loved him.
There is nowhere an indication that Peter was sorry for denying Jesus.
There was no way he could say he did not know who Jesus was.
God told him personally.
His behavior borders on the unforgivable sin.
People cite Peter's work after the fact. That is not the question.
Did Peter ever ask for forgiveness? Why not?
Also being exasperated that Jesus asked him three times, if he loved him, is not a sign of repentance. Weeping bitterly and exasperated are not signs of repentance.
Why would Jesus ever give his role as shepherd to someone like this?