Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions figure-claim-consistency-assistant/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Figure Claim Consistency Assistant

This module is a focused slice for SCIBASE.AI issue #16, AI-Powered Research Assistant Suite.

It acts as a pre-submission assistant for manuscript figures and tables. It cross-checks manuscript claims against synthetic figure and table metadata, then emits reviewer-ready tasks when visual evidence does not support the written claim.

## What It Covers

- Claim-to-figure and claim-to-table linkage.
- Axis unit, effect direction, effect magnitude, and sample-size consistency.
- Caption caveat propagation into manuscript claims.
- Public reproducibility artifact checks for source data, notebooks, benchmark logs, manifests, and deployment plans.
- Reviewer tasks, research-gap signals, JSON audit packets, Markdown review packets, SVG summaries, and a short MP4 demo artifact.

The sample data is synthetic. The module is dependency-free and does not call external services.

## Run

```bash
node figure-claim-consistency-assistant/test.js
node figure-claim-consistency-assistant/demo.js
```

Demo output is written to:

- `reports/claim-consistency-audit.json`
- `reports/review-packet.md`
- `reports/claim-consistency.svg`
- `reports/demo.mp4`
25 changes: 25 additions & 0 deletions figure-claim-consistency-assistant/demo.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
const fs = require("node:fs");
const path = require("node:path");
const data = require("./sample-data");
const { renderMarkdown, renderSvg, runAssistant } = require("./index");

const report = runAssistant(data);
const reportsDir = path.join(__dirname, "reports");
fs.mkdirSync(reportsDir, { recursive: true });
fs.writeFileSync(path.join(reportsDir, "claim-consistency-audit.json"), JSON.stringify(report, null, 2));
fs.writeFileSync(path.join(reportsDir, "review-packet.md"), renderMarkdown(report));
fs.writeFileSync(path.join(reportsDir, "claim-consistency.svg"), renderSvg(report));

console.log(JSON.stringify({
decision: report.summary.releaseStatus,
averageScore: report.summary.averageScore,
issueCount: report.summary.totalIssues,
highRiskClaims: report.summary.highestRiskClaims,
auditDigest: report.auditDigest,
reports: [
"reports/claim-consistency-audit.json",
"reports/review-packet.md",
"reports/claim-consistency.svg",
"reports/demo.mp4"
]
}, null, 2));
Loading