The runner's worklist, in snapshot order. Sub-field names are the sub-prompt text and the answers come back
index-aligned, which is how toAiUpsertRow recovers coordinate ids when two sub-fields share a prompt.
Text fields carry the character budget of their box at the template's font size, the size every AI answer
is drawn at until a reviewer steps it.
The runner's worklist, in snapshot order. Sub-field names are the sub-prompt text and the answers come back index-aligned, which is how toAiUpsertRow recovers coordinate ids when two sub-fields share a prompt. Text fields carry the character budget of their box at the template's font size, the size every AI answer is drawn at until a reviewer steps it.