DIN

Docs

Relay placement: where another machine's records land

This page is for a field that receives other machines' work through a relay: a hosted DIN console, or an org box that lands runs on behalf of other machines. A self-hosted field on one machine needs none of it: its own captures are placed exactly as before, and nothing on this page changes them.

What is placed

Each captured run is placed in the field's tree by what it rests on and what it is about (see The field and the tree). A run can also carry the machine's library inventory (din deps sync), which is placed into inventory/<machine>.jsonl in the store. Placement is a merge, never a replace.

The relay's rules (from 1.0.39)

When a run arrives through a relay (it carries the relay's .uploader mark), dinctrl-store ingest places it by the relay's word, never the client's:

On a hosted org box, set the strict mode so that only relay-landed runs place an inventory:

dinctrl-store ingest --relay-only ...
# or, for every ingest on that box:
DIN_INVENTORY_PLACEMENT=relay

--no-inventory skips inventory placement for a run.

The hosted console

The hosted console's POST /api/inventory follows the same rules. A push for a machine that is bound to another agent is refused with 409 and the reason (machine bound to another agent); nothing is written. No hosted plan is on sale yet: see Push to a hosted field.