511950aa4a
Adds the canonical E90-0716 §6.5 collection-event identifiers as a
single header of inline constants (gem/e90_constants.hpp) keyed off
SubstrateState / SubstrateProcessingState transitions:
901 AtSource 910 NeedsProcessing
902 AtWork 911 InProcess
903 AtDestination 912 Processed
913 Aborted
914 Stopped
915 Rejected
916 Lost
917 Skipped
Values use the 901+ block to avoid collision with the demo CEIDs in
data/equipment.yaml (100s/200s/400s).
Server installs location + processing change handlers on
model->substrates that map every transition to emit_event() with the
matching CEID. The existing event-report machinery (subscription
state, S6F11 batching, spool) gates the actual wire emission, so this
plays nicely with hosts that subscribe to only a subset of substrate
events.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>