A glossary you can return to.

Every term used across this course, with a one-line definition and an analogy where helpful. Color-coded by category so you can scan to the kind of word you're looking for.

basics enforcement local discipline destructive platform
gitbasics
A program that runs on your Mac. It tracks file history inside a project folder and stores snapshots. Doesn't need internet.
Microsoft Word — the editor itself, on your machine.
GitHubbasics
A company (Microsoft-owned) that hosts a copy of your git project on their server and wraps a website around it. Adds sharing, browser viewing, collaboration features.
OneDrive — the cloud + web UI layered on top of Word.
repository (repo)basics
A project folder that git is tracking. It exists in two places: on your Mac, and on GitHub's server. Both are called "the repo" — they're two copies kept in sync.
commitbasics
A snapshot of every file in the repo at one moment, with a message attached. Each commit has a unique fingerprint called a SHA (7-char prefix in human view, like ab39fcd).
A bookmark in time. You can return to exactly that state.
branchbasics
A name that points to one specific commit. You can have many. Adding new commits moves the branch label forward to the newest one.
main (default branch)basics
The branch that represents "the official version" of the project. Every new GitHub repo has one called main by default.
git pushbasics
Upload your local commits to GitHub's server. This is when server-side rules (like branch protection) run.
git pullbasics
Download commits from GitHub to your local copy. Use before push when someone else might have updated the repo since your last sync.
pull request (PR)basics
A request to merge commits from one branch into another, plus a comment thread for review. The standard way to propose changes on GitHub.
"Here's what I want to add. Look it over, then either merge it or tell me what to change."
branch protectionenforcement
Server-side rules on a branch (usually main) that GitHub enforces at the moment of push or merge. Things like "must have a review" or "no force-pushes."
A doorman at an apartment building. Checks credentials before letting anything through.
Rulesetsenforcement
A newer name for the same idea as branch protection, with cleaner JSON. Same paywall gates apply.
CODEOWNERSenforcement
A text file you commit to the repo that says "if these files change, these GitHub users must review." Works as documentation without branch protection; works as enforcement with it.
A sign that says "frontend → Josh, backend → you." With protection: it's a barrier. Without: it's a sign.
required_approving_review_countenforcement
A branch protection rule that requires N humans to click Approve before a PR can merge. Your AL repo would use 0 while solo (you can't approve your own work) and flip to 1 when Josh joins.
linear historyenforcement
No "Merge branch X into main" auto-commits — every change in main sits on a single straight line. Easier to read, easier to revert.
force-pushdestructive
A git operation (git push --force) that rewrites the history of a branch on the server, discarding whatever was there. The most dangerous thing in git.
Painting over a chapter of a novel. The old text is gone unless you have a backup.
--no-verifydestructive
A flag on git commit that skips local pre-commit hooks. Useful for emergencies; abusable if you bypass it routinely. The weakness of local-only enforcement.
pre-commit hooklocal discipline
A script that runs on your Mac, automatically, every time you try to commit. If it exits with an error, the commit is blocked.
Huskylocal discipline
A popular tool for managing pre-commit hooks in Node-ish projects. AL-2.2 installs Husky so every clone of the repo gets the same hooks.
Gitleakslocal discipline
A secret-scanning tool. Hunts for things that look like API keys, tokens, or passwords in your commits, and refuses to let them land. AL-2.2 adds Gitleaks to your pre-commit chain.
.private/local discipline
A folder convention in your AL monorepo. Files inside any .private/ folder are excluded from git tracking. AL-2.2's walker enforces that nothing in .private/ ever gets staged.
private vs public repoplatform
A GitHub visibility setting. Private = only people you invite can see it. Public = anyone with the URL can see it (and the entire history).
GitHub Proplatform
A paid tier on GitHub, $4/month per user. Unlocks branch protection and Rulesets on private repos. Also: more Actions minutes, advanced auto-merge, draft PRs.
org / collaboratorplatform
@lovebuilt is your personal GitHub account name. A collaborator is someone you invite to a specific repo. An org is a separate GitHub-level container that groups members and repos — bigger than a personal account, like a company. You're on a personal account today.
★ Your next steps

Two things to know where to look.

If you decide to upgrade to Pro: visit github.com/settings/billing/plans while signed in as @lovebuilt. Click "Upgrade to Pro." After payment, AL-2.1's blocked branch-protection request can be re-run by a follow-up dispatch and it will succeed.

If you decide to stay free (Option b or c): tell the next AL chat what you picked. The decision doc at _agentic-lab/_system/research/github-pro-decision-2026-05-19.md has a "Jonah signoff" line waiting for your override.

✦ End of course

You now have the mental model.

You know what git and GitHub actually are. You know how branch protection works, what the four common rules do, what CODEOWNERS is for, and why GitHub charges for protection on private repos. You know your three options and which one fits your trajectory.

The course's job ends here. The decision is yours — make it once, write it down, move on.