From https://github.com/asciidoctor/asciidoctor/pull/3532#issuecomment-582267122
Will multiple header rows show up at the top of a table that spans a page break?
I have good news for you. It appears that prawn-table supports a multi-row head (header) on tables. And Asciidoctor PDF almost already supports it. Currently, we set the header option to true when there's a head. What we need to do is set this option to an integer value, where the integer is the number of head rows. That enables prawn-table to repeat all the head rows on subsequent pages. What we then need to do is extend the styling to cover all head rows.
As for how you make multiple head rows, that's something that core has to handle. Asciidoctor PDF is just a converter.
I'll go ahead and forward port the hrows to Asciidoctor PDF to its future proof.
I did not end up honoring the hrows attribute since that is still be deliberated in core. However, this change adds support for multiple head rows if enabled in the document model. That future proofs it and, in the meantime, leaves room for an extension to enable it.