moo.sdk.provenance

Provenance and structurally-tagged output.

Every message published to a player carries a server-computed provenance triple (origin, verb, owner) — recorded always, independent of the recipient’s @paranoid setting, which becomes the view of an always-present record rather than a switch that turns recording on. This is the safeguard the rest of the safety set reads from: trustworthy attribution, spoof tracing, and account-keyed moderation.

Output also carries a structural kind tag so the sanctioned forms (say/emote/system/persona) are distinguishable by the client and a user-authored line cannot present as a system line or as another actor. The system kind is gated to a wizard initiator (context.player), so it is unforgeable from an ordinary user’s verb even though the emitting primitive runs as a wizard-owned verb.

Module Attributes

OUTPUT_KINDS

The structural output tags the client renders distinctly.

PRIVILEGED_KINDS

Kinds that only a wizard initiator may emit (forgery-protected).

Functions

capture_provenance_stack()

Return the full caller stack as a list of provenance frames.

current_provenance()

Return the always-on provenance triple for the running task.

notify(obj, message[, kind])

Send a structurally-tagged message to a player.

resolve_provenance_account(provenance)

Resolve a provenance triple's owner object to its account id.