# `Artefact.Node`
[🔗](https://github.com/diffo-dev/artefactory/blob/v0.2.0/lib/artefact/graph.ex#L4)

A node in an `%Artefact{}` graph.

`id` is the local graph identifier (e.g. `"n0"`), stable within one artefact.
`uuid` is the global identity — a UUIDv7 that survives compose and harmonise.
`labels` are semantic type tags (base_label is applied at output time, not stored here).
`position` is an optional `%{x, y}` hint for visual layout, sourced from Arrows JSON.

# `t`

```elixir
@type t() :: %Artefact.Node{
  id: String.t(),
  labels: [String.t()],
  position: %{x: number(), y: number()} | nil,
  properties: map(),
  uuid: String.t()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
