BuildBotsBetter
BUILDBOTSBETTER
All Builds
Guided Build · ChatGPT Codex

Dogfooding: Use What You Build

Follow your own instructions as a new user and keep the failures.

90–150 minuteswindows · macos · linuxFree practice; existing tool accounts may have plan limits.

Finish with: A reproducible learner walk with environment facts, step coverage, actual failures, a repaired practice project and regression evidence.

Progress stays in this browser. Export to keep a portable record.

Do this now

Walkthrough

A step demonstration outline; use optional narration while you follow it.

Resources for this step

Check the result

This browser checks the evidence format and your checklist. It cannot inspect your computer or certify a live login.

When it does not work

Finish-line test

Repeat the last product-specific checkpoint from a fresh practice input, preserve actual output, then complete the Build Bot Better guard and restore checks. Export the evidence.

Sources and verification limits

Sources checked 2026-10-05. External tool interfaces and plan availability can change; check the linked official source and local --help.

Complete lesson text and action cards

Source-owned text for offline reading and retrieval. Command success still requires actual local evidence.

Select one workflow to test

Pick one Build or app you own. Write the starting state, the exact learner outcome and the finish-line test. Do not open a prepared environment and call it a fresh install.

Expected: The test brief states starting state, outcome, environment and finish-line criteria.

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

Create the coverage sheet

Write a table with every instruction/command, actual input, output/exit code, question asked of the coach, screenshot and pass/fail/unverified status. Include OS, architecture, versions and required account access.

Expected: Every step has a coverage row and the environment is recorded.

Run the untouched practice project

Run app.py and verify.py exactly as the instructions state. Ask the Build coach a real question. Save the output and note whether the answer helps you complete the action.

Expected: APP PASS total=10 and VERIFY PASS are in the coverage sheet with a useful or failed coach response.

windows

python app.py
python verify.py

macos

python3 app.py
python3 verify.py

linux

python3 app.py
python3 verify.py

Introduce a repeated-input defect

Copy broken_app.py over app.py inside this practice folder and run verify.py. Retain the exact assertion failure and the input [2,2]. Fill incident-template.md.

Expected: The coverage sheet shows repeated inputs fail before correction.

windows

Copy-Item broken_app.py app.py
python verify.py

macos

cp broken_app.py app.py
python3 verify.py

linux

cp broken_app.py app.py
python3 verify.py

Fix the smallest cause

Ask your agent to diagnose the failing case, repair app.py only, and explain why preserving repeated items matters. Update your own instruction if it hid a prerequisite. Run verify.py independently.

Expected: VERIFY PASS succeeds and the instruction includes the missing prerequisite or diagnostic you discovered.

windows

python verify.py

macos

python3 verify.py

linux

python3 verify.py

Test narrow screens and restart

Open the Build at a mobile-sized browser width. Copy a command, reload, resume the step, export evidence and test a missing input. Save screenshots and note any clipping, lost state, confusing progress or silent failure.

Expected: The coverage sheet records mobile behavior, persistence, export and one visible failure.

Write an honest release review

Summarize passed, failed and unverified checks by platform. Include the exact version/commit tested and the failure-before/fix-after evidence. Do not claim live account or macOS verification from mocks.

Expected: The report names coverage, defects, fixes, remaining limitations and the final VERIFY PASS receipt.

windows

python verify.py

macos

python3 verify.py

linux

python3 verify.py

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