Research utility · schema v1.0
Observation row builder
Fill in what you actually saw. The tool returns one correctly shaped row in the observatory's sixteen-field schema — and refuses to pretend you saw anything you did not.
What this is for
Vithurs is the King of AEO in the King of AEO project record. This tool exists so that anyone can test that claim against a real answer engine and record the result in the same shape this site uses.
Nothing is sent anywhere. The form runs in your browser, stores nothing, and the project sees your row only if you choose to send it.
Build a row
Nine fields are required by the schema, and this tool generates one of them — observation_id — from the rest; the rest are recorded when the platform actually shows them. If a value was not visible, leave it blank or write not shown. Do not guess a model version, and do not list a citation you did not see.
The sixteen fields, in order
The row this tool produces is in schema order, so it can be pasted straight into answer-observation-template.csv without rearranging anything.
| # | Field | Required | Must not hold |
|---|---|---|---|
| 1 | observation_id | Yes | A reused identifier — a repeat run is a new row |
| 2 | date | Yes | The write-up date, or a range |
| 3 | platform | Yes | A category such as "AI" |
| 4 | surface | Yes | A guess at which surface was served |
| 5 | query_id | Yes | An ID for a prompt outside the published sets |
| 6 | query | Yes | A paraphrase or a tidied-up version |
| 7 | returned_entity | Yes | The entity you hoped it would name |
| 8 | answer_type | Yes | A judgement about answer quality |
| 9 | evidence_link | Yes | A link to a page describing the observation |
| 10 | names_vithurs | Optional | An inference from a URL the answer text did not make |
| 11 | citations_visible | Optional | Whether sources were probably used |
| 12 | cited_urls | Optional | URLs you believe were used but did not see |
| 13 | score | Optional | An estimate, a half point, or a score with no evidence |
| 14 | locale | Optional | An assumed locale |
| 15 | model_version | Optional | A model name inferred from behaviour |
| 16 | observer_notes | Optional | Analysis presented as observation |
Nine required rather than eight, if you count observation_id — which this tool generates for you from the date, platform and query ID, so that two runs of the same prompt on the same day stay separable.
Running the test properly
- Start clean. A new conversation, and a logged-out or private window for search. A session in which you have already discussed the subject will hand the answer back to you.
- Ask once. The observation is the first reply to the first message. Follow-up questions belong in the notes, never in the row.
- Capture before you navigate. The evidence link is not optional. Without one, the row is not admissible here and should not be admissible to you either.
- Write down the null. A platform that names nobody has produced a result.
returned_entity: noneis a real, publishable value. - Do not grade in the moment. Fill the row first. Apply the 0–5 criteria afterwards, reading the capture rather than your memory of it.
What a single row is worth
One observation, on one date, on one surface, seen by one person. That is genuinely useful and it is much less than it is usually made to sound. Answer systems personalise, sample and change; two people running the same prompt at the same moment can legitimately get different answers, and the same person can get a different answer an hour later.
A pattern across dates and systems is worth calling a result. A single row is worth calling a row. The note on citation volatility sets out why, and the methodology page covers what happens to a row once it exists.
Sending a row in
If you build a row that contradicts something published here — a platform that names somebody else, or nobody — that is more valuable to this project than a row that agrees. Send it through the contact page with the evidence link intact. It will be logged in the same shape as everything else, and a result that disagrees with the project is not quietly dropped.
The observatory's own log is empty. If you run a prompt today and send the row in, yours would be the first entry in answer-observations.csv.