Timeline
- (Context) Recipe system tested by running \recipe open_configs —do-it — revealed three systemic problems
- (Action) Fixed —do-it flag propagation in shell.py dispatch and _handle_recipe
- (Action) Created _step_summary() for human-readable step display in recipe previews
- (Action) Rewrote all 8 existing recipe JSON files — titles, descriptions, notes
- (Action) Added 5 new multi-tool recipes: downloads_cleanup, design_a_tool, clean_and_organize, project_kickstart, safe_then_learn
- (Action) Reformulated AWAKENING_PROMPT and FALLBACK_INTRODUCTION in awakening.py — Gemma as companion, not executor
- (Action) Deep OVERALL_VOICE.md alignment audit across shell.py, awakening.py, paths.py, recipes, launch_items.json, advanced_command_insight HTML
- (Action) Verified advanced_command_insight.html matches _build_insight_html() output after all changes
- (Action) Added Human-AI easter egg to tour finish step (user subsequently edited to own voice)
- (Observation) Grep sweeps confirmed removal of banned terms: “curated”, “pipeline”, “WARNING”, “LLM”, “RAG”
- (Open Thread) End-to-end tour validation with Ollama and Docker still pending
Context
- User tested \recipe open_configs —do-it and found —do-it was silently discarded — dispatch at shell.py only passed recipe name, dropped extra args
- Recipe output showed raw tool names and args dicts (e.g., quick_launch {‘name’: ‘tool_registry’}) — confusing for beginners
- Recipe titles used jargon prefixes (“Pipeline:”, “Workflow:”, “Ritual:”) that contradicted OVERALL_VOICE.md
- Only 8 recipes existed for 9 tools — many obvious multi-tool combinations were missing
- Gemma’s self-introduction still framed her as a “tool executor” rather than the companion/guide role developed through the course
Actions
- Fixed recipe dispatch to pass parts[2:] to _handle_recipe(), added _inject_do_it() helper to merge do_it into each step’s args dict before execution
- Created _step_summary() function converting raw tool/args into readable descriptions like “Open: tool_registry” or “Clean CSV: dirty_data.csv”
- Truncated verbose multi-line tool messages to first line only in _run_steps chain output
- Rewrote all 8 existing recipes with warm, clear language — dropped “Pipeline:”, “Workflow:”, “Ritual:” prefixes
- Added do_it: true to open_configs recipe steps so it actually opens files when confirmed
- Added REPLACE: placeholders to csv_repair and safety_ritual recipes for user input prompts
- Created 5 new recipes expanding coverage from 8 to 13 total: downloads_cleanup (organize by type), design_a_tool (blueprint then prompt), clean_and_organize (redact then sort), project_kickstart (blueprint, prompt, notes), safe_then_learn (sandbox then save)
- Rewrote AWAKENING_PROMPT: changed “local AI agent” to “local AI companion”, removed tool executor framing, added example prompts for users to try
- Rewrote FALLBACK_INTRODUCTION: same companion voice shift, added “You run the tools. I guide you to the right ones.”
- Updated COURSE_END_CONTEXT: header to “Your Local AI Companion”, command table to match help menu voice, “let Ollama propose” to “let Gemma design”
- Audited and fixed help menu, ghost puzzle text, confirm prompts, guided hints, chain log output in shell.py
- Replaced “LLM” with “AI assistant” in context_pack recipe, HTML document, and Gemma chat prompt
- Changed “WARNING:” to “Important:” in confirm prompts per OVERALL_VOICE.md policy
- Removed —json flag from user-facing pilot command in paths.py
- Updated advanced_command_insight.html: recipe table from 8 to 13, pathway titles, closing quote, all jargon replaced
- Rewrote launch_items.json descriptions to match course voice
- Added expanded farewell message to tour finish step celebrating the Pilot/Engine partnership
Observations
- The —do-it flag was never wired through because the original dispatch only extracted parts[1] (recipe name) — a simple oversight with significant UX impact
- Recipe previews showing raw Python dicts ({args_dict}) was a transparency feature that backfired — beginners saw implementation details instead of intent
- Jargon accumulates invisibly: “curated”, “pipeline”, “LLM”, “RAG” each seemed fine individually but collectively created a wall of unfamiliar terms
- The OVERALL_VOICE.md principle “If a beginner reads this sentence and feels stupid, rewrite it” proved to be the most useful single test for every string
- Gemma’s identity shift from executor to companion required changes in awakening.py, shell.py chat prompt, COURSE_END_CONTEXT, and help menu — the framing touched more files than expected
- The HTML document needed updating in both the static file and the _build_insight_html() generator function — dual-source risk
Open Threads
- End-to-end tour validation with Ollama running and Docker active — needs live testing of all 11 steps
- Fresh-eyes walkthrough of entire student path from Module 00 through Module 09 awakening
- Verify all 13 recipes execute correctly with —do-it propagation in real tool runs
- The 5 new recipes use REPLACE: placeholders — confirm placeholder resolution works for all input types
Boundary Reminder: Seeds. No maintenance. No roadmap.