An ordered list of targets — the related-pages field; admin type References.
Many references, ordered: the references data type — the
Reference kind's list shape, and the "related pages"
field. In the admin this is the References field type.
An ordered list of the same identities Single stores:
[ { "kind": "page", "path": "/articles/spring-show" },
{ "kind": "asset", "assetId": "rec_9a…" } ]
Order is content — a related-pages rail renders in storage order. Duplicates collapse at the boundary (a double-pick simply vanishes), and a malformed entry is refused at its index, never silently dropped.
| Label | Related |
| Key | related |
| Data type | references |
| Editor | reference_picker |
| Validation | max_items for a capped rail; min_items to require one |
The list wakes to an array of resolved targets — page summaries and woken records, same shapes as Single, in storage order:
<ul>
<% for (const item of related ?? []) { %>
<li><a href="<%= item.url %>"><%= item.title %></a></li>
<% } %>
</ul>
A deleted target simply does not appear; the loop needs no guard beyond
the ?? [].
Exactly one target — the venue, the author — is Single; a list of one invites a second nobody meant.