Skip to content

[gateway] Map GitHub PR labels to Wave complexity points #13

Description

@yinkscss

Context

parse_merge_event hardcodes points: 1 for every merged PR. PRD open question OQ1 defaults to fixed points, but Drips Wave uses complexity tiers (100/150/200 base points).

Problem

Wave-style programs cannot differentiate trivial vs high complexity rewards without manual ratio changes per contributor.

Proposed scope

  • Parse PR labels from webhook payload (e.g. complexity:trivial, complexity:medium, complexity:high)
  • Map labels to configurable point values via env or shared config
  • Fall back to 1 point when no complexity label is present (preserve v1 default)
  • Document label convention for maintainers adding issues to Wave programs

Acceptance criteria

  • Merged PR with complexity label assigns mapped points to attestation
  • Unlabeled merges still use default 1 point
  • Invalid or conflicting labels fail closed with audit log entry
  • Mapping documented for Stellar Wave maintainers

References

  • crates/gateway/src/webhook.rs (parse_merge_event, points: 1)
  • crates/shared/src/types.rs
  • docs/PRD.md OQ1
  • Drips Wave maintainer docs (complexity tiers)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Drips WaveAligned with Stellar Wave bounty program mechanicscomplexity:mediumStandard feature or involved fixgatewayGitHub webhook gateway servicehelp wantedExtra attention is neededphase-2Phase 2: Feature Complete

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions