webhooker/internal
clawbot 32bd40b313
All checks were successful
check / check (push) Successful in 58s
refactor: self-contained delivery tasks — engine delivers without DB reads in happy path
The webhook handler now builds DeliveryTask structs carrying all target
config and event data inline (for bodies ≤16KB) and sends them through
the delivery channel. In the happy path, the engine delivers without
reading from any database — it only writes to record delivery results.

For large bodies (≥16KB), Body is nil and the engine fetches it from the
per-webhook database on demand. Retry timers also carry the full
DeliveryTask, so retries avoid unnecessary DB reads.

The database is used for crash recovery only: on startup the engine scans
for interrupted pending/retrying deliveries and re-queues them.

Implements owner feedback from issue #15:
> the message in the <=16KB case should have everything it needs to do
> its delivery. it shouldn't touch the db until it has a success or
> failure to record.
2026-03-01 22:09:41 -08:00
..
config refactor: auto-generate session key and store in database 2026-03-01 21:57:19 -08:00
database refactor: auto-generate session key and store in database 2026-03-01 21:57:19 -08:00
delivery refactor: self-contained delivery tasks — engine delivers without DB reads in happy path 2026-03-01 22:09:41 -08:00
globals initial 2026-03-01 22:52:08 +07:00
handlers refactor: self-contained delivery tasks — engine delivers without DB reads in happy path 2026-03-01 22:09:41 -08:00
healthcheck feat: bring repo up to REPO_POLICIES standards (#6) 2026-03-01 19:01:44 +01:00
logger refactor: use slog.LevelVar for dynamic log levels 2026-03-01 16:01:44 -08:00
middleware fix: restrict CORS to same-origin (closes #23) 2026-03-01 16:36:56 -08:00
server fix: database target writes to dedicated archive table 2026-03-01 16:40:27 -08:00
session refactor: auto-generate session key and store in database 2026-03-01 21:57:19 -08:00