Session 4 of 29. Room 1001, 08:00-09:15. Laptops open from the first minute.
Phase 1 is delivered today, so the deck is deliberately thin: it exists to run
the walkthrough and to put the agreement in front of them, and then it gets out
of the way for the proposals, which take the larger half of the session.
Say the shape at 08:00 so nobody is waiting for their turn without knowing when
it comes. The walkthrough has to finish by 08:23 or the proposals lose a team.
Walk the room while this is on screen. The two failures are a student who never
made a GitHub account and a student whose invitation is sitting unaccepted in an
inbox they do not read. Both are two minutes here and a lost week otherwise.
Repositories are named by team number; that is deliberate and it is not
negotiable, because everything else keys off it.
Open one team's page on the projector. Seeing the placeholder live does more than
any explanation, and it makes the Wednesday deliverable concrete: the page is not
something they build, it is something that is already running and that they edit.
This is the single most expensive five minutes of the semester and it is invisible
if it goes wrong — the student works all term and the record shows a stranger.
Do it from the front in GitHub Desktop, on the projector: Settings, Git, Author
tab, name, pick the KU address, Save. The dialog says so itself — "these
preferences will edit your global Git config file" — which is the whole reason
the two commands are the same act. Then check the avatar on the commit they make
in the next ten minutes. A student whose KU address is not in the Email dropdown
has not added it on github.com yet; that is Settings › Emails, and it needs the
confirmation mail. Steps and the screenshot are on the setup page and in
docs/setup.md in their repository.
The change is trivial on purpose: each student adds their own name to the team
table in README.md. Trivial content, real mechanics. Do not allow anyone to run
ahead; the point is that all five steps happen once with help available.
Expect at least one student to have already hit this last night and assumed
their access was broken. Name it early. The rule is what makes the individual
mark readable — every change has an author and a reviewer, and neither can be
the same person.
Land the principle while they are still looking at their own pull request on the
screen. "Work invisible in the repository did not happen" is the line to repeat.
Teams are formed and the repositories are open. This is the only moment in the
semester when all of that is true and nothing is yet due, so the agreement gets
written honestly rather than defensively.
Do not let them treat this as paperwork. The clause that matters is the quiet
member: teams that have not agreed it in September carry the person silently
until week 12 and then ask me to fix it in week 13. Say that out loud — it is
the reason the page exists, and every class has at least one team that needs it.
Say why it is twice before anyone calls it busywork. The agreement is the errand;
the real exercise is the loop and the tools — branch, issue, two commits per
person, one pull request, one review, one close — on content where a mistake
costs nothing. Every step is one they will repeat all semester.
Fifteen minutes, and it is the first time the agent touches their repository, so
walk the room rather than reading this list out. Two failures to expect: a git
identity that is not theirs, which shows as a grey avatar and is fixed by slide
5's two lines, and Antigravity not signed in, which is the whole reason the check
exists — those students sign by hand and stay behind for two minutes. Antigravity
may open and close issues and commit; it does not push, open a pull request,
approve or merge, and that rule is in AGENTS.md and holds today.
Copilot is not the tool this course builds with — Antigravity is — so frame this
as "claim what you are owed", not as a change of stack. The honest caveat is
worth saying: the student tier picks the model for you, so what they see in a
demo on a teacher account may not reproduce on theirs. Supabase, Vercel, Netlify
and Figma are no longer in the pack; nothing in this course depends on them
being there, because we use each platform's own free tier.
The last line matters more here than in any other course — this is the capstone,
so a good share of the room is graduating, and Copilot access is re-evaluated
monthly against enrolment. The fallback is the personal-key lane set up on
30 September, which is already in the plan. Do not let anyone leave thinking
their AI access is guaranteed through the demo.
No presentations: open each team's published page on the projector and question
them from it. It is faster, it is closer to a client conversation, and it removes
the half of the exercise that taught nothing. Never cut the spoken decision —
every team hears every other team's decision, which is the cheapest teaching in
the course. The minutes saved here pay for the signing exercise.
Read the last line twice. The tag is the one mechanic nobody has done before and
the delivery note in their repository has the steps. Anything merged after the
tag belongs to Phase 2.
Close on the forward link. Any team whose proposal was returned should leave with
the date in their hand, not in their memory.