Imported from sathariels/SageRec (
.github/AGENTS.md). Install upstream withnpx skills add sathariels/SageRec --skill .github. Copyright stays with the author.
CI Agent Guide
GitHub Actions here must verify the native foundation without side effects.
- Configure a Release CMake build under
cpp/, build, and run CTest. - Fail the workflow with a nonzero exit when configure, build, or tests fail.
- Do not download MovieLens, commit datasets, or store secrets. Parser and
Phase 2 download/prep CTest cases must keep using in-memory or temp-dir
fixtures. Do not set
SAGEREC_LIVE_MOVIELENSin CI. - Do not upload checkpoints, compiled extensions, or generated artifacts as source. Cache build directories only if that remains optional and local.
- Do not add MovieLens 1M or GCN jobs. Phase 3 Python tests need NumPy
(
python3-numpy); they must keep using in-memory synthetic fixtures. Phase 4 mini-batch and GraphSAGE training tests must keep using the compiledgraph_samplerextension and tiny synthetic graphs. Phase 5 comparison-writer tests must use fixture JSON (or the committed MF result file) and must not download MovieLens or train 100K in CI. ADR-007 multi-seed tests must use fixture JSON plus a tiny synthetic two-seed smoke; they must not download MovieLens or run the 5-seed 100K leaderboard job. Phase 2 sampler-timing tests must use the tiny synthetic graph and must not time MovieLens 100K or assert machine-specific speedups. Default CI may install CPU-only PyTorch andtorch-geometricfor GraphSAGE SAGEConv tests; do not add CUDA wheels, optional PyG extension wheels, PyG NeighborLoader jobs, MovieLens downloads, or a live 100K quality-table job.