[245-sub] Gitea adapter — normalize webhook events to sensory bus #308

Closed
opened 2026-03-18 20:57:31 +00:00 by kimi · 0 comments
Collaborator

Parent: #245 — Stream adapters

What

Connect the existing Gitea webhook listener to the event bus. The listener already exists at ~/.hermes/bin/gitea-webhook-listener.py — this adapter normalizes its output into SensoryEvents.

Deliverables

  1. src/timmy/adapters/gitea_adapter.py:

    • Receives webhook payloads (push, issue_opened, issue_comment, pull_request)
    • Normalizes to SensoryEvent format
    • Distinguishes owner (rockachopa) activity from bot activity (hermes, kimi, manus)
    • Filters noise: don't emit events for bot-only activity unless it's a PR merge
  2. Test in tests/timmy/adapters/test_gitea_adapter.py

    • Mock webhook payloads for each event type
    • Verify normalization
    • Verify bot filtering

Depends on

Event bus (#306)

Scope

1 file + tests. Reads JSON, outputs SensoryEvents. Kimi-ready once event bus exists.

Acceptance

  • Adapter correctly normalizes all 4 webhook event types
  • Bot activity is filtered appropriately
  • tox -e unit passes
## Parent: #245 — Stream adapters ### What Connect the existing Gitea webhook listener to the event bus. The listener already exists at `~/.hermes/bin/gitea-webhook-listener.py` — this adapter normalizes its output into SensoryEvents. ### Deliverables 1. `src/timmy/adapters/gitea_adapter.py`: - Receives webhook payloads (push, issue_opened, issue_comment, pull_request) - Normalizes to SensoryEvent format - Distinguishes owner (rockachopa) activity from bot activity (hermes, kimi, manus) - Filters noise: don't emit events for bot-only activity unless it's a PR merge 2. Test in `tests/timmy/adapters/test_gitea_adapter.py` - Mock webhook payloads for each event type - Verify normalization - Verify bot filtering ### Depends on Event bus (#306) ### Scope 1 file + tests. Reads JSON, outputs SensoryEvents. Kimi-ready once event bus exists. ### Acceptance - Adapter correctly normalizes all 4 webhook event types - Bot activity is filtered appropriately - `tox -e unit` passes
kimi added the 222-epickimi-ready labels 2026-03-18 20:57:31 +00:00
Sign in to join this conversation.
No Label 222-epic kimi-ready
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/Timmy-time-dashboard#308