Skip to content

feat: add scientific bounty system module#23

Open
TuncayEnsi wants to merge 2 commits into
SCIBASE-AI:mainfrom
TuncayEnsi:codex/issue-18-scientific-bounty-system
Open

feat: add scientific bounty system module#23
TuncayEnsi wants to merge 2 commits into
SCIBASE-AI:mainfrom
TuncayEnsi:codex/issue-18-scientific-bounty-system

Conversation

@TuncayEnsi
Copy link
Copy Markdown

@TuncayEnsi TuncayEnsi commented May 9, 2026

@algora-pbc /claim #18

Closes #18

What this adds

Adds a self-contained scientific-bounty-system/ module for sponsor challenge posting, standardized solver submissions, arbitration, escrow validation, payout routing, and IP release conditions.

Requirement mapping

  • Challenge posting portal data model -> implemented in scientific-bounty-system/src/types.ts and src/data/demo-data.ts; covers problem context, deliverables, rubric, timeline, milestones, prize, visibility, NDA, templates, and IP terms.
  • Submission engine -> implemented in src/lib/bounty-engine.ts and src/lib/bounty-service.ts; creates package manifests with artifact hashes, reproducibility commands, audit logs, anonymous/named participation metadata, and team payout shares.
  • Arbitration and reward distribution -> implemented in src/lib/bounty-engine.ts; ranks submissions, runs automated checklists, validates escrow, builds payout routes, and includes IP release conditions.
  • Sponsor dashboard and API smoke tests -> implemented in src/server.ts; demo assets included under scientific-bounty-system/docs/demo/.
  • Tests -> implemented in tests/bounty-engine.test.ts and tests/bounty-service.test.ts.

How to verify in under 5 minutes

cd scientific-bounty-system
npm install
npm run typecheck
npm test
npm run build
npm run dev

Open http://localhost:3001 and click Run arbitration.

Optional API smoke tests:

curl -s http://localhost:3001/api/dashboard | jq .
curl -s http://localhost:3001/api/arbitration/challenge_biomarker_rna | jq .
curl -s http://localhost:3001/api/payouts \
  -H 'content-type: application/json' \
  -d '{"challengeId":"challenge_biomarker_rna"}' | jq .

Validation

Commands run:

  • npm run typecheck
  • npm test - 2 files, 8 tests
  • npm run build
  • npm audit --omit=dev - 0 vulnerabilities
  • Browser demo verified locally: arbitration action renders a winning package, checklist, and payout preview without console errors.

Demo

Scope

This PR is intentionally self-contained under scientific-bounty-system/ and avoids unrelated root-level changes.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Scientific Bounty System

1 participant