Home

boring / v2

publicBoring-Software-Inc/v2
Overview Code History Branches Pull requestsIssuesInsights Campfire Docs
main
HomeOverview Code PRsIssues

feat(ingest): step 3 — webhook ingest path, forge seam, fixtures

4 months ago

0715bb2
Authored
grim7/11/2026, 10:57:10 AM
- forge: ForgeAdapter interface + types (RawForgeEvent, DiffFile, ForgeAction
  incl set-check, ContributorProfile)
- forge-github: HMAC verify (timing-safe), normalize (fixture-validated),
  app JWT + installation token cache; captured fixtures + provenance
- contracts: check.ts (CheckState per §7)
- db: queue (pg-boss), events service — insertRawEvent ONE tx insert+enqueue,
  markEventNormalized (+NOTIFY), quarantine, cursor listEvents; docker-cli
  test-postgres helper (testcontainers hangs under bun)
- api: hono app, POST /webhooks/github (verify → tx → 200, nothing else)
- integration tests on real postgres: row+job, duplicate delivery = one row,
  401 paths; verification queue items 1-3 for live App setup

Parent218f56e

31 files changed
  • DECISIONS.md+33−0
  • VERIFICATION-QUEUE.md+36−0
  • all-summaries.md+39−0
  • apps/api/package.json+9−2
  • apps/api/src/env.ts+19−0
  • apps/api/src/index.ts+35−9
  • apps/api/src/routes/webhooks.ts+44−0
  • apps/api/src/webhooks.integration.test.ts+142−0
  • bun.lock+58−0
  • packages/contracts/src/check.ts+23−0
  • packages/contracts/src/index.ts+1−0
  • packages/db/package.json+2−1
  • packages/db/src/index.ts+8−0
  • packages/db/src/migrate.ts+14−7
  • packages/db/src/queue.ts+25−0
  • packages/db/src/services/events.ts+143−0
  • packages/db/src/testing.ts+76−0
  • packages/forge-github/fixtures/PROVENANCE.md+16−0
  • packages/forge-github/fixtures/issue_comment.created.json+277−0
  • packages/forge-github/fixtures/ping.json+140−0
  • packages/forge-github/fixtures/pull_request.closed.json+519−0
  • packages/forge-github/fixtures/pull_request.opened.json+454−0
  • packages/forge-github/fixtures/pull_request.synchronize.json+521−0
  • packages/forge-github/fixtures/push.json+154−0
  • packages/forge-github/package.json+5−1
  • packages/forge-github/src/client/auth.ts+83−0
  • packages/forge-github/src/index.ts+10−9
  • packages/forge-github/src/webhook/normalize.ts+175−0
  • packages/forge-github/src/webhook/verify.ts+28−0
  • packages/forge-github/src/webhook/webhook.test.ts+118−0
  • packages/forge/src/index.ts+111−8