Skip to content

Add WebhookNotifier.SUPPORTED_EVENTS and a --strict guard holding webhook_schema.md's event table to the emission sites #918

Open

Description

@cemililik

Deferred work · F-PR54-M10-followup · severity Low · cost ~2 h · recorded in docs/roadmap/risks-and-decisions.md:264

Summary

Phase 14.5 shipped docs/reference/webhook_schema.md but not its optional third sub-task: a SUPPORTED_EVENTS frozenset as the single source of webhook event names, plus tools/check_webhook_event_vocabulary.py --strict. The eight-event table (EN + TR) is held to forgelm/webhook.py by review alone.

Condition or budget

None (optional).

State today (re-checked 2026-10-09)

forgelm/webhook.py has no SUPPORTED_EVENTS, and the guard does not exist; check_audit_event_catalog.py checks the names only against the audit-event catalog.

Related

#671 (CR-A17a-029) asks the catalog guard to check webhook event literals separately — it overlaps the guard half only.

Acceptance criteria

  • SUPPORTED_EVENTS is the single source, and a --strict guard fails when webhook_schema.md (EN or TR) and the emission sites disagree.
  • The row is removed from the deferral table and the CHANGELOG names its ID (the table's removal contract).

Recorded in docs/roadmap/risks-and-decisions.md (read at f94595f) and re-checked against the code on 2026-10-09. The row leaves that table only when the fix is on main, the CHANGELOG names its ID and any promised guard exists.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: integrationsCode area: integrationsseverity: lowMinor defect, inaccuracy or rough edgesource: roadmapPlanned or deferred work recorded in docs/roadmap/wave: 4Roadmap wave 4: low / info / watch, when touching the module

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions