Skip to content

feat: add project repository version control module#27

Open
grantf04 wants to merge 1 commit into
SCIBASE-AI:mainfrom
grantf04:project-repository-version-control
Open

feat: add project repository version control module#27
grantf04 wants to merge 1 commit into
SCIBASE-AI:mainfrom
grantf04:project-repository-version-control

Conversation

@grantf04
Copy link
Copy Markdown

@grantf04 grantf04 commented May 9, 2026

@algora-pbc /claim #10

Closes #10

What this adds

Adds a self-contained project-repository-version-control/ module for scientific project repositories: structured components, hash manifests, commits, branches, forks, merge requests, reproducibility checks, citations, export metadata, JSON APIs, tests, and a reviewer dashboard.

Requirement mapping

  • Repository structure and components → implemented in demoRepository.files with manuscript, data, code, notebooks, results, protocols, and metadata.
  • File and metadata versioning → implemented by hash manifests, commit history, branch timelines, and DOI-version metadata in src/repository-core.js.
  • Collaboration and forking → implemented through fork attribution, merge request summaries, reviewers, discussion, and branch diffs.
  • In-browser editors and diffs → represented through Markdown/notebook-aware diff summaries and dashboard review surfaces.
  • Computation-aware reproducibility → implemented by runReproducibilityCheck for pipeline, raw data hash, expected outputs, metadata schema, and sandbox status.
  • Repository identifiers and citation → implemented by DOI generation plus APA, MLA, and BibTeX citations.
  • Programmatic access and export → implemented by API routes in src/server.js and buildExportBundle.

How to verify in under 5 minutes

cd project-repository-version-control
npm test
npm start

Open http://localhost:4129 and verify the dashboard shows repository DOI, component manifest, merge request diff summaries, reproducibility checks, citation text, and export metadata.

Optional API smoke checks:

curl -s http://localhost:4129/api/dashboard
curl -s http://localhost:4129/api/repositories/repo-organoid-response/manifest
curl -s "http://localhost:4129/api/repositories/repo-organoid-response/citation?style=BibTeX"

Validation

Commands run:

  • npm test - 4 tests passing
  • curl -s http://localhost:4129/api/dashboard - returns repository title, passed reproducibility status, and export bundle filename
  • curl -s "http://localhost:4129/api/repositories/repo-organoid-response/citation?style=BibTeX" - returns BibTeX dataset citation
  • curl -i -s http://localhost:4129/package.json - returns 404 without crashing the server
  • Browser demo verified at http://127.0.0.1:4129/: repository, version-control, reproducibility, and citation/export panels render with 0 console errors
  • ffprobe verified the committed demo video is 1280x760 and 8 seconds long

Demo

Scope

This PR is intentionally self-contained under project-repository-version-control/ and avoids unrelated root-level changes except adding the module link to the root README.

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.

Project Repository & Version Control

1 participant