EDEN 100.3.179 — Static validation report

Implemented:
- Global ban/unban request cards capture and display target and requesting manager name, numeric Telegram ID, username when known, bot profile action, Telegram profile link, request timestamp, source group, selected destinations, and recent moderation summary.
- Moderation history table tracks successful global ban/unban, mute/unmute, group warnings and automatic warning penalties, including group, actor identity, duration, reason, and timestamp.
- Member group card displays latest moderation history and the warning count for that specific group; bot member profile exposes expanded moderation history.
- When a target is provided by numeric ID, the bot attempts `getChatMember` in the source group to capture name/username and create/update the bot-side user profile when Telegram returns that member.
- Warning counters and warning policies are isolated by group/user. The warning limit is configurable from 1 to 10 steps and each stage can cycle through 10-minute mute, 30-minute mute, 5-hour mute, 1-day mute, group ban, or no automatic penalty. After the configured limit, the last stage repeats.
- All recognized bot admins can issue warnings; Telegram group administrators/creators can also warn. Group warning configuration is checked against the group's warning authorization.
- New moderation tables are created lazily; the pending-ban table safely checks for missing columns before attempting in-place migration.

Static checks:
- PHP syntax: all PHP files passed.
- update.json: valid JSON; version matches VERSION; all paths listed in update.json exist; no duplicate path entries.
- ZIP integrity: checked with unzip -t after packaging.
- SHA-256 checksum generated for the full ZIP.

Limitations:
- No live Telegram API or production database test was run in this environment.
- Runtime effects depend on the bot having appropriate ban/restrict permissions in each selected group/channel and on the selected destination being active in managed_chats.
