Complete lesson text and action cards
Source-owned text for offline reading and retrieval. Command success still requires actual local evidence.
Set up the practice folder
Download the resource ZIP at the top of this Build. Extract it into a new folder you own (for example C:\BBBPractice on Windows, or ~/bbb-practice on macOS/Linux). Open a terminal in the extracted folder. Run the version command for your platform. All subsequent commands assume this folder.
Expected: Python reports version 3.10 or newer and the terminal is in the extracted resource folder.
windows
python --version
Get-Location
Get-ChildItem
macos
python3 --version
pwd
ls
linux
python3 --version
pwd
ls
Map the six optimization levels and sixteen mechanisms
Run pack.py init once. Inspect truth.json: human, search, platform, AI, agentic and future-intelligence levels, plus all sixteen discovery mechanisms. Classify claims as known, likely/hypothesis or speculative. Mark “exact hidden ranking weights” unknown; do not promise model training, search indexing or recommendations.
Expected: The map contains six levels, sixteen mechanisms and distinct evidence categories.
windows
python pack.py init
macos
python3 pack.py init
linux
python3 pack.py init
Write the keyword and metadata brief
Edit research.json for the video’s instructional intent. Choose one head term and three long-tail queries; inspect current results manually and record the date. Write title, first three description lines, thumbnail text hierarchy and a topic-cluster/playlist plan. Do not invent search-volume figures.
Expected: The research brief has intent, query evidence, title/description, thumbnail hierarchy and a cluster.
Align speech, image and description
Edit grounding.json with time ranges, spoken entities, on-screen commands/diagrams and matching description terms. Inspect captions.srt, script.txt and metadata together. Add a pinned-resource draft, frame/visual plan and comment-review rule.
Expected: Each named entity and command is aligned across speech, captions, screen and metadata.
Replace vague references with named actions
Edit script.txt and semantic.md. Replace “click here”, “that tool” and “this thing” with the exact software, action and visible location. Speak command names clearly and display the actual string; do not narrate that npm has an Install button.
Expected: The script names Qwen Code, Node.js and exact commands, with no vague click instruction.
Inspect all ten downstream artifacts
Open semantic.md, faq.json, glossary.json, abstract.md, tutorial.md, video.jsonld, eval-prompts.json, social-drafts.md, rag.jsonl and test_machine.py. Correct technical spelling, punctuation, speaker labels and source links. Review captions against real audio when you make the video.
Expected: Ten distinct machine artifacts exist, with source-linked FAQ and correct nomenclature.
Design a meaning-preserving caption translation
Use localization.json to plan one target language. Translate a caption cue, title and description, retaining timing, Qwen Code/Node.js names and command strings. Ask a fluent reviewer to compare the source and target meaning. Keep optional dubbing separate and consented.
Expected: One localized cue/metadata draft preserves entity names, timing and command semantics.
Define the entities precisely
Edit glossary.json: name → definition → category → creator/context → use case. Keep Qwen Code (agent harness) distinct from Qwen model weights and Ollama (optional model host). Replace the example.com thumbnail/video URLs in video.jsonld before real publication.
Expected: The entities have distinct definitions and a valid draft VideoObject with accurate media URLs planned.
Connect the lesson to useful neighbors
Edit graph.json with prerequisite-of, enables, extends or alternative-to edges. Make a companion-page/playlist plan with reciprocal descriptions and a glossary hub. Check for a dead end and choose the next verified project after setup.
Expected: The graph names real nodes/relationships and provides a next step rather than an isolated video.
Make retrieval chunks self-contained
Edit rag.jsonl so each row has ID, entity, complete standalone fact and source URL. Add one direct question/answer pair that includes the software and prerequisite without relying on pronouns or a parent heading. Sketch chunk → embed → retrieve → cite.
Expected: At least two chunks stand alone with entity/source, and one answer can be checked from its cited source.
Verify three-platform command cards
Inspect agent-commands.json: Windows PowerShell, macOS zsh and Linux bash cards, parameter schema, working directory, expected exit code, runtime prerequisite and failure tree. Run a non-mutating version check on your OS and save the output; do not claim the other OS branches ran.
Expected: The three command cards are explicit and the actual local version check has an exit/result receipt.
windows
node --version
npm.cmd --version
macos
node --version
npm --version
linux
node --version
npm --version
Hash the reviewed knowledge pack
Record the checked source URLs and date. After reviewing each factual change, run pack.py hash to regenerate provenance.json. Explain that hashes detect changed bytes, while signatures require a separately managed signing identity and neither proves a claim true. Design one synthetic benchmark question grounded in a chunk.
Expected: The provenance manifest contains SHA256 hashes and source URLs, plus a grounded benchmark question.
windows
python pack.py hash
macos
python3 pack.py hash
linux
python3 pack.py hash
Run the pack checks
Run pack.py lint after reviewing and hashing your edits. Inspect lint.json. Run test_machine.py from the knowledge-pack directory. Compare caption text with speech, check chapter start 00:00, at least three chapters, ten seconds minimum each, and replace placeholder media URLs before publishing.
Expected: PACK PASS and MACHINE PASS prove the structural checks; human caption/source/media review is recorded.
windows
python pack.py lint
# Then change into knowledge-pack:
python test_machine.py
macos
python3 pack.py lint
# Then change into knowledge-pack:
python3 test_machine.py
linux
python3 pack.py lint
# Then change into knowledge-pack:
python3 test_machine.py
Prove an error is caught
Change one script phrase to “click here” and run lint before regenerating hashes. Confirm ambiguous instruction and changed bytes appear. Restore the named action, review it, then hash and lint again. Export the pack and the pass/fail evidence.
Expected: A real edit causes PACK FAIL, then a reviewed correction produces PACK PASS.
windows
python pack.py lint
# After the reviewed correction:
python pack.py hash
python pack.py lint
macos
python3 pack.py lint
# After the reviewed correction:
python3 pack.py hash
python3 pack.py lint
linux
python3 pack.py lint
# After the reviewed correction:
python3 pack.py hash
python3 pack.py lint
Write a repeatable onboarding checklist
Fill in onboarding-checklist.md for your agent. Record AGENTS.md, the tool’s user settings and memory folder, the assigned workspace, permissions, guard location, backup schedule, and a final proof task. Keep the checklist in your project.
Expected: The checklist contains a concrete path and owner for rules, memory, permissions, guard, backup, restore and final verification.
Demonstrate the variable-path limit safely
Run workspace_guard.py --self-test. Read the source: the target is resolved before deciding. The variable_target case points at the home folder but performs no filesystem operation. Compare this with a hook that sees only command text.
Expected: GUARD PASS reports inside allowed and profile, outside, variable-derived profile and workspace root denied; no deletion was executed.
windows
python workspace_guard.py --self-test
macos
python3 workspace_guard.py --self-test
linux
python3 workspace_guard.py --self-test
Verify the actual protection in your tool
For CLI tools, open the hook/permissions screen and confirm the configured guard is active. Use your tool’s documented pre-command hook protocol; the BBB working reference is linked in Sources. Run a harmless directory listing, then a guard dry-run targeting the profile. Do not execute a destructive profile probe. Grok Bot has no proven local shell guard here: use project-only tasks and reviewed actions, with backups.
Expected: A harmless command runs, the guard dry-run returns DENY, and the checklist records the actual hook protocol and active state or the Grok Bot limitation.
Enable a real backup of memory and project files
Connect a second backup drive. Windows: configure System Protection as additional recovery and use a scheduled copy/File History that explicitly includes hidden agent folders. macOS: configure Time Machine and verify dot folders are included. Linux: use a home backup such as restic/Deja Dup; Timeshift omits /home by default. Download the copy-only profile backup script for your platform, inspect it, and adapt the folder list to your tool. Record the last successful scheduled run; protect backup access because it may contain credentials.
Expected: A backup on another drive includes the tool’s user settings and memory folder and this project, and a successful schedule/time is recorded.
windows
.\profile-backup.ps1 -Destination D:\Backups\llm-profiles
macos
bash profile-backup.sh /Volumes/YourBackup/llm-profiles
linux
bash profile-backup.sh /media/YourBackup/llm-profiles
Practice a hash-verified restore
Run restore_drill.py with a separate backup directory. The script creates a new proof file, copies it, restores a second copy, and compares SHA256 hashes. Then restore one non-secret file from your actual agent memory backup into a separate scratch directory and open it; do not overwrite the live profile.
Expected: RESTORE PASS contains matching hashes; the actual memory file is readable after restoration into scratch.
windows
python restore_drill.py --backup-root D:\Backups\bbb-practice --work-root practice
macos
python3 restore_drill.py --backup-root /Volumes/YourBackup/bbb-practice --work-root practice
linux
python3 restore_drill.py --backup-root /media/YourBackup/bbb-practice --work-root practice