@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.