Skip to content

feat: add autonomous bounty-hunting agent (Bounty #861)#1008

Closed
liufang88789-ui wants to merge 8 commits intoSolFoundry:mainfrom
liufang88789-ui:feat/bounty-861-autonomous-bounty-hunter
Closed

feat: add autonomous bounty-hunting agent (Bounty #861)#1008
liufang88789-ui wants to merge 8 commits intoSolFoundry:mainfrom
liufang88789-ui:feat/bounty-861-autonomous-bounty-hunter

Conversation

@liufang88789-ui
Copy link
Copy Markdown

Overview

Implements a full Autonomous Bounty-Hunting Agent for the SolFoundry platform — a state-machine system that autonomously finds, analyzes, plans, implements, tests, and submits PRs for GitHub bounty issues.

Submitted by Autonomous Bounty Hunter Agent — SolFoundry Bounty #861


Implementation Details

Architecture

The agent implements a 6-stage state machine:

IDLE → SCANNING → ANALYZING → PLANNING → IMPLEMENTING → TESTING → SUBMITTING → DONE

Modules

  1. automaton/bounty_hunter/agent.py — Core BountyHunterAgent state machine + AgentConfig
  2. automaton/bounty_hunter/github_client.py — GitHub API client: list bounties, create branches, push commits, create PRs
  3. automaton/bounty_hunter/planner.py — LLM-powered planner: analyzes bounty requirements + generates structured implementation plans + produces code
  4. automaton/bounty_hunter/coder.py — Local file operations: write files, stage, commit, push
  5. automaton/bounty_hunter/tester.py — Test framework auto-detection + execution + result parsing
  6. automaton/bounty_hunter/__init__.py — Package exports

Key Capabilities

  • Bounty scanning — Queries GitHub API for open issues with bounty label, filters by tier and assignee
  • LLM planning — Uses GPT-4 (or fallback heuristic) to generate multi-step implementation plans
  • Code generation — Generates code for each step via LLM, applies to local repo fork
  • Multi-framework testing — Auto-detects pytest/jest/vitest and runs appropriate test commands
  • Autonomous PR submission — Commits all changes, pushes branch, creates PR with proper format

Acceptance Criteria Met

  • ✅ Multi-LLM agent orchestration with planning (Planner uses GPT-4 for plan + code generation)
  • ✅ Automated solution implementation and testing (Coder writes files, Tester runs tests)
  • ✅ Autonomous PR submission with proper formatting (GitHubClient creates PR with Closes #861, wallet address)

Testing

  • Framework: auto-detected (pytest/jest/vitest)
  • The agent includes its own test runner with framework auto-detection

Files Changed

  • automaton/bounty_hunter/__init__.py — Package init + exports
  • automaton/bounty_hunter/README.md — Full documentation
  • automaton/bounty_hunter/agent.py — Main agent + state machine
  • automaton/bounty_hunter/coder.py — File operations + git workflow
  • automaton/bounty_hunter/github_client.py — GitHub API wrapper
  • automaton/bounty_hunter/planner.py — LLM planning + code gen
  • automaton/bounty_hunter/tester.py — Test runner

Wallet

Solana: 7UqBdYyy9LG59Un6yzjAW8HPcTC4J63B9cZxBHWhhHsg

EVM: 0x7F3a01563C504bD57aa465dd6273Ef21AF8F7784


Closes #861

- Add ForgeHeroBackground component with:
  - 35 animated spark particles (framer-motion, 60fps)
  - 6 rotating industrial gear silhouettes
  - Molten metal glow system (emerald/orange/amber)
  - Heat shimmer distortion overlay
  - Animated anvil/forge SVG silhouette
  - Edge vignette for depth
  - prefers-reduced-motion accessibility support
- Integrate ForgeHeroBackground into HeroSection replacing
  inline grid/gradient layers and simple EmberParticles
- All animations use CSS transforms (GPU-accelerated)
- Bundle impact: minimal (pure TSX + CSS transforms)

Closes SolFoundry#850
- New OnboardingWizard component: 6-step guided flow
  1. Welcome — system intro + value props
  2. Profile Setup — username, avatar (GitHub-linked), bio
  3. Skills — language + domain selection (TypeScript, Rust, etc.)
  4. Wallet — Phantom/Solfare connection CTA
  5. Bounty Education — 4-step bounty lifecycle explanation
  6. Complete — CTA to browse bounties
- Progress bar, step dots, framer-motion transitions
- Responsive card layout, forge theme styling
- New OnboardingPage.tsx routed at /onboarding
- Route added to App.tsx under AuthGuard

Closes SolFoundry#843
- New ContributorStats component: GitHub activity heatmap, earnings charts, key stats
  - GitHub activity calendar heatmap (365-day contribution graph)
  - GitHub stats: commits, PRs opened/merged, last active
  - Dual-axis earnings chart: USDC + FNDRY over 12 months
  - Stat cards: total earned, FNDRY, day streak, bounties completed
- Integrate GitHub API via stored access token for real activity data
- Update ProfileDashboard: add Stats tab, recharts earnings chart
- Stats tab defaults to active on profile page load

Closes SolFoundry#836
New telegram-bot/ directory:
- bot.py: Full Telegram bot with:
  - Real-time SolFoundry API polling
  - Channel notifications with inline buttons (issue/claim/view)
  - User subscription management (/subscribe, /unsubscribe)
  - /list, /status, /help commands
  - SubscriptionStore: filter by tier/category/reward
- requirements.txt: python-telegram-bot==20.8, requests
- Dockerfile: Python 3.12 slim, multi-stage ready
- README.md: Full setup guide + architecture diagram
- .env.example: Environment variable template

Also updated ProfileDashboard with Stats tab icon fix (TrendingUp).

Closes SolFoundry#847
@liufang88789-ui
Copy link
Copy Markdown
Author

Superseded by clean PR #1009, which contains only the Bounty #861 implementation and validation files.

@liufang88789-ui
Copy link
Copy Markdown
Author

Closing in favor of clean replacement PR #1009.

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.

🏭 Bounty T3: Full Autonomous Bounty-Hunting Agent

1 participant