Remove lab-specific paths and defaults; add a public-content guard - #14
Merged
Merged
Conversation
Replace hardcoded cluster paths, partitions, email and study-specific inputs in the SLURM .sh runners with placeholders and a required PIPELINE_ROOT env var. Move commands that preceded the #SBATCH block below it so sbatch parses the directives. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
generate_slurm.py now derives the repo root from its own location (or PIPELINE_ROOT), takes partition/email from args or env with no baked-in default, and only writes GPU feature constraints when asked. Skill docs ask the user for partition, email and reference paths instead of assuming one cluster. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replace sys.path entries pointing at one cluster checkout with paths computed from each script's location, load evaluation resources from the repo's Resources/ dir, make the mini-dataset builder take its input as a CLI argument, and drop cluster paths from test docstrings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add a public-repository rule section to CLAUDE.md, replace the cluster environment and resource-path blocks with generic PIPELINE_ROOT / Resources wording, and make setup_resources.sh take its source dir from RESOURCES_SRC. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Delete skill evaluation/workspace outputs that recorded study runs, and gitignore tasks/, .baton/ and skill workspace/output dirs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replace cell-type-specific defaults in the annotation code (prompt role and context, PubMed keyword, evidence-scoring keywords) with generic ones; the PubMed keyword is now optional. Vertex AI project, location and bucket come from env vars or CLI with no built-in project. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tools/check_no_lab_specific_content.py scans tracked files (or staged / ref-relative added lines) for forbidden patterns, with exceptions in tools/lab_specific_allowlist.txt. Runs in CI on push/PR and as a local pre-commit hook. CLAUDE.md points to it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
--Conditions (plotting) and --Sample (excel summary) no longer default to one study's labels; when omitted, labels are the unique values of the categorical key in the h5mu. Runners stop passing hardcoded labels and docs use placeholder labels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Excel summary's --Sample flag is now --Conditions (--Sample kept as a deprecated alias with a notice). --categorical_key and --Conditions help texts are unified across stages, docs and the runner skill use the condition wording, and the drift check understands flag aliases. CHANGELOG records the rename and the scrub changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
PerturbNMF is a public repo, but
maincarries lab- and study-specific details: cluster paths and partitions, personal emails, dated run directories, hardcoded condition labels (D0 sample_D1 …), and tracked skill output folders. New users can't run the SLURM scripts without editing them, and study details leak into a public tool.Fix
PIPELINE_ROOTis required;<partition>/<your_email>placeholders; study paths →/path/to/.... Movedset -euo pipefailbelow#SBATCHin six runners (SLURM was silently ignoring their directives).sys.path→ paths relative to__file__; eval resources from the repo'sResources/.setup_resources.sh,environment.yml, notebooks: site-specific defaults removed; notebook outputs cleared.obs[categorical_key]when--Conditionsis omitted; excel summary--Sample→--Conditions(alias kept, with a deprecation note).tools/check_no_lab_specific_content.pyruns in CI and as a pre-commit hook, with an allowlist for authorship metadata.Result
mainvs this branch (cluster, CPU + GPU)--Samplealias smoke testsbash -non all runners; drift checkThe failures that already exist on
main(stale test signatures,2.0vs2_0output names) are fixed in a separate PR.Recommendation
Merge before the annotation-v3 and CRT PRs; both touch the same runner and skill files.
🤖 Generated with Claude Code