This is the IDEAL Lab's practical onboarding for GitHub, Python, research data, AI coding agents, Blade, and Euler. You can read this page on GitHub before installing Git, Obsidian, Python, or an editor.
[!NOTE] For the 2026 semester, this handbook remains in
IDEALLab/onboarding-IT, while the official exercise, launcher, and private controller services run in the maintainer-ownedsoheylm-passport-sandboxorganization. Despite its name, this is the active semester deployment. Students do not join that organization; their generated public learning record remains attached to their own GitHub account.
New To The Lab? Start Here#
[!IMPORTANT] Use one route only. Open the three-step first-contact guide, then run the real guide locally with
gh passport start. Do not begin by browsing folders or cloning this handbook.
The first-contact sequence is:
gh auth login --web --git-protocol https
gh extension install soheylm-passport-sandbox/gh-passport --force --pin v0.3.0
gh passport start
After you confirm what will be public, the launcher creates or safely reuses:
- a local browser interface with one current mission;
- a private-to-your-computer resume record;
- a public learning record in your own GitHub account containing only generated answers and synthetic exercise files;
- a separate visible practice folder when a mission needs real files.
The learning record is public. Your GitHub username is necessarily visible because it owns the record. Beyond that public identity, use only fictional exercise values and sanitized results. Never submit credentials, ETH usernames or email addresses, student numbers, other private identifiers, real logs, screenshots with private information, research data, or confidential project details.
Returning Later#
Open PowerShell on Windows or a terminal on macOS/Linux. From any folder, run:
gh passport open
Do not reinstall, clone again, or search for a special working directory.
How Learning Is Recorded#
| Location | What it means |
|---|---|
| Local browser state | Where you last stopped; never a pass |
| Local practice files | Draft work; not submitted |
| Public learning record | Generated submission source and audit trail |
| Controller Check Run | Objective result for one exact commit |
| Operational approval, when named | Separate access or ownership decision; not a training score |
| Private control registry | Minimal completion record |
Every mission ends with the same visible loop:
- complete the bounded exercise;
- use Check my work and correct any local finding;
- review the generated public content and confirm it contains no sensitive data;
- use Submit mission once;
- continue when the trusted automatic result appears.
The launcher manages the background learning record. The Git mission introduces each Git concept and command only when you need it; no Git knowledge is assumed before then.
The supervisor and reviewer act asynchronously. Nobody must remain online while a learner works.
Routes Match Responsibilities#
Everyone completes the universal safety core. gh passport start asks which
activities apply and adds prerequisites automatically.
| Activity | Competency track |
|---|---|
| Modify or review files through GitHub | Code Contributor |
| Develop or run Python projects | Reproducible Python |
| Use AI coding agents | AI agents |
| Run CPU computation on Euler | Euler CPU |
| Run GPU computation on Euler | Euler CPU then GPU |
| Organize shared datasets and results | Data Steward |
| Use the Blade server | Blade and remote access |
| Approve access or supervise researchers | Supervisor/Staff |
Degree and job title do not determine the route.
Five Rules That Prevent Most Incidents#
- Never share an ETH password, token, SSH private key, recovery code, or confidential personal data with another person or an AI tool.
- Never commit datasets, checkpoints, generated results,
.envfiles, local settings, or real system logs unless the project explicitly requires and protects them. - Check the machine and shell label before pasting a command.
- On Euler, request the smallest reasonable CPU, memory, GPU, and time; inspect
sacct/seffafter completion before increasing resources. - Review every AI-generated diff and command. Work performed under your account remains your responsibility.
If Blocked#
Run read-only diagnostics from any folder:
gh passport doctor
Keep the exact non-secret error. Do not change SSH keys, permissions, PowerShell policy, antivirus settings, branches, or remotes unless the linked recovery guide explicitly tells you to. Use the symptom-based troubleshooting index or the asynchronous help link shown by the local dashboard.
Reference After Onboarding#
| Need | Canonical guide |
|---|---|
| Git and GitHub | Git workflow |
| Python environments | Python setup |
| AI coding agents | AI agent reference |
| Euler access and SSH | Euler access |
| Slurm and job accounting | Slurm reference |
| Euler tunnel and VS Code | Euler tunnel |
| NAS | NAS guide |
| Blade | Remote access |
| Experienced evidence route | Experienced diagnostic |
Maintainers#
Curriculum, site, and generated artifacts are versioned here. Public exercises
live in soheylm-passport-sandbox/passport-exercises; the cross-platform launcher lives in
soheylm-passport-sandbox/gh-passport; trusted assignments, checks, operations, and completion
records live in private soheylm-passport-sandbox/onboarding-control.
The active identities are defined once in platform/deployment.json; generated
repositories and launcher builds must match that profile.
See architecture, deployment, and release qualification. Human-only claims remain explicitly separated in the pilot checklist.