Skip to content

feat(sprint-3-4): PR lifecycle, issue linking, review ingestion, webhook idempotency, and repo trust boundary - #7

Merged
ashishsinghbora merged 1 commit into
mainfrom
feat/sprint-3-pr-lifecycle-linking-reviews
Sep 25, 2026
Merged

ashishsinghbora merged 1 commit into
mainfrom
feat/sprint-3-pr-lifecycle-linking-reviews

Conversation

@ashishsinghbora

Copy link
Copy Markdown
Contributor

Sprint 3 & 4 Summary

  • PR Lifecycle & Issue Linking (src/lib/github/webhooks.ts):
    • Auto-extracts issue references (Fixes #123, Closes #45, Resolves https://...) from PR title & description using extractIssueNumbersFromPrBody.
    • Upserts records in pull_requests mapped to the repository, project, author, and linked issue.
    • On merge: automatically transitions linked issue to state = 'closed', completes active issue claim in issue_claims, records verified contribution in contributions, and initiates contributor progression.
  • Pull Request Code Reviews:
    • Ingests pull_request_review events into pull_request_reviews.
    • Reflects peer approvals (approved) and revision requests (changes_requested) directly on the PR state.
  • Webhook Delivery Idempotency:
    • Uses X-GitHub-Delivery header to record deliveries in github_webhook_deliveries.
    • Automatically identifies duplicate deliveries and safely skips re-processing.
  • Repository Trust Boundary:
    • Enforces repository trust checks ensuring incoming PR events originate from official, contribution-enabled repositories within the TechNexusOrg organization.
  • Testing & Verification:
    • All 14 test suites and 49 unit/integration tests passing (100%).
    • 0 lint warnings, 0 type errors, clean Next.js build.

@ashishsinghbora
ashishsinghbora merged commit 9b32fed into main Sep 25, 2026
1 check passed
@ashishsinghbora
ashishsinghbora deleted the feat/sprint-3-pr-lifecycle-linking-reviews branch September 25, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant