Skip to content

feat(bounties): classify lifecycle advisory states - #157

Closed
Adamchaua wants to merge 2 commits into
JSONbored:mainfrom
Adamchaua:feat/23-bounty-lifecycle-advisory
Closed

feat(bounties): classify lifecycle advisory states#157
Adamchaua wants to merge 2 commits into
JSONbored:mainfrom
Adamchaua:feat/23-bounty-lifecycle-advisory

Conversation

@Adamchaua

Copy link
Copy Markdown

🚀 Work Completed

Closes #23

Implemented a focused bounty lifecycle advisory improvement so Gittensory can distinguish active bounty context from stale or ambiguous bounty data before contributors act on it.

🔍 Requirement Match

  • Active bounty context remains classified as active for explicit active/open/funded states.
  • Completed/cancelled/closed/paid/merged/resolved bounty states remain historical.
  • Stale bounty context is now surfaced as stale with a warning finding.
  • Ambiguous bounty states are now surfaced as ambiguous instead of being treated as active.
  • Linked PR context is now exposed through linkedPrs and a dedicated advisory finding when discoverable.

💻 Changes Included

  • Extended BountyAdvisory.lifecycle with stale and ambiguous states.
  • Added linkedPrs to bounty advisories.
  • Added deterministic lifecycle classification based on status text and stale timestamps.
  • Added extraction for common linked PR payload fields.
  • Added tests for active, historical, stale, ambiguous, and linked PR advisory behavior.

🧪 Verification

  • npm test -- --run test/unit/signals.test.ts -> 18 tests passed.
  • npm run typecheck -> passed.
  • git diff --check -> passed.

🎯 Notes

This PR is intentionally scoped to the existing bounty advisory surface and unit coverage. It does not add new ingestion jobs or public payout language.

@JSONbored JSONbored left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Adamchaua Thanks for the update. This still needs another pass before review can move forward.

A few notes:

  • The lifecycle split itself is a reasonable direction: separating active, historical, stale, ambiguous, and unknown gives the advisory more useful maintainer signal than the old active/historical binary.
  • The linked-PR extraction is also directionally useful, especially because bounty context should account for already-attached work before treating something as open opportunity.
  • The branch is not mergeable right now. It conflicts with current main in src/signals/engine.ts and test/unit/signals.test.ts.
  • CI is also failing in test/unit/data-quality.test.ts and test/unit/queue.test.ts, so this needs to be rebased and validated against the current data-quality/fidelity behavior before the bounty advisory logic can be reviewed cleanly.

Required changes:

  • Rebase onto current main and resolve the signal test conflicts.
  • Re-run the full validate path after the rebase.
  • Keep the lifecycle tests deterministic; avoid any date-sensitive assertions that can start failing as the 90-day boundary moves.

Expected validation:

  • npm run typecheck
  • npm run test:coverage

@JSONbored JSONbored left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Adamchaua this needs a full rebase and validation pass before review can continue.

A few notes:

  • The lifecycle states are a useful addition for bounty advisory quality.
  • The branch conflicts in the signal engine and signal tests.
  • Validate still fails across data-quality and queue expectations.

Required changes:

  • Rebase on current main and resolve the signal conflicts.
  • Update the PR body to the current template.
  • Re-run the full validation gate after the rebase.

Validation expected:

  • Focused bounty/signal tests
  • Full validate pipeline

@JSONbored

Copy link
Copy Markdown
Owner

Closing this as it's now stale, please resubmit / focus on updated features if interested in trying again.

Thank you!

@JSONbored JSONbored closed this Jun 4, 2026
@github-project-automation github-project-automation Bot moved this from Todo to Done in gittensory - v1 roadmap Jun 4, 2026
@JSONbored JSONbored added gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. and removed feature labels Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

feat(bounties): add bounty lifecycle watcher

2 participants