MétaCan is a provenance tracked map of Canadian metaresearch. This branch contains the research methods, Canadian frame construction, screening records, classifier pipeline, database schema, data loaders, and release evidence.
The deployable website is maintained separately on the webapp branch. Keeping the two branches distinct makes the research pipeline readable without mixing it with application dependencies and production configuration.
Ahmad Sofi-Mahmudi, independent researcher, ahmad.pub@gmail.com
The frozen frame contains 4,299,418 unique works from all 482 partitions of the pinned OpenAlex snapshot. The exact frame and classifier identifiers are recorded in RELEASE.md.
Classifier version metacan-v1-d91a1de5be90 was trained on 10,348 works with complete Codex and Gemma screening arms, then applied to all 4,299,418 frame records. Its 39 available heads imitate the two machine teachers. They do not estimate scientific truth, classification accuracy, or population prevalence. Human validation remains outstanding. See CLASSIFIER_VALIDATION.md.
No OSF registration, Zenodo archive, DOI, or completed human validation is claimed at this stage.
| Branch | Purpose |
|---|---|
main |
Methods, protocols, frame construction, screening, classifier, database creation, tests, and release records |
webapp |
Standalone bilingual Next.js application, Prisma migrations, recent OpenAlex updater, CI, and production guidance |
OpenAlex snapshot
|
v
R/ frame construction and Canadian route provenance
|
v
pilot/ sampling, screening records, and generated findings
|
v
ml/ two teacher classifier training, application, and verification
|
v
deploy/ PostgreSQL schema, indexes, normalization, and release loaders
|
v
webapp branch and metacan.xera.ac
R/snapshot.Rdefines the pinned snapshot interface.R/harvest_frame.Rprocesses every snapshot partition and records resumable progress.R/frame.Rdefines the four Canadian admission routes.R/frame_lexicon.Rowns the versioned geographic lexicon.R/export_for_db.Rproduces the database import files.data/frame/frame_summary.jsonrecords the frozen row and route counts.
docs/protocol/PROTOCOL.mdis the working study protocol.docs/protocol/rubric-v3.mdis the locked current instrument.pilot/screeningpreserves prompts, consolidated labels, and provenance manifests.pilot/results/findings.jsonis the machine readable historical finding store.DEVIATIONS.mdrecords methodological and implementation deviations.
ml/full_frame_classifier.pyexposesvalidate,train,apply, andverifycommands.artifacts/frame_classifiercontains the compact model and release metadata.testscovers training data contracts, grouped folds, feature parity, resumable application, full frame verification, and database loading.RELEASE.mdrecords hashes for the model, frame, predictions, and public assets.
deploy/schema.sqlcreates the frozen frame and historical evidence tables.deploy/normalize.sqlnormalizes imported values.deploy/indexes.sqlcreates query indexes and materialized facet tables.deploy/classifier-schema.sqlcreates classifier release and prediction tables.deploy/load_labels.pyloads direct machine labels.deploy/load-classifier-release.shverifies and loads a full classifier release.
See DATABASE.md for the creation order, required local inputs, and validation checks.
Python 3.12 or 3.13, R, and uv are required.
uv sync --locked --dev
make deps
make checkUse the classifier command help for the exact artifact paths required by each stage:
uv run python -m ml.full_frame_classifier --helpThe committed documentation and generated findings require no API credential. Snapshot retrieval, model screening, database loading, and deployment use local data or credentials that are deliberately excluded from Git.
When two files disagree, use this order:
- Frozen source artifacts and their machine readable summaries.
- Generated result stores, especially
pilot/results/findings.json. - Screening status, validation, and provenance manifests for the named round and arm.
- Rendered tables and narrative documents.
CITATION.cff, codemeta.json, ro-crate-metadata.json, and .zenodo.json expose machine readable authorship, ORCID, version, licence, runtime, provenance, and related application links. FAIR.md maps these records to the FAIR principles and states the remaining gaps without claiming a DOI or archival deposit.
The frame is bounded by the pinned OpenAlex snapshot and the recorded Canadian metadata routes. Work absent from covered sources, or lacking every detectable Canadian signal, remains outside what this design can estimate.
The machine screening evidence supports instrument development and sampling. It does not establish accuracy. The planned human study includes independent coding, an unresolved category for insufficient evidence, and design weights tied to recorded selection probabilities.
No sensitive identity is inferred. Derived labels involving Indigenous governed data are not released without appropriate governance.
Code is licensed under MIT. Data and documentation are licensed under CC BY 4.0. See DATA-LICENSE.md for attribution and source specific conditions.