======================================================================================== INSTRUCTOR UPSTREAM (Canonical Repo) ======================================================================================== [master] --> Complete working code across all modules (Internal & Testing) [unlock-mod1] --> Disconnected orphan branch containing ONLY Gradle base + mod1 [unlock-mod2] --> Disconnected orphan branch containing ONLY Gradle base + mod2 [unlock-mod3] --> Disconnected orphan branch containing ONLY Gradle base + mod3 │ 1. Initial Course Provisioning ▼ ======================================================================================== THOUGHTFRAME SERVER (Hosting Layer) ======================================================================================== Instructor Master Mount --> Active Working Directory (/path/to/javacourse) │ ├─► [FORK OPERATION] (Done once on Student Start) │ Student Git Repository --> Server-side Bare Repo containing ONLY what is unlocked │ ▼ 2. Pushes new 'unlock-modX' tracking reference on passing module milestones. ======================================================================================== STUDENT WORKSPACE (Local IDE / Toolkit) ======================================================================================== [main] --> Student's working branch. Starts with: mod1/ After Merge: mod1/ + mod2/ (Gradle auto-sync activates) ======================================================================================== javacourse/ (master) ├── settings.gradle <-- Includes 'common', 'mod1', 'mod2', 'mod3', 'mod4' ├── build.gradle ├── common/ ├── mod1/ ├── mod2/ ├── mod3/ └── mod4/ # 1. Spin up a disconnected, empty branch git checkout --orphan unlock-mod1 git rm -rf . # 2. Add ONLY Module 1 files and the base Gradle configurations echo -e "rootProject.name = 'javacourse'\ninclude 'common'\ninclude 'mod1'" > settings.gradle echo "// Global Build Configurations" > build.gradle mkdir common && echo "// Shared utilities" > common/build.gradle mkdir mod1 && echo "

Assignment 1

" > mod1/index.html # 3. Commit and push the standalone milestone git add . git commit -m "Release Module 1 Baseline Workspace" git push origin unlock-mod1 git checkout --orphan unlock-mod2 git rm -rf . # Notice settings.gradle explicitly introduces mod2 here echo -e "rootProject.name = 'javacourse'\ninclude 'common'\ninclude 'mod1'\ninclude 'mod2'" > settings.gradle echo "// Global Build Configurations" > build.gradle mkdir mod2 && echo "

Assignment 2

" > mod2/index.html git add . git commit -m "Release Module 2 Progression Delta" git push origin unlock-mod2