# E8.M4 — ChatModerationAndReporting

## Summary

| Field | Value |
|--------|--------|
| **Module ID** | E8.M4 |
| **Epic** | [Epic 8 — Social / Guild](../epics/epic_08_social_guild.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |

## Purpose

Channel chat with rate limits, player reports, and moderation action logs escalated to [E9.M4 — IntegrityAndAbuseResponse](E9_M4_IntegrityAndAbuseResponse.md).

## Responsibilities

- Emit `ChatMessageEvent` with stable ids; accept `PlayerReport`; record `ModerationAction` for audit export.

## Key contracts

| Contract | Role |
|----------|------|
| `ChatMessageEvent` | Message payload + channel + ids. |
| `PlayerReport` | Reason codes and context. |
| `ModerationAction` | Mute/ban/warn with actor and timestamp. |

## Module dependencies

- **E9.M4** — IntegrityAndAbuseResponse.

## Dependents (by design)

- Moderator tooling and compliance exports.

## Related implementation slices

Epic 8 **Slice 3** — trace message id to action history in test; `chat_message_sent`, `moderation_action`.

## Source anchors

- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 8.
- [Module dependency register](module_dependency_register.md)
