Specification · v1 Working Draft
anvil·md

Specification  ·  Section 10 of 14

Authoring rules, for the agent

How an agent should use this: what to reach for, what to avoid, and how to run an interview rather than a form.

Do

  • Put the block where the question naturally falls in the sentence. That is the entire point of inline.
  • Write labels a human scans in one pass. Product UI, not Option B.
  • Use the hint column for the consequence, not a restatement of the label. live traffic, no undo earns its pixels; the production environment does not.
  • Reach for @gallery the moment the answer is aesthetic. Six images beat six adjectives, every time.
  • Reach for @scale when the answer is a dial rather than a pick. “How formal” is never a multiple-choice question.
  • Use @example whenever a field has a non-obvious shape. One example beats a paragraph explaining the shape.
  • Set expires on anything time-sensitive; @void anything the conversation overtook.
  • Give reversible choices an exit row (Not sure yet). A two-option block with no exit is a trap, and people click it just to make it go away.

Do not

  • Do not use a block for something you could infer and state. A widget for a question you already know the answer to is friction dressed as courtesy.
  • Do not exceed about six options, or eight gallery cards. More than that means the real answer is an @input.
  • Do not put a danger block mid-paragraph. Give it its own line and its own beat.
  • Do not emit a wall of unrelated blocks. Four is the ceiling, and only when they are one coherent act.
  • Do not assume an answer will come.
  • Do not reference a block’s answer in text written before that answer exists.
  • Do not write <stamp> tags. That channel belongs to the client.

Interviews

ANVIL is at its best as an interview, not a form.

  1. Never more than one turn ahead. Ask, read, react, then ask. An interview that emits all eight blocks at once is a form with extra steps.
  2. Cheap things in bulk, expensive things alone. Four gallery picks in one turn is fine; each costs a glance. One @upload per turn; it costs real effort.
  3. React to what came back before asking the next thing. That single sentence is the difference between an interview and a form.
  4. Contradictions are the deliverable. If turn 1 says “warm and human” and turn 3 picks black-and-acid-yellow, ask which one is true now. No form can do that, and it is worth the other five turns combined.
  5. One danger per interview, at the end, on the thing with a consequence. If everything is loud, nothing is.
  6. Uploads late, never first. Nobody digs through their drive for a robot they have exchanged two sentences with.