From 77e689e4425349e30a8d8f68c06dac2b4d28900d Mon Sep 17 00:00:00 2001 From: haocyan0723-code Date: Sun, 14 Jun 2026 23:47:57 +0800 Subject: [PATCH 1/9] Add scientific-bounty-reviewer-capacity-guard --- scientific-bounty-reviewer-capacity-guard/demo.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 scientific-bounty-reviewer-capacity-guard/demo.js diff --git a/scientific-bounty-reviewer-capacity-guard/demo.js b/scientific-bounty-reviewer-capacity-guard/demo.js new file mode 100644 index 00000000..e783a11c --- /dev/null +++ b/scientific-bounty-reviewer-capacity-guard/demo.js @@ -0,0 +1,13 @@ +const fs = require("fs"); +const path = require("path"); +const challenges = require("./sample-data.json"); +const { evaluatePortfolio, renderMarkdownReport } = require("./index"); + +const artifactsDir = path.join(__dirname, "artifacts"); +fs.mkdirSync(artifactsDir, { recursive: true }); + +const results = evaluatePortfolio(challenges); +fs.writeFileSync(path.join(artifactsDir, "reviewer-capacity-results.json"), JSON.stringify(results, null, 2)); +fs.writeFileSync(path.join(artifactsDir, "reviewer-capacity-report.md"), renderMarkdownReport(results)); + +console.log(renderMarkdownReport(results)); From 81e734719e8f9366b71a6d6f3fcad72159651a47 Mon Sep 17 00:00:00 2001 From: haocyan0723-code Date: Sun, 14 Jun 2026 23:48:00 +0800 Subject: [PATCH 2/9] Add scientific-bounty-reviewer-capacity-guard --- .../index.js | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 scientific-bounty-reviewer-capacity-guard/index.js diff --git a/scientific-bounty-reviewer-capacity-guard/index.js b/scientific-bounty-reviewer-capacity-guard/index.js new file mode 100644 index 00000000..fcb65761 --- /dev/null +++ b/scientific-bounty-reviewer-capacity-guard/index.js @@ -0,0 +1,81 @@ +const REQUIRED_REVIEWERS = 2; + +function scoreChallenge(challenge) { + const requiredExpertise = new Set(challenge.requiredExpertise || []); + const reviewers = challenge.reviewers || []; + + const eligible = reviewers.filter((reviewer) => { + const hasConflict = (reviewer.conflicts || []).includes(challenge.id); + const isOverloaded = reviewer.activeReviews >= reviewer.maxActiveReviews; + const coversExpertise = (reviewer.expertise || []).some((item) => requiredExpertise.has(item)); + return !hasConflict && !isOverloaded && reviewer.trainingCurrent && reviewer.available; + }); + + const coveredExpertise = new Set(); + for (const reviewer of eligible) { + for (const item of reviewer.expertise || []) { + if (requiredExpertise.has(item)) coveredExpertise.add(item); + } + } + + const missingExpertise = [...requiredExpertise].filter((item) => !coveredExpertise.has(item)); + const overloaded = reviewers.filter((reviewer) => reviewer.activeReviews >= reviewer.maxActiveReviews); + const conflicted = reviewers.filter((reviewer) => (reviewer.conflicts || []).includes(challenge.id)); + const staleTraining = reviewers.filter((reviewer) => !reviewer.trainingCurrent); + + const blockers = []; + if (eligible.length < REQUIRED_REVIEWERS) blockers.push("not enough eligible reviewers"); + if (missingExpertise.length) blockers.push(`missing expertise: ${missingExpertise.join(", ")}`); + if (conflicted.length) blockers.push(`conflicts: ${conflicted.map((r) => r.id).join(", ")}`); + if (overloaded.length) blockers.push(`overloaded: ${overloaded.map((r) => r.id).join(", ")}`); + if (staleTraining.length) blockers.push(`stale training: ${staleTraining.map((r) => r.id).join(", ")}`); + + let decision = "ASSIGN_PANEL"; + if (eligible.length < REQUIRED_REVIEWERS || missingExpertise.length) { + decision = "HOLD_ASSIGNMENT"; + } else if (conflicted.length || overloaded.length || staleTraining.length) { + decision = "REBALANCE_PANEL"; + } + + return { + challengeId: challenge.id, + title: challenge.title, + decision, + eligibleReviewers: eligible.map((reviewer) => reviewer.id), + missingExpertise, + blockers, + nextStep: nextStepFor(decision), + }; +} + +function nextStepFor(decision) { + if (decision === "ASSIGN_PANEL") return "assign the listed reviewers and open the review window"; + if (decision === "REBALANCE_PANEL") return "rebalance reviewer load or replace conflicted reviewers"; + return "hold assignment until coverage and capacity are fixed"; +} + +function evaluatePortfolio(challenges) { + return challenges.map(scoreChallenge); +} + +function renderMarkdownReport(results) { + const lines = ["# Scientific bounty reviewer capacity report", ""]; + for (const result of results) { + lines.push(`## ${result.challengeId}: ${result.title}`); + lines.push(`Decision: ${result.decision}`); + lines.push(`Eligible reviewers: ${result.eligibleReviewers.join(", ") || "none"}`); + lines.push(`Next step: ${result.nextStep}`); + if (result.blockers.length) { + lines.push("Blockers:"); + for (const blocker of result.blockers) lines.push(`- ${blocker}`); + } + lines.push(""); + } + return lines.join("\n"); +} + +module.exports = { + evaluatePortfolio, + renderMarkdownReport, + scoreChallenge, +}; From 817bac7bfd0b1f3519643b66d7b3a23a2b0ea882 Mon Sep 17 00:00:00 2001 From: haocyan0723-code Date: Sun, 14 Jun 2026 23:48:02 +0800 Subject: [PATCH 3/9] Add scientific-bounty-reviewer-capacity-guard --- .../README.md | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 scientific-bounty-reviewer-capacity-guard/README.md diff --git a/scientific-bounty-reviewer-capacity-guard/README.md b/scientific-bounty-reviewer-capacity-guard/README.md new file mode 100644 index 00000000..4772dbfa --- /dev/null +++ b/scientific-bounty-reviewer-capacity-guard/README.md @@ -0,0 +1,22 @@ +# Scientific bounty reviewer capacity guard + +This module checks whether a scientific bounty has enough qualified, available reviewers before a review panel is assigned. + +It focuses on one slice of the bounty workflow: reviewer capacity. It does not handle payouts, arbitration, escrow, IP transfer, or export control. + +## What it checks + +- enough eligible reviewers +- required expertise coverage +- reviewer conflicts +- overloaded reviewers +- stale reviewer training + +## Run it + +```bash +node scientific-bounty-reviewer-capacity-guard/test.js +node scientific-bounty-reviewer-capacity-guard/demo.js +``` + +The demo writes a JSON result and Markdown report to `artifacts/`. From 6b58a5a9f10afb7966e2a229eba52870aef3e93f Mon Sep 17 00:00:00 2001 From: haocyan0723-code Date: Sun, 14 Jun 2026 23:48:04 +0800 Subject: [PATCH 4/9] Add scientific-bounty-reviewer-capacity-guard --- .../sample-data.json | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 scientific-bounty-reviewer-capacity-guard/sample-data.json diff --git a/scientific-bounty-reviewer-capacity-guard/sample-data.json b/scientific-bounty-reviewer-capacity-guard/sample-data.json new file mode 100644 index 00000000..5fe78417 --- /dev/null +++ b/scientific-bounty-reviewer-capacity-guard/sample-data.json @@ -0,0 +1,86 @@ +[ + { + "id": "BIO-42", + "title": "Biomarker scoring challenge", + "requiredExpertise": ["bioinformatics", "statistics"], + "reviewers": [ + { + "id": "r-ada", + "expertise": ["bioinformatics"], + "activeReviews": 1, + "maxActiveReviews": 4, + "conflicts": [], + "trainingCurrent": true, + "available": true + }, + { + "id": "r-lin", + "expertise": ["statistics", "ml"], + "activeReviews": 2, + "maxActiveReviews": 4, + "conflicts": [], + "trainingCurrent": true, + "available": true + } + ] + }, + { + "id": "MAT-11", + "title": "Low heat cement materials challenge", + "requiredExpertise": ["materials", "climate"], + "reviewers": [ + { + "id": "r-mira", + "expertise": ["materials"], + "activeReviews": 4, + "maxActiveReviews": 4, + "conflicts": [], + "trainingCurrent": true, + "available": true + }, + { + "id": "r-noah", + "expertise": ["climate"], + "activeReviews": 1, + "maxActiveReviews": 3, + "conflicts": ["MAT-11"], + "trainingCurrent": true, + "available": true + }, + { + "id": "r-ivy", + "expertise": ["materials", "climate"], + "activeReviews": 1, + "maxActiveReviews": 3, + "conflicts": [], + "trainingCurrent": true, + "available": true + } + ] + }, + { + "id": "QNT-7", + "title": "Quantum noise reduction challenge", + "requiredExpertise": ["quantum", "signal-processing"], + "reviewers": [ + { + "id": "r-sam", + "expertise": ["quantum"], + "activeReviews": 2, + "maxActiveReviews": 3, + "conflicts": [], + "trainingCurrent": false, + "available": true + }, + { + "id": "r-june", + "expertise": ["statistics"], + "activeReviews": 0, + "maxActiveReviews": 2, + "conflicts": [], + "trainingCurrent": true, + "available": true + } + ] + } +] From 7134871b0c7c991599853566db5e1fe2f2b31525 Mon Sep 17 00:00:00 2001 From: haocyan0723-code Date: Sun, 14 Jun 2026 23:48:07 +0800 Subject: [PATCH 5/9] Add scientific-bounty-reviewer-capacity-guard --- .../test.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 scientific-bounty-reviewer-capacity-guard/test.js diff --git a/scientific-bounty-reviewer-capacity-guard/test.js b/scientific-bounty-reviewer-capacity-guard/test.js new file mode 100644 index 00000000..5aa05749 --- /dev/null +++ b/scientific-bounty-reviewer-capacity-guard/test.js @@ -0,0 +1,18 @@ +const assert = require("assert"); +const challenges = require("./sample-data.json"); +const { evaluatePortfolio } = require("./index"); + +const results = evaluatePortfolio(challenges); +const byId = Object.fromEntries(results.map((result) => [result.challengeId, result])); + +assert.strictEqual(byId["BIO-42"].decision, "ASSIGN_PANEL"); +assert.deepStrictEqual(byId["BIO-42"].eligibleReviewers, ["r-ada", "r-lin"]); + +assert.strictEqual(byId["MAT-11"].decision, "HOLD_ASSIGNMENT"); +assert.ok(byId["MAT-11"].blockers.some((blocker) => blocker.includes("conflicts"))); +assert.ok(byId["MAT-11"].blockers.some((blocker) => blocker.includes("overloaded"))); + +assert.strictEqual(byId["QNT-7"].decision, "HOLD_ASSIGNMENT"); +assert.deepStrictEqual(byId["QNT-7"].missingExpertise, ["quantum", "signal-processing"]); + +console.log("scientific bounty reviewer capacity guard tests passed"); From a9bd51a29723e008081518d2bcc1ecca7bd5a196 Mon Sep 17 00:00:00 2001 From: haocyan0723-code Date: Sun, 14 Jun 2026 23:48:10 +0800 Subject: [PATCH 6/9] Add scientific-bounty-reviewer-capacity-guard --- .../artifacts/demo.gif | Bin 0 -> 33261 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 scientific-bounty-reviewer-capacity-guard/artifacts/demo.gif diff --git a/scientific-bounty-reviewer-capacity-guard/artifacts/demo.gif b/scientific-bounty-reviewer-capacity-guard/artifacts/demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..707c1efe4e5432c532f9910c9b9684c659175dad GIT binary patch literal 33261 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 literal 0 HcmV?d00001 From c270a832ff8df86b0a9d01de9ab78a281f0c4bf0 Mon Sep 17 00:00:00 2001 From: haocyan0723-code Date: Sun, 14 Jun 2026 23:48:16 +0800 Subject: [PATCH 7/9] Add scientific-bounty-reviewer-capacity-guard --- .../artifacts/reviewer-capacity-report.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 scientific-bounty-reviewer-capacity-guard/artifacts/reviewer-capacity-report.md diff --git a/scientific-bounty-reviewer-capacity-guard/artifacts/reviewer-capacity-report.md b/scientific-bounty-reviewer-capacity-guard/artifacts/reviewer-capacity-report.md new file mode 100644 index 00000000..07f66a80 --- /dev/null +++ b/scientific-bounty-reviewer-capacity-guard/artifacts/reviewer-capacity-report.md @@ -0,0 +1,24 @@ +# Scientific bounty reviewer capacity report + +## BIO-42: Biomarker scoring challenge +Decision: ASSIGN_PANEL +Eligible reviewers: r-ada, r-lin +Next step: assign the listed reviewers and open the review window + +## MAT-11: Low heat cement materials challenge +Decision: HOLD_ASSIGNMENT +Eligible reviewers: r-ivy +Next step: hold assignment until coverage and capacity are fixed +Blockers: +- not enough eligible reviewers +- conflicts: r-noah +- overloaded: r-mira + +## QNT-7: Quantum noise reduction challenge +Decision: HOLD_ASSIGNMENT +Eligible reviewers: r-june +Next step: hold assignment until coverage and capacity are fixed +Blockers: +- not enough eligible reviewers +- missing expertise: quantum, signal-processing +- stale training: r-sam From f11e4c359f246c5fb79b795502f04a4c493b252f Mon Sep 17 00:00:00 2001 From: haocyan0723-code Date: Sun, 14 Jun 2026 23:48:20 +0800 Subject: [PATCH 8/9] Add scientific-bounty-reviewer-capacity-guard --- .../artifacts/reviewer-capacity-results.json | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 scientific-bounty-reviewer-capacity-guard/artifacts/reviewer-capacity-results.json diff --git a/scientific-bounty-reviewer-capacity-guard/artifacts/reviewer-capacity-results.json b/scientific-bounty-reviewer-capacity-guard/artifacts/reviewer-capacity-results.json new file mode 100644 index 00000000..e270d404 --- /dev/null +++ b/scientific-bounty-reviewer-capacity-guard/artifacts/reviewer-capacity-results.json @@ -0,0 +1,47 @@ +[ + { + "challengeId": "BIO-42", + "title": "Biomarker scoring challenge", + "decision": "ASSIGN_PANEL", + "eligibleReviewers": [ + "r-ada", + "r-lin" + ], + "missingExpertise": [], + "blockers": [], + "nextStep": "assign the listed reviewers and open the review window" + }, + { + "challengeId": "MAT-11", + "title": "Low heat cement materials challenge", + "decision": "HOLD_ASSIGNMENT", + "eligibleReviewers": [ + "r-ivy" + ], + "missingExpertise": [], + "blockers": [ + "not enough eligible reviewers", + "conflicts: r-noah", + "overloaded: r-mira" + ], + "nextStep": "hold assignment until coverage and capacity are fixed" + }, + { + "challengeId": "QNT-7", + "title": "Quantum noise reduction challenge", + "decision": "HOLD_ASSIGNMENT", + "eligibleReviewers": [ + "r-june" + ], + "missingExpertise": [ + "quantum", + "signal-processing" + ], + "blockers": [ + "not enough eligible reviewers", + "missing expertise: quantum, signal-processing", + "stale training: r-sam" + ], + "nextStep": "hold assignment until coverage and capacity are fixed" + } +] \ No newline at end of file From 7eb738611f79cab178804b5f05ee07df66aa48c3 Mon Sep 17 00:00:00 2001 From: haocyan0723-code Date: Sun, 14 Jun 2026 23:54:17 +0800 Subject: [PATCH 9/9] Add MP4 demo artifact --- .../artifacts/demo.mp4 | Bin 0 -> 23776 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 scientific-bounty-reviewer-capacity-guard/artifacts/demo.mp4 diff --git a/scientific-bounty-reviewer-capacity-guard/artifacts/demo.mp4 b/scientific-bounty-reviewer-capacity-guard/artifacts/demo.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..a3932d6a9616fd8d0d35de9ffa59bb59cae9993c GIT binary patch literal 23776 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
    g2m zVg!3Wu2k_{;83{DYrWXl)4QwXJ_)HO)&}oNmdYgDHQW^sMbCV~7KMtnUYx)j|J9i= zS=J*yp7eBI>S#$OL3-pF^NXgrQCf8My${OMlN*?f!@W+`gh%f1W&OpVLByr_j;JIm zD+kBp+!U<@W2AT zxPx(^&y&8_Vt~EJ#dX|VC-Lm3^6g;e4*uTG3+C^rwHs5*^LM?0&ksU{g*BHD6GYrs zt|qxe)3t(30I99)Sgo4U!&m~~)Ri48cuF6Ua7awKz3$Pno;b12T+<<#p@EUXVXbvH zu`VZ8X*SNBpYBf^4VMd`WS_s~dVPmei!U~0uu-clw|qv%_;-g4t+(0T5G2<)^h>N4 zRXufUZ`;~Uua)9-)|Q;33Yjhep7fR7uT{4X3cGsuYb_#yMAqB=qJ!vDMwILE5JV3? zCj?k%E#6;?g_dAv`U=2bWqJ9YRssCA=x-e~|0C@D3kLrS2wRQ4*TT-fL*2sbq3-X7 zgQz9`89*EChN%bY`KLKqczN76kiwnQ8FSlLLXyHC{Vae`K0NbM9 z!S;`KnH)CJBi(X0!RswQ1#knc-?p%SH2$s7Yj&{L1^RzCDuD4~^{8M;tx{A5wKU&` zfOYH!Qzh1HW3O-bA9rWO_wKxo-KB^8GdeS{yRtNAvbdn4xu$V3|G8A&AJ^0V3w;^b zU0hy5`epHJ?;5j^IN;%SCG__zNXu(x>VI7s%YdK_H=JBtz#t4^oxJRAK)A}$jeun& zO^619f8X6221NhBYkrqpj{;{CGLpbSnrA_xnde!mP0&5Rxn*te`|AhygPry4($#T`kz?+16@~WI6MX)@TzO&Y=gChWf(q!6F%(#!R6&dRl54N#cY<+1Z}`EqHt#5;B;1; zJ62?gW+?XXJdFi32t8IF2rQEhpJ@w1*saz{ji9Rm#RiL{R8N)QHURRwQF16%ITSb$ z7VB^tK75ucymaAPTm*y?kUBtP0|_toLVRaHSol(NjKf|NZe`%YNJnI~#nV8H_LTl6 zWX;#vSvWHnIO24)?E`i9ft+p`2OR+#1j#ekm!?BICd>6om)%br?_ z1J8t-#OOK90A;N-+=oK zOw(KgX})m6va^IBMR?Mm1H35k!oY6@UIuu?G7a-mzzeS8VcCDfZ&U>7@UQ~sl?5Jr z84H2`L_#9K!*O6BgpkWL%)|Qr0l(1^$ix3jT+wd~Xz^tpjuQj^ALyf&Z?!y3ujT>P zS;POB{-5w*EVFh2`e6q@FSu^3a5kP+AT)KdrG|inwyl0&fOm|$m8&Z}q