# daedalus-registry

Central store for node descriptors and plugin installation. Used by the planner to validate graphs and by the runtime to look up handlers.

## Responsibilities
- Register node descriptors (IDs, versions, ports, metadata, compute affinity).
- Resolve plugin bundles and merge their nodes into a registry.
- Provide lookup APIs for planner/runtime (by ID, alias, version).
- Offer diagnostics on conflicts or missing nodes.

## Key modules
- `store`: in-memory registry implementation.
- `ids`: typed node/edge identifiers.
- `diagnostics`: structured errors/warnings for registration and lookup.
- `plugin`: plugin bundle helpers and FFI-facing conversions.

## Usage
- Create a `Registry`, register node descriptors (usually generated by `#[node]` macros or plugins).
- Pass the registry to the planner to validate graphs.
- Runtime and engine use the registry to pair descriptors with handlers.

## Features
- `plugins`: enable plugin-related helpers.
- `ffi`: enable FFI conversion helpers.
- `gpu`: include GPU capability metadata on nodes.
