Saxonberg Server API
    Preparing search index...

    ReactionFiredEvent — the renown seam.

    Fired by ReactionRegistry.onScopedEmote on a flip-on (a newly-present reaction), never on a toggle-off. Carries the raw, UNINTERPRETED emote + tags — no valence/polarity mapping, no score. This build ships no consumer: the reputation build is the trap the non-goals warn against (a Sybil-gameable provisional score), so the event exists only as the typed substrate a later aggregator subscribes to. Mirrors the FieldChangedEvent DTO shape.

    See docs/subsystems/reactions.md.

    interface ReactionFiredPayload {
        commandId: string;
        customText?: string;
        emote: string;
        reactorId: string;
        scope: string;
        selfReaction: boolean;
        subjectId: string;
        tags: string[];
    }
    Index

    Properties

    commandId: string

    The act being reacted to (meta.commandId).

    customText?: string
    emote: string

    Raw emote verb, or a free-form marker.

    reactorId: string

    Durable stuffId of the reactor.

    scope: string

    Circle-context: 'channel:<groupRef>' | 'location:<id>'.

    selfReaction: boolean

    True when reactorId === subjectId (emitted, but identifiable).

    subjectId: string

    The act's payload.speaker.stuffId (the credited author).

    tags: string[]

    Raw, uninterpreted tags — no valence mapping.