StaticappendStaticbootBoot seam (idempotent): install the receive-gated command-dispatch →
participation tap and self-register the real-time recompute schedule.
The standing cache is warmed separately by ParticipationStanding.warm()
(awaited in AppBootstrap before this, so the first reads are
populated).
StaticeventsThe raw, per-subject bucket-log reader — the unscored substrate seam.
StaticparticipationThe sync cached read — a subject's recency-decayed participation (quantity axis). Neutral 0 for a non-materialized subject.
StaticrecomputeRe-score every subject's participation from the raw bucket log into the
materialized aggregate — the batch the recompute schedule fires (and
the participationOf cache is refreshed from).
StaticstandingThe consumer-stock projection: max(0, renownOf) × participationOf,
banded, tagged 'consumer'. Sync derive-on-read. InfluenceApi
delegates here for the 'consumer' stock.
Append one raw active-bucket signal (find-or-skip on
{subject, bucket}). No-op without an active connection. The receive-gated dispatch tap is the usual caller; exposed for tests and programmatic crediting.