Generate and inspect a first collection

Install RFGen in an isolated Python 3.11 environment, copy a shipped template, validate it, generate two records, and inspect the publication:

python -m venv .venv
. .venv/bin/activate
pip install rfgen
rfgen init chirp-radar ./chirp-run
rfgen validate --config-dir ./chirp-run --check-backends
rfgen explain --config-dir ./chirp-run
rfgen generate --config-dir ./chirp-run --output ./chirp.sds --num-samples 2 --shard-size 1
rfgen inspect ./chirp.sds --sample-size 1

validate prints valid. generate prints a planned event and a published event. inspect reports two records and a bounded record sample. Repeating the same publication command fails with a create-only collision instead of overwriting data.

Configuration owns three explicit storage fields:

Static Transcript — not runnable

Audit pending; do not treat this block as a runnable example.

storage:
  format: sds
  destination: ./chirp.sds
  params: {}

RFGen intentionally provides no Torch or Grain training loader. Open a publication through rfgen.storage.get_storage(...).open(...) and adapt the neutral collection in the training repository that owns batching policy.

The inspected record identifies its scene, complex waveform field, typed label fields, sample rate in samples/second, and baseband frequency axes in hertz. Those facts let a downstream repository choose its own tensor conversion and batching policy without changing the publication.

Next, compare the declared release-scale paths in Qualified golden paths, or extend a contract through the API reference.