Build ONE entity article from its accumulated chunks, end to end:
sub-cluster → OUTLINE → per-section DRAFT → seed INFOBOX → assemble →
NORMALIZE → gate. Returns the final content (or null when the gate vetoes a
weak pass). Pure with respect to disk — the caller persists.
Build ONE entity article from its accumulated chunks, end to end: sub-cluster → OUTLINE → per-section DRAFT → seed INFOBOX → assemble → NORMALIZE → gate. Returns the final content (or null when the gate vetoes a weak pass). Pure with respect to disk — the caller persists.