Summary & Motivation
For teams embedding letitloop into continuous delivery pipelines, Slack notifications, Discord bots, or custom web dashboards, polling state.json on disk is inefficient.
Adding a lightweight Webhook & SSE Event Streamer will allow external systems to subscribe to real-time execution telemetry.
Proposed Features
- Configurable Webhook Dispatcher (
orchestrator/webhooks.py):
- Supports outgoing HTTP POST webhooks to user-configured endpoints (e.g. Slack incoming webhooks, GitHub commit status API, custom server).
- Event types:
goal.started, contract.working, contract.verified, contract.qc_passed, contract.failed, impossibility.generated, goal.completed.
- Lightweight SSE Server (
lil serve --port 8080):
- Zero-dependency stdlib
http.server streaming Server-Sent Events (text/event-stream) for browser-based monitoring tools.
- Payload Signature Verification:
- HMAC-SHA256 signature header (
X-LetItLoop-Signature) for secure webhook payload validation.
Acceptance Criteria
Summary & Motivation
For teams embedding
letitloopinto continuous delivery pipelines, Slack notifications, Discord bots, or custom web dashboards, pollingstate.jsonon disk is inefficient.Adding a lightweight Webhook & SSE Event Streamer will allow external systems to subscribe to real-time execution telemetry.
Proposed Features
orchestrator/webhooks.py):goal.started,contract.working,contract.verified,contract.qc_passed,contract.failed,impossibility.generated,goal.completed.lil serve --port 8080):http.serverstreaming Server-Sent Events (text/event-stream) for browser-based monitoring tools.X-LetItLoop-Signature) for secure webhook payload validation.Acceptance Criteria