From 6318dc1c75c3b46b40846ac9b69f38c3c2eb3351 Mon Sep 17 00:00:00 2001 From: Jorel97 Date: Mon, 1 Jun 2026 10:54:27 -0600 Subject: [PATCH] Add research disclosure assistant --- research-disclosure-assistant/README.md | 17 ++ research-disclosure-assistant/demo.js | 59 +++++ research-disclosure-assistant/demo_video.py | 46 ++++ research-disclosure-assistant/index.js | 231 ++++++++++++++++++ research-disclosure-assistant/package.json | 13 + .../reports/clean-packet.json | 21 ++ .../reports/clean-packet.md | 18 ++ .../reports/clean-packet.svg | 12 + .../reports/demo.gif | Bin 0 -> 49511 bytes .../reports/demo.mp4 | Bin 0 -> 41215 bytes .../reports/risky-packet.json | 71 ++++++ .../reports/risky-packet.md | 24 ++ .../reports/risky-packet.svg | 12 + .../requirements-map.md | 11 + research-disclosure-assistant/sample-data.js | 82 +++++++ research-disclosure-assistant/test.js | 46 ++++ 16 files changed, 663 insertions(+) create mode 100644 research-disclosure-assistant/README.md create mode 100644 research-disclosure-assistant/demo.js create mode 100644 research-disclosure-assistant/demo_video.py create mode 100644 research-disclosure-assistant/index.js create mode 100644 research-disclosure-assistant/package.json create mode 100644 research-disclosure-assistant/reports/clean-packet.json create mode 100644 research-disclosure-assistant/reports/clean-packet.md create mode 100644 research-disclosure-assistant/reports/clean-packet.svg create mode 100644 research-disclosure-assistant/reports/demo.gif create mode 100644 research-disclosure-assistant/reports/demo.mp4 create mode 100644 research-disclosure-assistant/reports/risky-packet.json create mode 100644 research-disclosure-assistant/reports/risky-packet.md create mode 100644 research-disclosure-assistant/reports/risky-packet.svg create mode 100644 research-disclosure-assistant/requirements-map.md create mode 100644 research-disclosure-assistant/sample-data.js create mode 100644 research-disclosure-assistant/test.js diff --git a/research-disclosure-assistant/README.md b/research-disclosure-assistant/README.md new file mode 100644 index 00000000..e3efcc40 --- /dev/null +++ b/research-disclosure-assistant/README.md @@ -0,0 +1,17 @@ +# Research Disclosure Assistant + +Self-contained SCIBASE AI-Assisted Research Tools slice for issue #13. The assistant checks funding statements, sponsor role clarity, competing-interest disclosures, author contribution roles, and corresponding-author accountability before AI peer-review aid output is trusted. + +## Why this slice is distinct + +Existing #13 submissions cover broad AI tool suites, evidence-grounded summaries, citation metadata/context/style/diversity/retraction/venue checks, methods reproducibility, protocol deviation, statistical power, multiple-comparison control, terminology/unit consistency, contradictory evidence, novelty overlap, and reporting-guideline checklists. This module focuses only on disclosure completeness and accountability. + +## Run + +```bash +npm test +npm run demo +npm run demo:video +``` + +Demo artifacts are written to `reports/`, including JSON, Markdown, SVG, GIF, and MP4 files. diff --git a/research-disclosure-assistant/demo.js b/research-disclosure-assistant/demo.js new file mode 100644 index 00000000..d0571320 --- /dev/null +++ b/research-disclosure-assistant/demo.js @@ -0,0 +1,59 @@ +const fs = require("fs"); +const path = require("path"); + +const { assessResearchDisclosures } = require("./index"); +const { cleanPacket, riskyPacket } = require("./sample-data"); + +const reportsDir = path.join(__dirname, "reports"); +fs.mkdirSync(reportsDir, { recursive: true }); + +function markdownReport(name, report) { + const findings = report.findings.length + ? report.findings + .map((item) => `- ${item.severity.toUpperCase()} ${item.code}: ${item.message}`) + .join("\n") + : "- No disclosure findings."; + return `# ${report.title} + +Scenario: ${name} + +Decision: ${report.decision.toUpperCase()} + +Reviewed ${report.summary.authorsReviewed} authors, ${report.summary.fundersReviewed} funders, and ${report.summary.disclosuresReviewed} disclosure records. + +## Findings + +${findings} + +## Release Criteria + +${report.releaseCriteria.map((item) => `- ${item}`).join("\n")} +`; +} + +function svgReport(report) { + const color = report.decision === "hold" ? "#dc2626" : report.decision === "revise" ? "#d97706" : "#16a34a"; + return ` + + Research Disclosure Assistant + ${report.manuscriptId} + + ${report.decision.toUpperCase()} + Findings: ${report.summary.findings} + High: ${report.summary.high} + Medium: ${report.summary.medium} + Low: ${report.summary.low} + Synthetic peer-review packet only. No private manuscripts or external APIs. +`; +} + +for (const [name, packet] of [ + ["clean-packet", cleanPacket], + ["risky-packet", riskyPacket], +]) { + const report = assessResearchDisclosures(packet); + fs.writeFileSync(path.join(reportsDir, `${name}.json`), JSON.stringify(report, null, 2)); + fs.writeFileSync(path.join(reportsDir, `${name}.md`), markdownReport(name, report)); + fs.writeFileSync(path.join(reportsDir, `${name}.svg`), svgReport(report)); + console.log(`${name}: ${report.decision} (${report.summary.findings} findings)`); +} diff --git a/research-disclosure-assistant/demo_video.py b/research-disclosure-assistant/demo_video.py new file mode 100644 index 00000000..5ef1196d --- /dev/null +++ b/research-disclosure-assistant/demo_video.py @@ -0,0 +1,46 @@ +from pathlib import Path + +import imageio.v3 as iio +import numpy as np +from PIL import Image, ImageDraw, ImageFont + + +ROOT = Path(__file__).resolve().parent +REPORTS = ROOT / "reports" +REPORTS.mkdir(exist_ok=True) + + +def font(size): + for name in ("arial.ttf", "segoeui.ttf"): + try: + return ImageFont.truetype(name, size) + except OSError: + pass + return ImageFont.load_default() + + +slides = [ + ("Research Disclosure Assistant", "AI-Assisted Research Tools #13"), + ("Checks", "funding statements + sponsor role clarity"), + ("Checks", "COI declarations + industry relationships"), + ("Decision", "hold AI review output until disclosures are complete"), +] + +frames = [] +for index, (title, subtitle) in enumerate(slides, start=1): + image = Image.new("RGB", (960, 544), "#102033") + draw = ImageDraw.Draw(image) + draw.rectangle((46, 54, 914, 490), outline="#facc15", width=3) + draw.text((82, 124), title, fill="#f8fafc", font=font(40)) + draw.text((82, 206), subtitle, fill="#fef9c3", font=font(26)) + draw.rectangle((82, 326, 770, 382), fill="#854d0e") + draw.text((104, 342), "disclosure gaps block trusted peer-review output", fill="#fffbeb", font=font(22)) + draw.text((82, 438), f"Slide {index}/4 - synthetic reviewer artifact", fill="#cbd5e1", font=font(20)) + frames.extend([image] * 14) + +gif_path = REPORTS / "demo.gif" +mp4_path = REPORTS / "demo.mp4" +frames[0].save(gif_path, save_all=True, append_images=frames[1:], duration=120, loop=0) +iio.imwrite(mp4_path, [np.asarray(frame) for frame in frames], fps=8, codec="libx264") +print(f"wrote {gif_path}") +print(f"wrote {mp4_path}") diff --git a/research-disclosure-assistant/index.js b/research-disclosure-assistant/index.js new file mode 100644 index 00000000..934a199b --- /dev/null +++ b/research-disclosure-assistant/index.js @@ -0,0 +1,231 @@ +const HIGH = "high"; +const MEDIUM = "medium"; +const LOW = "low"; + +const REQUIRED_CONTRIBUTIONS = new Set([ + "Conceptualization", + "Methodology", + "Software", + "Validation", + "Formal analysis", + "Data curation", + "Writing - original draft", + "Writing - review and editing", +]); + +function requireString(value, field) { + if (typeof value !== "string" || value.trim() === "") { + throw new TypeError(`${field} must be a non-empty string`); + } + return value.trim(); +} + +function asArray(value, field) { + if (!Array.isArray(value)) { + throw new TypeError(`${field} must be an array`); + } + return value; +} + +function normalizePacket(raw) { + return { + manuscriptId: requireString(raw.manuscriptId, "manuscriptId"), + title: requireString(raw.title, "title"), + fundingStatement: { + funders: asArray(raw.fundingStatement?.funders || [], "fundingStatement.funders").map(String), + grantIds: asArray(raw.fundingStatement?.grantIds || [], "fundingStatement.grantIds").map(String), + sponsorRole: String(raw.fundingStatement?.sponsorRole || "").trim(), + }, + competingInterests: asArray(raw.competingInterests || [], "competingInterests").map((item) => ({ + authorId: requireString(item.authorId, "competingInterests.authorId"), + statement: String(item.statement || "").trim(), + })), + acknowledgements: asArray(raw.acknowledgements || [], "acknowledgements").map(String), + authors: asArray(raw.authors || [], "authors").map((author) => ({ + id: requireString(author.id, "author.id"), + name: requireString(author.name, "author.name"), + corresponding: Boolean(author.corresponding), + contributions: asArray(author.contributions || [], "author.contributions").map(String), + affiliations: asArray(author.affiliations || [], "author.affiliations").map(String), + industryRelationships: asArray(author.industryRelationships || [], "author.industryRelationships").map(String), + })), + }; +} + +function finding(code, severity, message, remediation, subject = "manuscript") { + return { code, severity, subject, message, remediation }; +} + +function hasNoConflictStatement(statement) { + return /no competing|none declared|no conflict/i.test(statement); +} + +function relationshipDisclosed(relationship, statement) { + return statement.toLowerCase().includes(relationship.toLowerCase()); +} + +function assessResearchDisclosures(rawPacket) { + const packet = normalizePacket(rawPacket); + const findings = []; + const disclosures = new Map(packet.competingInterests.map((item) => [item.authorId, item.statement])); + const authorIds = new Set(packet.authors.map((author) => author.id)); + const acknowledgementText = packet.acknowledgements.join(" ").toLowerCase(); + + if (packet.fundingStatement.funders.length === 0) { + findings.push( + finding( + "MISSING_FUNDER_STATEMENT", + HIGH, + "No funder is listed for the manuscript.", + "Add an explicit funding or no-funding statement before AI peer-review output is trusted." + ) + ); + } + + if (packet.fundingStatement.funders.length > 0 && packet.fundingStatement.grantIds.length === 0) { + findings.push( + finding( + "MISSING_GRANT_IDENTIFIERS", + MEDIUM, + "Funding is declared without grant, award, or contract identifiers.", + "Add grant identifiers or document why the funder did not issue one." + ) + ); + } + + if (packet.fundingStatement.funders.length > 0 && !packet.fundingStatement.sponsorRole) { + findings.push( + finding( + "SPONSOR_ROLE_UNCLEAR", + HIGH, + "Sponsor role in study design, analysis, writing, or publication decision is not stated.", + "State the sponsor role explicitly, including whether the funder reviewed or influenced the manuscript." + ) + ); + } + + for (const author of packet.authors) { + const statement = disclosures.get(author.id) || ""; + if (!statement) { + findings.push( + finding( + "MISSING_COMPETING_INTEREST", + HIGH, + `${author.name} has no competing-interest statement.`, + "Add a competing-interest declaration for every listed author.", + author.id + ) + ); + } + + for (const relationship of author.industryRelationships) { + if (hasNoConflictStatement(statement) || !relationshipDisclosed(relationship, statement)) { + findings.push( + finding( + "UNDISCLOSED_INDUSTRY_RELATIONSHIP", + HIGH, + `${author.name} lists an industry relationship with ${relationship}, but the conflict statement does not disclose it.`, + "Revise the competing-interest declaration or remove/justify the relationship record.", + author.id + ) + ); + } + } + + if (author.contributions.length === 0) { + findings.push( + finding( + "MISSING_AUTHOR_CONTRIBUTIONS", + MEDIUM, + `${author.name} has no CRediT-style contributions listed.`, + "Add at least one contributor role for every author before reviewer packets are released.", + author.id + ) + ); + } + + const unrecognized = author.contributions.filter((role) => !REQUIRED_CONTRIBUTIONS.has(role)); + if (unrecognized.length > 0) { + findings.push( + finding( + "UNRECOGNIZED_CONTRIBUTION_ROLE", + LOW, + `${author.name} has non-standard contribution roles: ${unrecognized.join(", ")}.`, + "Map non-standard roles to the configured contribution taxonomy or document the extension.", + author.id + ) + ); + } + } + + for (const disclosure of packet.competingInterests) { + if (!authorIds.has(disclosure.authorId)) { + findings.push( + finding( + "ORPHAN_COMPETING_INTEREST", + MEDIUM, + `Competing-interest statement references unknown author ${disclosure.authorId}.`, + "Retarget or remove orphan disclosure records before export.", + disclosure.authorId + ) + ); + } + } + + for (const funder of packet.fundingStatement.funders) { + const namedInAcknowledgements = acknowledgementText.includes(funder.toLowerCase()); + if (namedInAcknowledgements && !packet.fundingStatement.sponsorRole) { + findings.push( + finding( + "ACKNOWLEDGED_SPONSOR_ROLE_MISMATCH", + MEDIUM, + `${funder} is acknowledged in the manuscript but sponsor role is absent from the funding statement.`, + "Reconcile acknowledgements with funding and sponsor-role disclosures." + ) + ); + } + } + + const hasCorrespondingAuthor = packet.authors.some((author) => author.corresponding); + if (!hasCorrespondingAuthor) { + findings.push( + finding( + "MISSING_CORRESPONDING_AUTHOR", + HIGH, + "No corresponding author is marked for accountability and disclosure follow-up.", + "Mark one or more corresponding authors before submission or AI-generated review packets proceed." + ) + ); + } + + const high = findings.filter((item) => item.severity === HIGH).length; + const medium = findings.filter((item) => item.severity === MEDIUM).length; + const decision = high > 0 ? "hold" : medium > 0 ? "revise" : "release"; + + return { + manuscriptId: packet.manuscriptId, + title: packet.title, + decision, + summary: { + authorsReviewed: packet.authors.length, + fundersReviewed: packet.fundingStatement.funders.length, + disclosuresReviewed: packet.competingInterests.length, + findings: findings.length, + high, + medium, + low: findings.filter((item) => item.severity === LOW).length, + }, + findings, + releaseCriteria: [ + "Funder and grant statements are explicit before AI peer-review aid output is trusted.", + "Sponsor role in design, analysis, writing, review, and publication decision is disclosed.", + "Every author has a competing-interest statement matching known relationships.", + "CRediT-style author contributions and corresponding-author accountability are present.", + ], + }; +} + +module.exports = { + assessResearchDisclosures, + normalizePacket, +}; diff --git a/research-disclosure-assistant/package.json b/research-disclosure-assistant/package.json new file mode 100644 index 00000000..c54c0dd4 --- /dev/null +++ b/research-disclosure-assistant/package.json @@ -0,0 +1,13 @@ +{ + "name": "research-disclosure-assistant", + "version": "1.0.0", + "description": "Funding, conflict-of-interest, and author contribution assistant for SCIBASE issue #13", + "main": "index.js", + "type": "commonjs", + "scripts": { + "test": "node test.js", + "demo": "node demo.js", + "demo:video": "python demo_video.py" + }, + "license": "MIT" +} diff --git a/research-disclosure-assistant/reports/clean-packet.json b/research-disclosure-assistant/reports/clean-packet.json new file mode 100644 index 00000000..dc6bb73b --- /dev/null +++ b/research-disclosure-assistant/reports/clean-packet.json @@ -0,0 +1,21 @@ +{ + "manuscriptId": "peer-review-disclosure-001", + "title": "AI-assisted polymer screening", + "decision": "release", + "summary": { + "authorsReviewed": 3, + "fundersReviewed": 2, + "disclosuresReviewed": 3, + "findings": 0, + "high": 0, + "medium": 0, + "low": 0 + }, + "findings": [], + "releaseCriteria": [ + "Funder and grant statements are explicit before AI peer-review aid output is trusted.", + "Sponsor role in design, analysis, writing, review, and publication decision is disclosed.", + "Every author has a competing-interest statement matching known relationships.", + "CRediT-style author contributions and corresponding-author accountability are present." + ] +} \ No newline at end of file diff --git a/research-disclosure-assistant/reports/clean-packet.md b/research-disclosure-assistant/reports/clean-packet.md new file mode 100644 index 00000000..afeeb079 --- /dev/null +++ b/research-disclosure-assistant/reports/clean-packet.md @@ -0,0 +1,18 @@ +# AI-assisted polymer screening + +Scenario: clean-packet + +Decision: RELEASE + +Reviewed 3 authors, 2 funders, and 3 disclosure records. + +## Findings + +- No disclosure findings. + +## Release Criteria + +- Funder and grant statements are explicit before AI peer-review aid output is trusted. +- Sponsor role in design, analysis, writing, review, and publication decision is disclosed. +- Every author has a competing-interest statement matching known relationships. +- CRediT-style author contributions and corresponding-author accountability are present. diff --git a/research-disclosure-assistant/reports/clean-packet.svg b/research-disclosure-assistant/reports/clean-packet.svg new file mode 100644 index 00000000..7c555c7f --- /dev/null +++ b/research-disclosure-assistant/reports/clean-packet.svg @@ -0,0 +1,12 @@ + + + Research Disclosure Assistant + peer-review-disclosure-001 + + RELEASE + Findings: 0 + High: 0 + Medium: 0 + Low: 0 + Synthetic peer-review packet only. No private manuscripts or external APIs. + \ No newline at end of file diff --git a/research-disclosure-assistant/reports/demo.gif b/research-disclosure-assistant/reports/demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..4adab082c105fefc5466b979ebb2f5961d0d67ed GIT binary patch literal 49511 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 z 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

?YUqrufdRC)0as^@kg?xqQk$%6q? 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 literal 0 HcmV?d00001 diff --git a/research-disclosure-assistant/reports/risky-packet.json b/research-disclosure-assistant/reports/risky-packet.json new file mode 100644 index 00000000..8ae87e91 --- /dev/null +++ b/research-disclosure-assistant/reports/risky-packet.json @@ -0,0 +1,71 @@ +{ + "manuscriptId": "peer-review-disclosure-002", + "title": "Closed-loop catalyst ranking", + "decision": "hold", + "summary": { + "authorsReviewed": 2, + "fundersReviewed": 1, + "disclosuresReviewed": 2, + "findings": 7, + "high": 4, + "medium": 3, + "low": 0 + }, + "findings": [ + { + "code": "MISSING_GRANT_IDENTIFIERS", + "severity": "medium", + "subject": "manuscript", + "message": "Funding is declared without grant, award, or contract identifiers.", + "remediation": "Add grant identifiers or document why the funder did not issue one." + }, + { + "code": "SPONSOR_ROLE_UNCLEAR", + "severity": "high", + "subject": "manuscript", + "message": "Sponsor role in study design, analysis, writing, or publication decision is not stated.", + "remediation": "State the sponsor role explicitly, including whether the funder reviewed or influenced the manuscript." + }, + { + "code": "UNDISCLOSED_INDUSTRY_RELATIONSHIP", + "severity": "high", + "subject": "a1", + "message": "Ari Chen lists an industry relationship with NanoCatalyst Inc., but the conflict statement does not disclose it.", + "remediation": "Revise the competing-interest declaration or remove/justify the relationship record." + }, + { + "code": "MISSING_COMPETING_INTEREST", + "severity": "high", + "subject": "a2", + "message": "Bea Singh has no competing-interest statement.", + "remediation": "Add a competing-interest declaration for every listed author." + }, + { + "code": "MISSING_AUTHOR_CONTRIBUTIONS", + "severity": "medium", + "subject": "a2", + "message": "Bea Singh has no CRediT-style contributions listed.", + "remediation": "Add at least one contributor role for every author before reviewer packets are released." + }, + { + "code": "ACKNOWLEDGED_SPONSOR_ROLE_MISMATCH", + "severity": "medium", + "subject": "manuscript", + "message": "NanoCatalyst Inc. is acknowledged in the manuscript but sponsor role is absent from the funding statement.", + "remediation": "Reconcile acknowledgements with funding and sponsor-role disclosures." + }, + { + "code": "MISSING_CORRESPONDING_AUTHOR", + "severity": "high", + "subject": "manuscript", + "message": "No corresponding author is marked for accountability and disclosure follow-up.", + "remediation": "Mark one or more corresponding authors before submission or AI-generated review packets proceed." + } + ], + "releaseCriteria": [ + "Funder and grant statements are explicit before AI peer-review aid output is trusted.", + "Sponsor role in design, analysis, writing, review, and publication decision is disclosed.", + "Every author has a competing-interest statement matching known relationships.", + "CRediT-style author contributions and corresponding-author accountability are present." + ] +} \ No newline at end of file diff --git a/research-disclosure-assistant/reports/risky-packet.md b/research-disclosure-assistant/reports/risky-packet.md new file mode 100644 index 00000000..97868e79 --- /dev/null +++ b/research-disclosure-assistant/reports/risky-packet.md @@ -0,0 +1,24 @@ +# Closed-loop catalyst ranking + +Scenario: risky-packet + +Decision: HOLD + +Reviewed 2 authors, 1 funders, and 2 disclosure records. + +## Findings + +- MEDIUM MISSING_GRANT_IDENTIFIERS: Funding is declared without grant, award, or contract identifiers. +- HIGH SPONSOR_ROLE_UNCLEAR: Sponsor role in study design, analysis, writing, or publication decision is not stated. +- HIGH UNDISCLOSED_INDUSTRY_RELATIONSHIP: Ari Chen lists an industry relationship with NanoCatalyst Inc., but the conflict statement does not disclose it. +- HIGH MISSING_COMPETING_INTEREST: Bea Singh has no competing-interest statement. +- MEDIUM MISSING_AUTHOR_CONTRIBUTIONS: Bea Singh has no CRediT-style contributions listed. +- MEDIUM ACKNOWLEDGED_SPONSOR_ROLE_MISMATCH: NanoCatalyst Inc. is acknowledged in the manuscript but sponsor role is absent from the funding statement. +- HIGH MISSING_CORRESPONDING_AUTHOR: No corresponding author is marked for accountability and disclosure follow-up. + +## Release Criteria + +- Funder and grant statements are explicit before AI peer-review aid output is trusted. +- Sponsor role in design, analysis, writing, review, and publication decision is disclosed. +- Every author has a competing-interest statement matching known relationships. +- CRediT-style author contributions and corresponding-author accountability are present. diff --git a/research-disclosure-assistant/reports/risky-packet.svg b/research-disclosure-assistant/reports/risky-packet.svg new file mode 100644 index 00000000..05cdd359 --- /dev/null +++ b/research-disclosure-assistant/reports/risky-packet.svg @@ -0,0 +1,12 @@ + + + Research Disclosure Assistant + peer-review-disclosure-002 + + HOLD + Findings: 7 + High: 4 + Medium: 3 + Low: 0 + Synthetic peer-review packet only. No private manuscripts or external APIs. + \ No newline at end of file diff --git a/research-disclosure-assistant/requirements-map.md b/research-disclosure-assistant/requirements-map.md new file mode 100644 index 00000000..ddc7fdfe --- /dev/null +++ b/research-disclosure-assistant/requirements-map.md @@ -0,0 +1,11 @@ +# Requirements Map + +Issue #13 asks for AI-assisted research tools, including a peer-review aid that checks technical and compliance issues before sharing or submission. + +| Issue capability | This implementation | +| --- | --- | +| AI Peer Review Aid | Produces deterministic disclosure diagnostics for manuscript peer-review packets. | +| Compliance checks | Checks funder statements, sponsor-role clarity, competing interests, author contributions, and accountability gaps. | +| Custom reviewer diagnostics | Emits finding codes, severities, affected subjects, and remediation guidance. | +| Research quality workflow | Uses `release`, `revise`, or `hold` decisions before AI review output is trusted. | +| Safe MVP behavior | Uses synthetic packets only, with no credentials, external AI APIs, private manuscripts, or live compliance systems. | diff --git a/research-disclosure-assistant/sample-data.js b/research-disclosure-assistant/sample-data.js new file mode 100644 index 00000000..98052825 --- /dev/null +++ b/research-disclosure-assistant/sample-data.js @@ -0,0 +1,82 @@ +const cleanPacket = { + manuscriptId: "peer-review-disclosure-001", + title: "AI-assisted polymer screening", + fundingStatement: { + funders: ["National Science Fund", "Open Materials Institute"], + grantIds: ["NSF-2244", "OMI-18"], + sponsorRole: "Funders had no role in study design, analysis, manuscript preparation, or publication decision.", + }, + competingInterests: [ + { authorId: "a1", statement: "No competing interests declared." }, + { authorId: "a2", statement: "No competing interests declared." }, + { authorId: "a3", statement: "Consulting fees from NanoCatalyst Inc.; unrelated to this work." }, + ], + acknowledgements: ["NanoCatalyst Inc. provided access to a public benchmark dataset."], + authors: [ + { + id: "a1", + name: "Ari Chen", + corresponding: true, + contributions: ["Conceptualization", "Methodology", "Writing - original draft"], + affiliations: ["Open Materials Institute"], + industryRelationships: [], + }, + { + id: "a2", + name: "Bea Singh", + corresponding: false, + contributions: ["Software", "Validation", "Formal analysis"], + affiliations: ["State University"], + industryRelationships: [], + }, + { + id: "a3", + name: "Cam Reed", + corresponding: false, + contributions: ["Data curation", "Writing - review and editing"], + affiliations: ["State University"], + industryRelationships: ["NanoCatalyst Inc."], + }, + ], +}; + +const riskyPacket = { + manuscriptId: "peer-review-disclosure-002", + title: "Closed-loop catalyst ranking", + fundingStatement: { + funders: ["NanoCatalyst Inc."], + grantIds: [], + sponsorRole: "", + }, + competingInterests: [ + { authorId: "a1", statement: "No competing interests declared." }, + { authorId: "a2", statement: "" }, + ], + acknowledgements: [ + "NanoCatalyst Inc. supplied proprietary screening data and reviewed the manuscript.", + "Dana Fox helped prepare the final figures.", + ], + authors: [ + { + id: "a1", + name: "Ari Chen", + corresponding: false, + contributions: ["Conceptualization"], + affiliations: ["Open Materials Institute"], + industryRelationships: ["NanoCatalyst Inc."], + }, + { + id: "a2", + name: "Bea Singh", + corresponding: false, + contributions: [], + affiliations: ["State University"], + industryRelationships: [], + }, + ], +}; + +module.exports = { + cleanPacket, + riskyPacket, +}; diff --git a/research-disclosure-assistant/test.js b/research-disclosure-assistant/test.js new file mode 100644 index 00000000..afd5b9b5 --- /dev/null +++ b/research-disclosure-assistant/test.js @@ -0,0 +1,46 @@ +const assert = require("assert"); + +const { assessResearchDisclosures, normalizePacket } = require("./index"); +const { cleanPacket, riskyPacket } = require("./sample-data"); + +const clean = assessResearchDisclosures(cleanPacket); +assert.strictEqual(clean.decision, "release"); +assert.strictEqual(clean.summary.findings, 0); + +const risky = assessResearchDisclosures(riskyPacket); +assert.strictEqual(risky.decision, "hold"); +for (const code of [ + "MISSING_GRANT_IDENTIFIERS", + "SPONSOR_ROLE_UNCLEAR", + "UNDISCLOSED_INDUSTRY_RELATIONSHIP", + "MISSING_COMPETING_INTEREST", + "MISSING_AUTHOR_CONTRIBUTIONS", + "ACKNOWLEDGED_SPONSOR_ROLE_MISMATCH", + "MISSING_CORRESPONDING_AUTHOR", +]) { + assert(risky.findings.some((finding) => finding.code === code), `missing ${code}`); +} + +const noFunding = assessResearchDisclosures({ + ...cleanPacket, + fundingStatement: { funders: [], grantIds: [], sponsorRole: "" }, +}); +assert.strictEqual(noFunding.decision, "hold"); +assert(noFunding.findings.some((finding) => finding.code === "MISSING_FUNDER_STATEMENT")); + +const orphanDisclosure = assessResearchDisclosures({ + ...cleanPacket, + competingInterests: [ + ...cleanPacket.competingInterests, + { authorId: "ghost", statement: "No competing interests declared." }, + ], +}); +assert.strictEqual(orphanDisclosure.decision, "revise"); +assert(orphanDisclosure.findings.some((finding) => finding.code === "ORPHAN_COMPETING_INTEREST")); + +assert.throws( + () => normalizePacket({ ...cleanPacket, manuscriptId: "" }), + /manuscriptId must be a non-empty string/ +); + +console.log("research disclosure assistant tests passed");