You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Type the webhook payload as a WebhookPayload TypedDict so unknown or mistyped keys are caught statically #928
Phase 14.5 Task 4 replaced the free-form merge in _send(**extra) with a runtime allowlist plus scalar-type and base-field-collision screens; its optional follow-up — a typed WebhookPayload so a type checker flags unknown keys at edit time — was never built and is listed nowhere else. Low priority: the runtime allowlist already drops unregistered keys.
Condition or budget
None recorded ("Optional follow-up").
State today (re-checked 2026-10-09)
_send still builds payload: Dict[str, Any]; no TypedDict exists for it.
Related
It is only enforced if forgelm/webhook.py comes under a mypy gate (see the [tool.mypy] issue).
Acceptance criteria
WebhookPayload (base keys plus NotRequired event-specific keys) types the payload, and a type check covers forgelm/webhook.py.
Activity