Files
ai-workflow-course/modules/12-revert-reset-and-recovery/lab/bad-clear-snippet.py
T
claude fbec36cb67 feat(course): build out all 27 modules, capstone, scaffold, and conventions
Scaffold the course repo and author the full curriculum in dependency-chain
order, following the settled build decisions in handoff.md.

- Scaffold: course README, vendor-neutral AGENTS.md (dogfoods Module 5),
  _TEMPLATE.md (the fixed 9-section module shape), root .gitignore, ship config.
- Modules 1-2: reference exemplars (locked for tone/depth/lab style).
- Modules 3-27: full lessons + runnable labs, each following the template,
  respecting the chain, vendor/model-agnostic, with "feel the pain" labs.
- Module 8 hosting comparison web-researched and date-stamped (as of 2026-06-22),
  not written from memory; expansion-zone modules carry Verify-before-publish.
- Capstone: the full loop end to end on the running tasks-app example.

Lab code syntax-checked (Python/shell/YAML); every module has the 7 core
template sections.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TfzV5QvtPDz8LJS3Pu5VLT
2026-06-22 12:18:30 -04:00

20 lines
991 B
Python

# Module 12 lab — the deliberately BROKEN `clear` command.
#
# Paste the elif block below into cli.py's main(), alongside the other
# `elif command == "..."` branches (e.g. right after the "done" branch).
# Do NOT paste this header or the import line into cli.py if json is already
# imported there (it is) — just the elif block.
#
# Why it's broken: it "works" once (prints a friendly message), but it writes
# the state file in the WRONG SHAPE. The next time the app loads tasks.json,
# load() tries to build Task(**t) from a plain string and crashes. Classic
# AI plausibility trap: reviews fine, runs fine once, breaks the next command.
#
# This exists so the lab's bad merge is deterministic across every learner.
elif command == "clear":
# BAD on purpose: dumps a bare string list instead of a list of task
# dicts, so the next load() -> Task(**t) blows up with a TypeError.
STATE.write_text(json.dumps(["cleared"]))
print("cleared all tasks")