Adding an asset class

Table of Contents

1. Summary

A new asset class plugs into two places in the simulator: its configuration rows become a typed build input, and its generator implements i_generator behind a new kind string. It also needs catalogue rows for its vendor instruments and mappings. Everything else stays as it is: the runner, the adapter contract, the ingest loop and the party tick.

2. Detail

2.1. The edits

  1. A codegen entity model for the config, regenerated.
  2. A struct in generator_build_input and a builder registered in make_default_generator_factory().
  3. One register_kind call in make_default_generator_kind_registry(). It carries the kind's config read permission, loader, build-input resolver, and simulate decode and reply pair.
  4. A permission row and a role grant in the IAM populate SQL.
  5. Catalogue rows: vendor instruments and mappings for each provider that quotes the class, in the system bundle. See A system bundle installs the catalogue and the simulator installs its own universe.

Steps 1 to 4 are the simulator's. Step 5 is the service's, and a live adapter needs the same rows.

2.2. What needs no edit

The runner, the subject builders, the adapter contract, the party tick and the ingest loop. The only exception is the CRM hook in The ingest loop and the one pipeline.

3. See also

Emacs 29.3 (Org mode 9.6.15)