{ "_comment": "Generated event-trigger inventory - the authoritative freeze of CORE's engagement contract (docs/website/ENGAGEMENT.md 4.3). Regenerate with `npm run engagement:manifest` in website/server. A renamed variable, a changed type or a widened ceiling breaks stored templates and rules, so the diff here is the review signal. A module ships its own copy in its bundle; this file never contains one.", "moduleApiVersion": "1.10.0", "triggers": [ { "id": "news.post", "owner": "core", "label": "News post published", "description": "A news / Five-on-Friday / newsletter post was published.", "kind": "event", "subjectKey": null, "audience": "subscribers", "ceiling": "authenticated", "version": 1, "variables": [ { "name": "title", "type": "string", "required": true, "example": "Five on Friday — the Yew invasion", "description": "The post title." }, { "name": "excerpt", "type": "string", "required": false, "example": "Four new champion spawns, and the fate of the Yew moongate…", "description": "A plain-text summary, already stripped of markup." }, { "name": "category", "type": "string", "required": false, "example": "Five on Friday", "description": "The post category, when it has one." }, { "name": "postUrl", "type": "url", "required": true, "example": "/site/news", "description": "Site-relative path to the post. The news list today — the site has no per-post route." } ] }, { "id": "team.announcement", "owner": "core", "label": "Team — announcement", "description": "A leader posted an announcement in a Team.", "kind": "event", "subjectKey": "teamName", "audience": "members", "ceiling": "members", "version": 1, "variables": [ { "name": "teamName", "type": "string", "required": true, "example": "The Silver Anvil", "description": "The Team the event is about. Also the cooldown subject." }, { "name": "authorName", "type": "string", "required": true, "example": "Marisol", "description": "Display name of the leader who posted." }, { "name": "title", "type": "string", "required": true, "example": "Siege practice moved to Sunday", "description": "The announcement title." }, { "name": "excerpt", "type": "string", "required": false, "example": "We are moving practice to Sunday 8pm…", "description": "Plain-text excerpt of the announcement body." }, { "name": "postUrl", "type": "url", "required": false, "example": "/guilds/the-silver-anvil/forum/419", "description": "Site-relative path to the announcement." } ] }, { "id": "team.forum.post", "owner": "core", "label": "Team — new forum post", "description": "A new thread or reply in a Team forum.", "kind": "event", "subjectKey": "teamName", "audience": "members", "ceiling": "members", "version": 1, "variables": [ { "name": "teamName", "type": "string", "required": true, "example": "The Silver Anvil", "description": "The Team the event is about. Also the cooldown subject." }, { "name": "authorName", "type": "string", "required": true, "example": "Darrow", "description": "Display name of the poster." }, { "name": "threadTitle", "type": "string", "required": true, "example": "Tuesday champ rotation", "description": "Title of the thread the post belongs to." }, { "name": "excerpt", "type": "string", "required": false, "example": "Moving the Tuesday run an hour later…", "description": "Plain-text excerpt of the post body, already stripped of markup." }, { "name": "postUrl", "type": "url", "required": false, "example": "/guilds/the-silver-anvil/forum/412", "description": "Site-relative path to the post." } ] }, { "id": "team.leadership.changed", "owner": "core", "label": "Team — leadership change", "description": "Leadership changed in a Team.", "kind": "event", "subjectKey": "teamName", "audience": "members", "ceiling": "members", "version": 1, "variables": [ { "name": "teamName", "type": "string", "required": true, "example": "The Silver Anvil", "description": "The Team the event is about. Also the cooldown subject." }, { "name": "leaderName", "type": "string", "required": true, "example": "Marisol", "description": "Display name of the new leader." }, { "name": "teamUrl", "type": "url", "required": false, "example": "/guilds/the-silver-anvil", "description": "Site-relative path to the Team page." } ] }, { "id": "team.member.joined", "owner": "core", "label": "Team — new member", "description": "Someone joined a Team.", "kind": "event", "subjectKey": "teamName", "audience": "members", "ceiling": "members", "version": 1, "variables": [ { "name": "teamName", "type": "string", "required": true, "example": "The Silver Anvil", "description": "The Team the event is about. Also the cooldown subject." }, { "name": "memberName", "type": "string", "required": true, "example": "Darrow", "description": "Display name of the member who joined." }, { "name": "teamUrl", "type": "url", "required": false, "example": "/guilds/the-silver-anvil", "description": "Site-relative path to the Team page. Absent when no module supplies a pageUrlTemplate." } ] } ] }