diff --git a/README.md b/README.md
index 3eb693e..dfade93 100644
--- a/README.md
+++ b/README.md
@@ -161,37 +161,55 @@ Rules of the primitive:
- **A broken ask is shown as broken**, not hidden: if the JSON does not
validate, the page says why, so a session never thinks it posted a question
the operator cannot see.
-- **A booth with its own `index.html` gets the ask INLINE, where you put it.**
- That page is served verbatim, so the Booth substitutes placeholders in your
- markup rather than rendering the panel above a gallery it does not have:
-
- ```html
-
-
-
-
- ```
-
- Per-question fragments bind to **one** form with the HTML5 `form=` attribute,
- so a four-voice audition can put each radio group under that voice's audio and
- still submit all four picks in a single POST — which is what a multi-question
- ask requires. The fragments ship their own scoped styles and inherit nothing
- from your page. No JavaScript.
-
- ⚠ Put the placeholder **outside** any CSS grid or flex container, or it
- becomes a cell in it. A sibling of the block it belongs to is right.
-
- Placement is optional: a page with no placeholders gets the whole ask appended
- at the end, so an ask is never invisible — markup only moves it somewhere
- better. Mark up some questions and not others and the rest are appended too,
- because a multi-question form that is missing a question is a 400 the operator
- would only meet after filling it in. The amber chip stays as a jump link to the
- first open ask, and `/b//asks` still renders every ask on its own page.
- Ask/answer files are not gallery items and do not count toward the booth's
item count; they render as the panel above the gallery. Answering bumps the
booth's mtime, so it lives another TTL — the session has 24h to read it.
- Works with JavaScript off (plain form POST). No auth, same as everything here.
+### Where the form renders
+
+Two booth shapes, two placements. Either way the ask is never invisible — that
+is the guarantee; markup only moves it somewhere better.
+
+**Auto-gallery booth** (no `index.html` of its own): the asks panel renders
+above the gallery, styled like the rest of the Booth. Nothing to do.
+
+**A booth serving its own `index.html`**: that page is returned verbatim, so the
+Booth substitutes **placeholders in your markup** rather than rendering a panel
+above a gallery that does not exist. The question then sits with the artifact it
+is about, which is the whole point (operator ruling 2026-09-09: *"the asks should
+be inline with the artifacts, not on a separate page"*).
+
+```html
+
+
+
+
+```
+
+Per-question fragments bind to **one** form via the HTML5 `form=` attribute, so a
+four-voice audition puts each radio group under that voice's audio and still
+submits every pick in a single POST — which is what a multi-question ask
+requires. Fragments ship their own scoped styles, inherit nothing from your page,
+and use no JavaScript.
+
+⚠ **Put the placeholder outside any CSS grid or flex container**, or it becomes a
+cell in it — measured on `redo-anchors`, where the first attempt rendered as a
+224 px sixth grid cell wedged between two audio players. A sibling of the block
+it belongs to is right.
+
+The fallbacks, so a page can never strand a question:
+
+| you marked up | what happens |
+|---|---|
+| nothing | the whole ask is appended at the end of the page |
+| some questions, no submit | the rest of the questions **and** a submit block are appended |
+| a stem this booth does not have | your markup is left alone, untouched; the real ask is still appended |
+
+An amber `? N open asks` chip floats top-right as a jump link to the first open
+ask, and `GET /b//asks` still renders every ask on a plain page of its own
+— useful when you want to hand someone only the question.
+
## Upload for pickup
The reverse direction — put files in through the web, pick them up by id: