Where is your evidence Mary ever made such a vow?
Circumstantial.
The most opportune occasion for such a vow was her presentation in the Temple. The Protoevangelium of James (7-8), and the writing entitled “De nativit. Mariae” (7-8), state that Joachim and Anna, faithful to a vow they had made, presented the child Mary in the Temple when she was three years old; that the child herself mounted the Temple steps, and that she made her vow of virginity on this occasion.
The Gospel of James, also known as the Infancy Gospel of James or the Protoevangelium of James, is an apocryphal Gospel probably written about AD 145, which expands backward in time the infancy stories contained the Gospels of Matthew and Luke, and presents a narrative concerning the birth and upbringing of Mary herself. It is the oldest source to assert the virginity of Mary not only prior to but during (and after) the birth of Jesus. The ancient manuscripts that preserve the book have different titles, including “The Birth of Mary”, “The Story of the Birth of Saint Mary, Mother of God,” and “The Birth of Mary; The Revelation of James.”
The Gospel of James is one of several surviving Infancy Gospels that give an idea of the miracle literature that was created to satisfy the hunger of early Christians for more detail about the early life of their Saviour. In Greek such an infancy gospel was termed a protevangelion, a “pre-Gospel” narrating events of Jesus’ life before those recorded in the four canonical gospels. Such a work was intended to be “apologetic, doctrinal, or simply to satisfy one’s curiosity”.
Other infancy gospels in this tradition include The Infancy Gospel of Thomas, the Gospel of Pseudo-Matthew (based on the Protoevangelium of James and on the Infancy Gospel of Thomas), and the so-called Arabic Infancy Gospel; all of which were regarded by the Church as apocryphal.