mw.site(...) drafts a small marketing page; mw.render_site(...) turns it into one
self-contained index.html you can open. The copy isn’t AI prose — every
claim-bearing line is a word-for-word quote from a real user, and each one renders
with a footnote linking back to the thread it came from, so any visitor is one
click from the real comment.
What you give it / what you get back
| Field | What it is |
|---|---|
site.sections[].role | What the section does: hero, feature, objection, pricing, social_proof, or cta. |
site.sections[].copy | The text. For a claimed section it contains a verbatim fragment of a real quote. |
site.sections[].provenance | verbatim (a cited real quote) or connective (claim-free glue between sections). |
When the result is thin
metalworks drops anything it can’t back with a real quote. If a line doesn’t exactly match a stored comment, that section is removed rather than shipped on the model’s word. If nothing matches at all, the site comes back empty withpartial=True and a
caveat — never an invented section, never a crash.