Complete lesson text and action cards
Source-owned text for offline reading and retrieval. Command success still requires actual local evidence.
Open the native draft studio
Download the resource ZIP and extract it into a new private folder. Open studio.html directly in your browser. Compare the two selftext troubleshooting post drafts for Desktop PC case rattle. Read AGENT_OPERATING_MANUAL.md and all twenty points in agent-training.json: native CTA/AI, concrete inputs, draft outputs and stop rules. Inspect strategy.json and assign an artifact to each maturity stage. No account or terminal is needed for the studio; do not publish a synthetic fixture.
Expected: The studio shows A/B drafts and a zero-initialized rubric; the content-agent plan has twenty operating points and native CTA/AI boundaries.
Understand the community architecture
Map subreddits, posts, comments, nested replies, votes, karma, flair, moderators and AutoModerator. Inventory text, images, galleries, video, polls and AMAs. Treat Home/Popular and sort options as different discovery contexts; do not present a legacy public formula as the current full ranker.
Expected: A community map separates format, governance and discovery.
Choose the subreddit audience
Answer which community, purpose, concerns, current discussions, terminology, rewarded posts, rejected posts, explicit rules, norms and native value. Choose a permitted PC-troubleshooting venue rather than assuming every subreddit welcomes the same post.
Expected: Ten preflight answers justify a specific community.
Write a community intelligence profile
Observe two public threads and current sidebar/wiki. Record title style, depth, recurring questions, disagreements, account age/karma rules if published, flair, links and AI policies. Unknown thresholds remain unknown.
Expected: A dated intelligence profile lists actual rules and unknowns.
Choose a conversational contribution
Compare a question, discovery, postmortem, comparison, experiment, breakdown, walkthrough, before/after, critique, compilation, misconception, data request, decision, lesson, resource review, update and synthesis. Pick troubleshooting for the rattle observation.
Expected: Seventeen archetypes and one native choice exist.
Select the native post type
Draft selftext structure, possible audio/video proof, labeled image and gallery alternatives. Use an external link only when the source is the subject; compare native/external media friction and community permissions without assuming ranking penalties.
Expected: A format decision and evidence plan fit community rules.
Write a descriptive title
Draft three non-hype titles naming the desktop PC, sound and unresolved status. Avoid sensational claims, sales wording and unexplained abbreviations.
Expected: Three titles communicate the actual problem.
Compose the controlled selftext pair
Use studio.html for A/B on the same case rattle. Keep the symptom and community constant; add context and a genuine request while retaining a conversational voice.
Expected: A/B drafts differ in clarity rather than topic or offer.
Make the observation reproducible
Write environment, sound conditions, safe prior observations, redacted evidence and unknowns in diagnostic-log.md. Do not touch moving hardware or assert a component failure from the example.
Expected: A log separates observation from unverified diagnosis.
Treat comments as first-class content
Write three helpful replies: request missing model, clarify an assumption and explain how to report a safe observation. Avoid unsolicited product promotion or repetitive links.
Expected: Three replies add value and respect uncertainty.
Extract a nine-field knowledge object
Record core question, consensus, alternatives, evidence, examples, edge cases, root cause, unresolved questions and entities. Use three labeled synthetic replies for practice; consensus does not itself prove a diagnosis.
Expected: Nine extraction fields preserve unresolved and disputed status.
Support search and semantic discovery
Put desktop PC, case rattle, model and conditions in natural title/body text. Define subject-predicate-object relationships and avoid vague instructions detached from context.
Expected: A self-contained question and answer use explicit entities.
Evaluate Reddit AI with boundaries
Read the Reddit Answers announcement. Contrast cited conversation summaries, search, recommendations, moderation and Pro features; check current availability separately. Licensed data or public access does not guarantee your post enters model weights.
Expected: A claim ledger separates retrieval features from training assertions.
Answer the six agent questions
Record what the object is, audience/environment, problem, mechanism, failure limits and deterministic next action. Keep the public selftext useful to humans; local draft validation is the companion action.
Expected: Six qualification answers identify safe scope and unknowns.
Respect contribution culture
Draft a disclosure of AI editing and any affiliation. Write moderation responses for a removed post, criticism and a correction. No sockpuppets, fake votes, manufactured controversy or private-thread extraction.
Expected: A contribution policy and three moderation responses exist.
Design a B3 technical variant
As a separate adaptation, outline a real builder postmortem with reproducible logs and context. Explain why a developer community needs a different example from the general PC-noise audience.
Expected: The technical variant changes audience deliberately and preserves source honesty.
Plan the experimentation lab
Test text/image/gallery/video, title, posting window and prompt independently. Record removal risk, exposure, vote availability, comment depth and useful corrections. Leave unavailable downvote counts as unavailable.
Expected: Four test proposals have denominators and a moderation stop rule.
Apply the quality rubric and flywheel
Rate the ten dimensions in studio.html using evidence. Map build → experiment → contribution → critique → extraction → knowledge → improved build → next experiment. A high self-score is not moderator approval.
Expected: A scored review and eight-stage knowledge loop exist.
Recompose community knowledge
Adapt the same verified observation into YouTube explanation, TikTok demo, Instagram carousel, professional LinkedIn case, X update, Facebook discussion and a canonical reference. Credit permitted source material and preserve uncertainty.
Expected: Seven native briefs keep the same diagnostic status.
Specify the factory and seventeen gates
Map source, intelligence, fit, strategy, post, reply, moderation, discussion, extraction, analytics and model feedback. Answer the seventeen brief gates for audience, rules, format, media, title, value, comments, cards, evidence and logs.
Expected: A production flow and seventeen approval checks are complete.
Execute the capstone as a draft rehearsal
Write a twenty-two-action plan from observation through rule check, evidence, post, responses, extraction of three edge cases, corrected object and platform recomposition. Use synthetic replies only when labelled; real community engagement remains an optional authorized follow-up. Review the primary native AI source in AGENT_OPERATING_MANUAL.md. Record documented inputs/outputs, actual account availability (or NOT VERIFIED), a useful native application and a privacy/failure limit. Use this platform’s CTA chain from agent-training.json, rather than importing another platform’s CTA.
Expected: A draft capstone preserves three edge cases and actual publication status.
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
Audit the mechanism and claim ledger
Read mechanisms.md and claims.json. Attach a direct source and date to established claims; distinguish hypothesis from evidence and future SI from deployed features. Edit knowledge.json and rag.jsonl so each answer stands alone with named entities and a source.
Expected: The ledger separates training, retrieval, indexing, context, citation and action; two source-linked chunks stand alone.
Use the readiness calculator
Open studio.html and score each dimension from 0 to 10 with a written reason. Download versions.json and rubric.json; replace the matching extracted files after reviewing them. Leave metrics.json NOT RUN unless you have actual observations. Facebook uses eleven dimensions normalized by dividing by 110 and multiplying by 100.
Expected: A downloadable pair and rubric are saved; the score is self-assessment and unrun metrics are explicit.
Hash and lint the reviewed files
Review your changes first. Run the hash command, then lint and score. Inspect report.json. Commands use the current extracted resource folder; PowerShell runs python, macOS zsh and Linux bash run python3. A missing field must be corrected before hashing again.
Expected: HASH PASS and MEDIA PASS appear with exit 0; the readiness score matches the reviewed rubric.
windows
python media_pack.py hash
python media_pack.py lint
python media_pack.py score
macos
python3 media_pack.py hash
python3 media_pack.py lint
python3 media_pack.py score
linux
python3 media_pack.py hash
python3 media_pack.py lint
python3 media_pack.py score
Prove changed bytes and broken content fail
Change versions.json B.topic to a different topic. Run lint and retain MEDIA FAIL. Restore the same topic, review the repair, hash and lint again. Do not weaken the checker or present a structural pass as factual/media verification.
Expected: A mismatched topic produces MEDIA FAIL; a reviewed correction produces MEDIA PASS.
windows
python media_pack.py lint
# After correcting and reviewing the topic:
python media_pack.py hash
python media_pack.py lint
macos
python3 media_pack.py lint
# After correcting and reviewing the topic:
python3 media_pack.py hash
python3 media_pack.py lint
linux
python3 media_pack.py lint
# After correcting and reviewing the topic:
python3 media_pack.py hash
python3 media_pack.py lint
Run a source-linked retrieval probe
Run the supplied question, then an unrelated query. Inspect the answer and source. This standard-library demo uses lexical word overlap, not embeddings, a vector database or an AI citation measurement. Save actual OS command/exit/output and mark other OS branches unverified.
Expected: The relevant query returns source-linked chunks; the unrelated query abstains.
windows
python media_pack.py retrieve --query "What context helps a community investigate a desktop PC case rattle?"
python media_pack.py retrieve --query "quasar waffle weather"
macos
python3 media_pack.py retrieve --query "What context helps a community investigate a desktop PC case rattle?"
python3 media_pack.py retrieve --query "quasar waffle weather"
linux
python3 media_pack.py retrieve --query "What context helps a community investigate a desktop PC case rattle?"
python3 media_pack.py retrieve --query "quasar waffle weather"
Record provenance and a human approval decision
Use provenance-notes.md to record author, capture/source dates, rights, AI assistance and unresolved claims. SHA256 detects byte changes but does not sign the file or prove truth. Read the source/command cards, review the native capstone and export course evidence. Actual publication requires your own account, current rules and a human decision.
Expected: The handoff includes native drafts, source/rights review, unsigned integrity manifest, explicit live-status limits and an approval decision.
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