From adcec1b00578b06ac4e35b610eafe0a1e1eb79c2 Mon Sep 17 00:00:00 2001 From: Cosmic-Game-studios Date: Wed, 20 May 2026 13:14:19 +0200 Subject: [PATCH] Add notebook preview integrity gate --- notebook-preview-integrity-gate/README.md | 36 ++ .../acceptance-notes.md | 25 + .../notebook-preview-dashboard.svg | 19 + .../demo-output/notebook-preview-demo.mp4 | Bin 0 -> 184007 bytes .../demo-output/notebook-preview-report.json | 579 ++++++++++++++++++ .../demo-output/reviewer-packet.md | 33 + notebook-preview-integrity-gate/demo.js | 54 ++ notebook-preview-integrity-gate/index.js | 551 +++++++++++++++++ .../requirements-map.md | 20 + .../sample-data.js | 159 +++++ notebook-preview-integrity-gate/test.js | 67 ++ 11 files changed, 1543 insertions(+) create mode 100644 notebook-preview-integrity-gate/README.md create mode 100644 notebook-preview-integrity-gate/acceptance-notes.md create mode 100644 notebook-preview-integrity-gate/demo-output/notebook-preview-dashboard.svg create mode 100644 notebook-preview-integrity-gate/demo-output/notebook-preview-demo.mp4 create mode 100644 notebook-preview-integrity-gate/demo-output/notebook-preview-report.json create mode 100644 notebook-preview-integrity-gate/demo-output/reviewer-packet.md create mode 100644 notebook-preview-integrity-gate/demo.js create mode 100644 notebook-preview-integrity-gate/index.js create mode 100644 notebook-preview-integrity-gate/requirements-map.md create mode 100644 notebook-preview-integrity-gate/sample-data.js create mode 100644 notebook-preview-integrity-gate/test.js diff --git a/notebook-preview-integrity-gate/README.md b/notebook-preview-integrity-gate/README.md new file mode 100644 index 0000000..d3a9846 --- /dev/null +++ b/notebook-preview-integrity-gate/README.md @@ -0,0 +1,36 @@ +# Notebook Preview Integrity Gate + +Self-contained Scientific Data and Code Hosting module for issue #14. It audits notebook packages before SCIBASE renders public previews, so notebooks, datasets, figures, and metadata can be shown without leaking credentials, breaking FAIR metadata expectations, or publishing unusable preview artifacts. + +## What it does + +- Parses notebook cells and outputs into a deterministic preview manifest. +- Blocks previews containing likely secrets, private keys, API tokens, or active HTML/script payloads. +- Flags oversized inline outputs that should be stored as checksum-addressed artifacts instead of embedded in notebook JSON. +- Checks execution order coherence, missing visual alt text, environment capture, artifact checksums, MIME types, licenses, and generated preview state. +- Produces DataCite and schema.org draft metadata from the project package. +- Emits a reviewer packet and SVG dashboard that can be attached to moderation, repository release, or publication workflows. + +## Local usage + + node notebook-preview-integrity-gate/test.js + node notebook-preview-integrity-gate/demo.js + +The demo writes: + +- demo-output/notebook-preview-report.json +- demo-output/reviewer-packet.md +- demo-output/notebook-preview-dashboard.svg +- demo-output/notebook-preview-demo.mp4, generated separately for the Algora short demo video requirement + +## Example + + const { auditNotebookPreviewIntegrity } = require("./notebook-preview-integrity-gate"); + const { cleanNotebookPackage } = require("./notebook-preview-integrity-gate/sample-data"); + + const report = auditNotebookPreviewIntegrity(cleanNotebookPackage); + console.log(report.decision, report.score, report.fairScore.overall); + +## Integration notes + +The module is dependency-free CommonJS so it can be dropped behind a future upload worker, repository release gate, or admin review queue. The returned report is JSON-safe and includes a stable digest for audit logs. diff --git a/notebook-preview-integrity-gate/acceptance-notes.md b/notebook-preview-integrity-gate/acceptance-notes.md new file mode 100644 index 0000000..155a414 --- /dev/null +++ b/notebook-preview-integrity-gate/acceptance-notes.md @@ -0,0 +1,25 @@ +# Acceptance Notes + +## Scope + +This contribution focuses on the notebook preview slice of Scientific Data and Code Hosting. It does not introduce a web server or database. Instead, it provides a deterministic domain module that can sit behind future upload, moderation, preview, and repository release flows. + +## Why this is distinct + +Existing SCIBASE issue #14 contributions cover broad hosting foundations, artifact ledgers, generic FAIR gates, package integrity, and preview cache behavior. This module is notebook-specific: it inspects ipynb-like cells and outputs, catches unsafe preview content, builds a cell-level preview manifest, and maps notebook packages to DataCite/schema.org evidence. + +## Validation performed + +- Clean notebook package is marked ready. +- Risky notebook package with a leaked token, active HTML, oversized output, incomplete metadata, missing artifact checksum, and incomplete environment capture is marked blocked. +- Digest remains deterministic even when the generated timestamp changes. +- Reviewer packet and SVG dashboard generation are covered by tests. +- A short MP4 demo is included under demo-output for the Algora PR requirement. + +## Demo + +Run: + + node notebook-preview-integrity-gate/demo.js + +Then inspect notebook-preview-integrity-gate/demo-output/. diff --git a/notebook-preview-integrity-gate/demo-output/notebook-preview-dashboard.svg b/notebook-preview-integrity-gate/demo-output/notebook-preview-dashboard.svg new file mode 100644 index 0000000..ff2b107 --- /dev/null +++ b/notebook-preview-integrity-gate/demo-output/notebook-preview-dashboard.svg @@ -0,0 +1,19 @@ + + + +Notebook Preview Integrity Gate +Unvetted Oncology Biomarker Notebook + +7 +blocked +FAIR 61/100 - 3 cells reviewed + +notebook-presentpass +cell-count-budgetpass +notebook-size-budgetpass +unsafe-preview-contentfail +inline-output-budgetwarn +execution-order-coherencewarn +visual-alt-textwarn +Digest 148e30700c48295458d1f18e + \ No newline at end of file diff --git a/notebook-preview-integrity-gate/demo-output/notebook-preview-demo.mp4 b/notebook-preview-integrity-gate/demo-output/notebook-preview-demo.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..61092a7ff1381eefd9bcc6bb8b5299713c16172d GIT binary patch literal 184007 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�~?!m646 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 0 ? "pass" : "fail", cells.length > 0 ? "info" : "critical", cells.length > 0 ? "Notebook content is available for preview." : "Notebook has no cells to preview.", { + cellCount: cells.length, + }); + + addCheck(checks, "cell-count-budget", cells.length <= limits.maxCells ? "pass" : "fail", cells.length <= limits.maxCells ? "info" : "medium", String(cells.length) + " cells measured against preview limit " + String(limits.maxCells) + ".", { + limit: limits.maxCells, + cellCount: cells.length, + }); + + const notebookBytes = byteLength(JSON.stringify(notebook)); + addCheck(checks, "notebook-size-budget", notebookBytes <= limits.maxNotebookBytes ? "pass" : "fail", notebookBytes <= limits.maxNotebookBytes ? "info" : "high", "Notebook payload is " + formatBytes(notebookBytes) + ".", { + limitBytes: limits.maxNotebookBytes, + notebookBytes, + }); + + const previewManifest = cells.map(function summarize(cell, index) { + return summarizeCell(cell, index, limits); + }); + const unsafeCells = previewManifest.filter(function filterUnsafe(cell) { + return cell.flags.includes("possible-secret") || cell.flags.includes("active-html"); + }); + addCheck(checks, "unsafe-preview-content", unsafeCells.length === 0 ? "pass" : "fail", unsafeCells.length === 0 ? "info" : "critical", unsafeCells.length === 0 ? "No secrets or active HTML were detected in previewable content." : String(unsafeCells.length) + " cell(s) need redaction before public preview.", { + affectedCells: unsafeCells.map(function mapCell(cell) { return cell.cellIndex; }), + }); + + const oversizedCells = previewManifest.filter(function filterOversized(cell) { + return cell.outputBytes > limits.maxInlineOutputBytes; + }); + addCheck(checks, "inline-output-budget", oversizedCells.length === 0 ? "pass" : "warn", oversizedCells.length === 0 ? "info" : "medium", oversizedCells.length === 0 ? "All inline outputs fit within preview budget." : String(oversizedCells.length) + " output(s) should be externalized before rendering.", { + limitBytes: limits.maxInlineOutputBytes, + affectedCells: oversizedCells.map(function mapCell(cell) { return cell.cellIndex; }), + }); + + const executionWarnings = findExecutionOrderWarnings(previewManifest); + addCheck(checks, "execution-order-coherence", executionWarnings.length === 0 ? "pass" : "warn", executionWarnings.length === 0 ? "info" : "medium", executionWarnings.length === 0 ? "Executed code cells have coherent ordering." : "Execution counts are missing, duplicated, or out of order.", { + warnings: executionWarnings, + }); + + const altTextGaps = previewManifest.filter(function filterAlt(cell) { + return cell.hasVisualOutput && !cell.hasAltText; + }); + addCheck(checks, "visual-alt-text", altTextGaps.length === 0 ? "pass" : "warn", altTextGaps.length === 0 ? "info" : "low", altTextGaps.length === 0 ? "Visual outputs include accessible labels or alt text." : String(altTextGaps.length) + " visual output(s) need alt text before publication.", { + affectedCells: altTextGaps.map(function mapCell(cell) { return cell.cellIndex; }), + }); + + const metadataResult = evaluateMetadata(metadata, input); + addCheck(checks, "fair-metadata", metadataResult.missing.length === 0 ? "pass" : "warn", metadataResult.missing.length === 0 ? "info" : "high", metadataResult.missing.length === 0 ? "Required FAIR, DataCite, and schema.org metadata is present." : "Missing metadata: " + metadataResult.missing.join(", ") + ".", { + missing: metadataResult.missing, + present: metadataResult.present, + }); + + const artifactResult = evaluateArtifacts(artifacts, limits); + addCheck(checks, "artifact-preview-readiness", artifactResult.failures.length === 0 ? "pass" : "warn", artifactResult.failures.length === 0 ? "info" : "medium", artifactResult.failures.length === 0 ? "Artifacts are previewable and checksum-addressed." : String(artifactResult.failures.length) + " artifact readiness issue(s) detected.", { + failures: artifactResult.failures, + }); + + const environmentResult = evaluateEnvironment(execution.environment || notebook.environment || {}); + addCheck(checks, "execution-environment-capture", environmentResult.missing.length === 0 ? "pass" : "warn", environmentResult.missing.length === 0 ? "info" : "medium", environmentResult.missing.length === 0 ? "Kernel, runtime, dependency lock, and seed policy are captured." : "Execution environment gaps: " + environmentResult.missing.join(", ") + ".", { + missing: environmentResult.missing, + }); + + const score = calculateScore(checks); + const decision = decide(checks, score); + const fairScore = calculateFairScore(metadataResult, artifactResult, environmentResult); + const dataciteDraft = buildDataCiteDraft(metadata, input); + const schemaOrgDataset = buildSchemaOrgDataset(metadata, input, artifacts); + const remediationPlan = buildRemediationPlan(checks); + const digest = stableHash({ + projectId: input.projectId, + title: input.title, + checks: checks.map(function mapCheck(check) { + return { + id: check.id, + status: check.status, + severity: check.severity, + evidence: check.evidence, + }; + }), + previewManifest, + dataciteDraft, + schemaOrgDataset, + }); + + const report = { + module: "notebook-preview-integrity-gate", + projectId: input.projectId || "unassigned-project", + title: input.title || "Untitled notebook package", + generatedAt, + decision, + score, + fairScore, + digest, + checks, + previewManifest, + artifactSummary: artifactResult.summary, + dataciteDraft, + schemaOrgDataset, + remediationPlan, + }; + + return Object.assign(report, { + reviewerPacket: renderReviewerPacket(report), + }); +} + +function summarizeCell(cell, index, limits) { + const source = normalizeText(cell.source); + const outputs = Array.isArray(cell.outputs) ? cell.outputs : []; + const outputText = outputs.map(function mapOutput(output) { + return normalizeText(output.text || output.data || output); + }).join("\n"); + const outputBytes = byteLength(outputText); + const mimeTypes = collectMimeTypes(outputs); + const hasVisualOutput = mimeTypes.some(function visualMime(mime) { + return mime.startsWith("image/") || mime === "text/html" || mime === "application/vnd.plotly.v1+json"; + }); + const hasAltText = Boolean(cell.altText || (cell.metadata && (cell.metadata.altText || cell.metadata.description)) || outputs.some(function outputAlt(output) { + return output.altText || (output.metadata && output.metadata.altText); + })); + const flags = []; + const cellType = cell.cellType || cell.cell_type || "unknown"; + + if (containsSecret(source) || containsSecret(outputText)) flags.push("possible-secret"); + if (/ limits.maxInlineOutputBytes) flags.push("oversized-output"); + if (hasVisualOutput && !hasAltText) flags.push("missing-alt-text"); + if (cellType === "code" && outputs.length === 0) flags.push("no-output"); + + return { + cellIndex: index + 1, + cellType, + executionCount: cell.executionCount === undefined ? (cell.execution_count === undefined ? null : cell.execution_count) : cell.executionCount, + sourceBytes: byteLength(source), + outputBytes, + outputCount: outputs.length, + mimeTypes, + hasVisualOutput, + hasAltText, + previewMode: outputBytes > limits.maxInlineOutputBytes ? "external-reference" : hasVisualOutput ? "rich-preview" : "inline-text", + flags, + }; +} + +function evaluateMetadata(metadata, project) { + const present = []; + const missing = []; + const required = [ + ["doi", metadata.doi || metadata.identifier], + ["authors", Array.isArray(metadata.authors) && metadata.authors.length > 0], + ["license", metadata.license || project.license], + ["keywords", Array.isArray(metadata.keywords) && metadata.keywords.length > 0], + ["resourceType", metadata.resourceType || metadata.resource_type], + ["accessRights", metadata.accessRights || metadata.access_rights || metadata.access], + ["schemaOrgType", metadata.schemaOrgType || (metadata.schemaOrg && metadata.schemaOrg["@type"])], + ]; + + required.forEach(function checkRequired(entry) { + if (entry[1]) present.push(entry[0]); + else missing.push(entry[0]); + }); + + return { present, missing }; +} + +function evaluateArtifacts(artifacts, limits) { + const failures = []; + const summary = artifacts.map(function mapArtifact(artifact) { + const issueIds = []; + if (!artifact.checksum) issueIds.push("missing-checksum"); + if (!artifact.mimeType && !artifact.mime) issueIds.push("missing-mime-type"); + if (!artifact.license) issueIds.push("missing-license"); + if (Number(artifact.sizeBytes || 0) > limits.maxArtifactBytes) issueIds.push("artifact-over-budget"); + if (artifact.previewGenerated === false) issueIds.push("preview-not-generated"); + if (issueIds.length > 0) { + failures.push({ + path: artifact.path || artifact.name || "unnamed-artifact", + issues: issueIds, + }); + } + return { + path: artifact.path || artifact.name || "unnamed-artifact", + type: artifact.type || inferArtifactType(artifact.path || artifact.name || ""), + sizeBytes: Number(artifact.sizeBytes || 0), + checksum: artifact.checksum || null, + previewGenerated: artifact.previewGenerated !== false, + issues: issueIds, + }; + }); + + return { failures, summary }; +} + +function evaluateEnvironment(environment) { + const missing = []; + if (!environment.kernel) missing.push("kernel"); + if (!environment.language) missing.push("language"); + if (!environment.runtime && !environment.containerImage) missing.push("runtime-or-container"); + if (!environment.lockfile && !environment.lockfileDigest) missing.push("dependency-lock"); + if (!environment.seedPolicy && !environment.randomSeed) missing.push("seed-policy"); + if (Array.isArray(environment.dependencies)) { + const unpinned = environment.dependencies.filter(function unpinned(dependency) { + return !/[=~<>!]=|@|\b\d+\.\d+/.test(String(dependency.version || dependency)); + }); + if (unpinned.length > 0) missing.push("pinned-dependencies"); + } + return { missing }; +} + +function findExecutionOrderWarnings(cells) { + const codeCells = cells.filter(function filterCode(cell) { + return cell.cellType === "code"; + }); + const counts = codeCells.map(function mapCount(cell) { + return cell.executionCount; + }).filter(function presentCount(count) { + return count !== null && count !== undefined; + }); + const warnings = []; + + if (codeCells.length > 0 && counts.length !== codeCells.length) warnings.push("some-code-cells-lack-execution-counts"); + if (new Set(counts).size !== counts.length) warnings.push("duplicate-execution-counts"); + for (let index = 1; index < counts.length; index += 1) { + if (counts[index] < counts[index - 1]) { + warnings.push("execution-counts-out-of-order"); + break; + } + } + return warnings; +} + +function calculateScore(checks) { + const penalty = checks.reduce(function sumPenalty(sum, check) { + if (check.status === "pass") return sum; + return sum + SEVERITY_WEIGHT[check.severity]; + }, 0); + return Math.max(0, Math.min(100, 100 - penalty)); +} + +function decide(checks, score) { + const hasCriticalFailure = checks.some(function critical(check) { + return check.status === "fail" && check.severity === "critical"; + }); + const hasHighFailure = checks.some(function high(check) { + return check.status === "fail" && check.severity === "high"; + }); + const hasWarning = checks.some(function warn(check) { + return check.status === "warn"; + }); + if (hasCriticalFailure || score < 55) return "blocked"; + if (hasHighFailure || score < 85 || hasWarning) return "needs-review"; + return "ready"; +} + +function calculateFairScore(metadataResult, artifactResult, environmentResult) { + const components = { + findable: scoreFromMissing(metadataResult, ["doi", "keywords", "schemaOrgType"]), + accessible: artifactResult.failures.some(function previewFailure(failure) { + return failure.issues.includes("preview-not-generated"); + }) ? 65 : 95, + interoperable: scoreFromMissing(metadataResult, ["resourceType", "schemaOrgType"]), + reusable: Math.max(35, 100 - (artifactResult.failures.length * 8) - (environmentResult.missing.length * 5)), + }; + components.overall = Math.round((components.findable + components.accessible + components.interoperable + components.reusable) / 4); + return components; +} + +function scoreFromMissing(metadataResult, expected) { + const missingCount = expected.filter(function missing(key) { + return metadataResult.missing.includes(key); + }).length; + return Math.max(40, 100 - missingCount * 20); +} + +function buildDataCiteDraft(metadata, project) { + const authors = Array.isArray(metadata.authors) ? metadata.authors : []; + return { + identifier: metadata.doi || metadata.identifier || null, + creators: authors.map(function mapAuthor(author) { + return { + name: author.name || author, + affiliation: author.affiliation || null, + orcid: author.orcid || null, + }; + }), + titles: [{ title: project.title || metadata.title || "Untitled notebook package" }], + publisher: metadata.publisher || project.owner || "SCIBASE.AI", + publicationYear: metadata.publicationYear || new Date().getUTCFullYear(), + resourceType: { + resourceTypeGeneral: metadata.resourceType || "ComputationalNotebook", + }, + rightsList: [{ rights: metadata.license || project.license || "unspecified" }], + subjects: metadata.keywords || [], + }; +} + +function buildSchemaOrgDataset(metadata, project, artifacts) { + return { + "@context": "https://schema.org", + "@type": metadata.schemaOrgType || (metadata.schemaOrg && metadata.schemaOrg["@type"]) || "Dataset", + name: project.title || metadata.title || "Untitled notebook package", + identifier: metadata.doi || metadata.identifier || project.projectId || null, + license: metadata.license || project.license || null, + keywords: metadata.keywords || [], + creator: (metadata.authors || []).map(function mapCreator(author) { + return { + "@type": "Person", + name: author.name || author, + affiliation: author.affiliation || undefined, + }; + }), + distribution: artifacts.map(function mapDistribution(artifact) { + return { + "@type": "DataDownload", + contentUrl: artifact.path || artifact.name, + encodingFormat: artifact.mimeType || artifact.mime || inferMimeFromPath(artifact.path || artifact.name || ""), + contentSize: artifact.sizeBytes ? String(artifact.sizeBytes) : undefined, + sha256: artifact.checksum || undefined, + }; + }), + }; +} + +function buildRemediationPlan(checks) { + return checks.filter(function notPass(check) { + return check.status !== "pass"; + }).map(function mapPlan(check) { + return { + checkId: check.id, + severity: check.severity, + action: remediationFor(check), + }; + }); +} + +function remediationFor(check) { + const actions = { + "notebook-present": "Attach a valid ipynb payload or code notebook export before generating public previews.", + "cell-count-budget": "Split the notebook preview into sections or collapse low-value appendix cells.", + "notebook-size-budget": "Move large binary outputs into checksum-addressed artifacts and keep notebook JSON lightweight.", + "unsafe-preview-content": "Redact credentials, tokens, private keys, and active HTML before publishing the preview.", + "inline-output-budget": "Externalize heavy outputs to artifact storage and reference them from the preview manifest.", + "execution-order-coherence": "Re-run the notebook from a clean kernel so execution counts are complete and monotonic.", + "visual-alt-text": "Add alt text or figure descriptions for every visual output.", + "fair-metadata": "Complete DOI, author, license, keyword, access, resource type, and schema.org metadata.", + "artifact-preview-readiness": "Add checksums, MIME types, licenses, and generated previews for every artifact.", + "execution-environment-capture": "Capture kernel, language, runtime or container image, lockfile digest, and seed policy.", + }; + return actions[check.id] || "Review this finding and add the missing evidence."; +} + +function renderReviewerPacket(report) { + const failingChecks = report.checks.filter(function notPass(check) { + return check.status !== "pass"; + }); + const lines = [ + "# Notebook Preview Integrity Packet", + "", + "Project: " + report.title, + "Decision: " + report.decision, + "Preview score: " + String(report.score) + "/100", + "FAIR score: " + String(report.fairScore.overall) + "/100", + "Digest: " + report.digest, + "", + "## Findings", + "", + ]; + + if (failingChecks.length === 0) { + lines.push("- No blocking or warning findings."); + } else { + failingChecks.forEach(function addFinding(check) { + lines.push("- " + check.id + " (" + check.severity + "): " + check.message); + }); + } + + lines.push("", "## Remediation", ""); + if (report.remediationPlan.length === 0) { + lines.push("- Ready for public preview publication."); + } else { + report.remediationPlan.forEach(function addPlan(item) { + lines.push("- " + item.checkId + ": " + item.action); + }); + } + + lines.push("", "## Preview Manifest", ""); + report.previewManifest.forEach(function addCell(cell) { + const flags = cell.flags.length ? cell.flags.join(", ") : "none"; + lines.push("- Cell " + String(cell.cellIndex) + ": " + cell.cellType + ", " + cell.previewMode + ", " + formatBytes(cell.outputBytes) + " output, flags: " + flags); + }); + + return lines.join("\n"); +} + +function renderDashboardSvg(report) { + const width = 960; + const height = 540; + const statusColor = report.decision === "ready" ? "#147D64" : report.decision === "needs-review" ? "#A45D00" : "#B42318"; + const checkRows = report.checks.slice(0, 7).map(function mapCheckRow(check, index) { + const y = 200 + index * 36; + const color = check.status === "pass" ? "#147D64" : check.status === "warn" ? "#A45D00" : "#B42318"; + return "" + escapeXml(check.id) + "" + escapeXml(check.status) + ""; + }).join("\n"); + + return [ + "", + "", + "", + "Notebook Preview Integrity Gate", + "" + escapeXml(report.title) + "", + "", + "" + String(report.score) + "", + "" + escapeXml(report.decision) + "", + "FAIR " + String(report.fairScore.overall) + "/100 - " + String(report.previewManifest.length) + " cells reviewed", + "", + checkRows, + "Digest " + escapeXml(report.digest.slice(0, 24)) + "", + "", + ].join("\n"); +} + +function addCheck(checks, id, status, severity, message, evidence = {}) { + checks.push({ id, status, severity, message, evidence }); +} + +function collectMimeTypes(outputs) { + const types = new Set(); + outputs.forEach(function eachOutput(output) { + if (output.mimeType) types.add(output.mimeType); + if (output.data && typeof output.data === "object" && !Array.isArray(output.data)) { + Object.keys(output.data).forEach(function addKey(key) { + types.add(key); + }); + } + if (output.output_type === "display_data" && output.data) { + Object.keys(output.data).forEach(function addDisplayKey(key) { + types.add(key); + }); + } + if (typeof output === "string") types.add("text/plain"); + }); + return Array.from(types).sort(); +} + +function normalizeText(value) { + if (Array.isArray(value)) return value.join(""); + if (typeof value === "string") return value; + if (value === null || value === undefined) return ""; + return JSON.stringify(value); +} + +function byteLength(value) { + return Buffer.byteLength(normalizeText(value), "utf8"); +} + +function containsSecret(value) { + const text = normalizeText(value); + return SECRET_PATTERNS.some(function secret(pattern) { + return pattern.test(text); + }); +} + +function inferArtifactType(path) { + const lower = path.toLowerCase(); + if (/\.(csv|tsv|json|parquet|xlsx)$/.test(lower)) return "dataset"; + if (/\.(ipynb|py|r|jl|js)$/.test(lower)) return "code"; + if (/\.(png|jpg|jpeg|svg|webp)$/.test(lower)) return "figure"; + return "artifact"; +} + +function inferMimeFromPath(path) { + const lower = path.toLowerCase(); + if (lower.endsWith(".csv")) return "text/csv"; + if (lower.endsWith(".json")) return "application/json"; + if (lower.endsWith(".ipynb")) return "application/x-ipynb+json"; + if (lower.endsWith(".png")) return "image/png"; + if (lower.endsWith(".svg")) return "image/svg+xml"; + return "application/octet-stream"; +} + +function stableHash(value) { + return crypto.createHash("sha256").update(JSON.stringify(sortKeys(value))).digest("hex"); +} + +function sortKeys(value) { + if (Array.isArray(value)) return value.map(sortKeys); + if (!value || typeof value !== "object") return value; + return Object.keys(value).sort().reduce(function reduceKeys(result, key) { + result[key] = sortKeys(value[key]); + return result; + }, {}); +} + +function formatBytes(bytes) { + const value = Number(bytes || 0); + if (value < 1024) return String(value) + " B"; + if (value < 1024 * 1024) return (value / 1024).toFixed(1) + " KB"; + return (value / (1024 * 1024)).toFixed(1) + " MB"; +} + +function escapeXml(value) { + return String(value) + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """); +} + +module.exports = { + auditNotebookPreviewIntegrity, + renderReviewerPacket, + renderDashboardSvg, + formatBytes, +}; diff --git a/notebook-preview-integrity-gate/requirements-map.md b/notebook-preview-integrity-gate/requirements-map.md new file mode 100644 index 0000000..2f05658 --- /dev/null +++ b/notebook-preview-integrity-gate/requirements-map.md @@ -0,0 +1,20 @@ +# Requirements Map + +Issue #14 asks for a Scientific Data and Code Hosting layer that can store, preview, version, and publish research artifacts with structured metadata and reproducibility support. + +| Requirement area | Implementation coverage | +| --- | --- | +| Metadata-aware previews | previewManifest summarizes notebook cells, outputs, MIME types, preview modes, visual output state, and flags. | +| Notebook rendering readiness | unsafe-preview-content, inline-output-budget, execution-order-coherence, and visual-alt-text checks decide whether a notebook is ready, needs review, or is blocked. | +| Dataset and code artifacts | artifact-preview-readiness checks checksum, MIME type, license, size budget, and generated preview state for attached artifacts. | +| FAIR principles | fairScore grades findable, accessible, interoperable, and reusable readiness from metadata, artifacts, and execution environment capture. | +| DataCite metadata | dataciteDraft returns identifier, creators, title, publisher, publication year, resource type, rights, and subjects. | +| schema.org markup | schemaOrgDataset emits a JSON-safe Dataset object with distributions and checksums. | +| Reproducibility support | execution-environment-capture requires kernel, language, runtime or container, dependency lock, pinned dependencies, and seed policy. | +| Moderation workflow | reviewerPacket and renderDashboardSvg create human-readable review evidence for admins before preview publication. | +| Auditability | digest is stable across generated timestamps and can be stored in future audit logs or release records. | + +## Acceptance checks + + node notebook-preview-integrity-gate/test.js + node notebook-preview-integrity-gate/demo.js diff --git a/notebook-preview-integrity-gate/sample-data.js b/notebook-preview-integrity-gate/sample-data.js new file mode 100644 index 0000000..dc2c59e --- /dev/null +++ b/notebook-preview-integrity-gate/sample-data.js @@ -0,0 +1,159 @@ +"use strict"; + +const cleanNotebookPackage = { + projectId: "sci-preview-clean-001", + title: "Cryo EM Morphology Notebook Preview", + owner: "Cell Systems Lab", + license: "CC-BY-4.0", + metadata: { + doi: "10.5555/scibase.preview.001", + authors: [ + { name: "Nora Patel", affiliation: "Cell Systems Lab", orcid: "0000-0002-1825-0097" }, + { name: "Elijah Chen", affiliation: "Northbridge Institute" }, + ], + keywords: ["cryo-em", "segmentation", "morphology"], + license: "CC-BY-4.0", + resourceType: "ComputationalNotebook", + accessRights: "open", + schemaOrgType: "Dataset", + publisher: "SCIBASE.AI", + publicationYear: 2026, + }, + execution: { + environment: { + kernel: "python3", + language: "python", + runtime: "python 3.11.9", + lockfileDigest: "sha256:f2a8c2d8e3d05d2efc0104989f53c4cc36ec", + seedPolicy: "All stochastic steps use seed 4421 and are logged in run metadata.", + dependencies: [ + { name: "numpy", version: "1.26.4" }, + { name: "pandas", version: "2.2.2" }, + { name: "scikit-image", version: "0.23.2" }, + ], + }, + }, + notebook: { + path: "notebooks/morphology-preview.ipynb", + cells: [ + { + cellType: "markdown", + source: "# Cryo EM morphology QC\nThis notebook previews sample-level segmentation quality.", + }, + { + cellType: "code", + executionCount: 1, + source: "import pandas as pd\nsummary = pd.read_csv('../data/summary.csv')\nsummary.head()", + outputs: [ + { + data: { + "text/plain": "sample_id area_um2 eccentricity\nA01 12.5 0.41\nA02 13.1 0.39", + }, + }, + ], + }, + { + cellType: "code", + executionCount: 2, + source: "plot_segmentation_overlay(seed=4421)", + altText: "Segmentation overlay with nuclei boundaries highlighted in green.", + outputs: [ + { + data: { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIW2NkYGD4DwABBAEAgi6xWQAAAABJRU5ErkJggg==", + }, + }, + ], + }, + ], + }, + artifacts: [ + { + path: "data/summary.csv", + type: "dataset", + sizeBytes: 18432, + checksum: "sha256:2cb0c8f8b4c131e178e3e2f13c05b36f", + mimeType: "text/csv", + license: "CC-BY-4.0", + previewGenerated: true, + }, + { + path: "results/segmentation-overlay.png", + type: "figure", + sizeBytes: 94421, + checksum: "sha256:7f379b73698a4c81a39f6d1c", + mimeType: "image/png", + license: "CC-BY-4.0", + previewGenerated: true, + }, + ], +}; + +const riskyNotebookPackage = { + projectId: "sci-preview-risk-007", + title: "Unvetted Oncology Biomarker Notebook", + owner: "Translational Oncology Group", + metadata: { + authors: [{ name: "A. Reviewer" }], + keywords: [], + accessRights: "restricted", + }, + execution: { + environment: { + kernel: "python3", + language: "python", + runtime: "python 3.10", + dependencies: [ + { name: "pandas", version: "latest" }, + { name: "lifelines" }, + ], + }, + }, + notebook: { + path: "notebooks/biomarker.ipynb", + cells: [ + { + cellType: "code", + executionCount: 3, + source: "API_KEY='demo_credential_should_be_redacted_1234567890'\nload_private_patient_table()", + outputs: [ + { + data: { + "text/html": "
patient_id
", + }, + }, + ], + }, + { + cellType: "code", + executionCount: 2, + source: "render_kaplan_meier_plot()", + outputs: [ + { + data: { + "image/png": "x".repeat(700 * 1024), + }, + }, + ], + }, + { + cellType: "markdown", + source: "Final figure is pending manual upload.", + }, + ], + }, + artifacts: [ + { + path: "data/patient-export.csv", + type: "dataset", + sizeBytes: 19000000, + mimeType: "text/csv", + previewGenerated: false, + }, + ], +}; + +module.exports = { + cleanNotebookPackage, + riskyNotebookPackage, +}; diff --git a/notebook-preview-integrity-gate/test.js b/notebook-preview-integrity-gate/test.js new file mode 100644 index 0000000..bb21c1d --- /dev/null +++ b/notebook-preview-integrity-gate/test.js @@ -0,0 +1,67 @@ +"use strict"; + +const assert = require("assert"); +const { + auditNotebookPreviewIntegrity, + renderDashboardSvg, + formatBytes, +} = require("./index"); +const { + cleanNotebookPackage, + riskyNotebookPackage, +} = require("./sample-data"); + +const stableTimestamp = "2026-05-20T10:00:00.000Z"; + +function testCleanPackageIsReady() { + const report = auditNotebookPreviewIntegrity(cleanNotebookPackage, { generatedAt: stableTimestamp }); + assert.strictEqual(report.decision, "ready"); + assert(report.score >= 90, "expected high score, got " + String(report.score)); + assert.strictEqual(report.remediationPlan.length, 0); + assert.strictEqual(report.previewManifest.length, 3); + assert(report.dataciteDraft.identifier.includes("10.5555")); + assert.strictEqual(report.schemaOrgDataset.distribution.length, 2); +} + +function testRiskyPackageIsBlocked() { + const report = auditNotebookPreviewIntegrity(riskyNotebookPackage, { generatedAt: stableTimestamp }); + assert.strictEqual(report.decision, "blocked"); + assert(report.score < 55, "expected blocked score, got " + String(report.score)); + assert(report.remediationPlan.some(function hasUnsafe(item) { + return item.checkId === "unsafe-preview-content"; + })); + assert(report.checks.some(function hasFairWarning(check) { + return check.id === "fair-metadata" && check.status === "warn"; + })); + assert(report.previewManifest.some(function hasSecret(cell) { + return cell.flags.includes("possible-secret"); + })); + assert(report.previewManifest.some(function hasExternal(cell) { + return cell.previewMode === "external-reference"; + })); +} + +function testDigestIsDeterministic() { + const first = auditNotebookPreviewIntegrity(cleanNotebookPackage, { generatedAt: stableTimestamp }); + const second = auditNotebookPreviewIntegrity(cleanNotebookPackage, { generatedAt: "2026-05-20T11:00:00.000Z" }); + assert.strictEqual(first.digest, second.digest); +} + +function testReviewerArtifactsAreUseful() { + const report = auditNotebookPreviewIntegrity(riskyNotebookPackage, { generatedAt: stableTimestamp }); + const packet = report.reviewerPacket; + const svg = renderDashboardSvg(report); + + assert(packet.includes("Notebook Preview Integrity Packet")); + assert(packet.includes("unsafe-preview-content")); + assert(svg.includes("