Currently, R7RS-small says that when equal? is applied to records that are not eqv? (that were constructed by different calls to the record constructor), the result may be #t or #f at the implementation's discretion. I propose to treat records of the same type like pairs, strings, vectors, and bytevectors: that is, their contents are recursively compared.
WG1 voted to leave eqv? on records unspecified.