CHAPTER 16 VISUAL LAB - Trace the changed brief without publishing files
Book boards: 16a and 16b

PRACTICE ROUTINE
Cover the board answer. Predict aloud, try the example, compare with the
stated result, change one input, and try again. Explain a discrepancy
before changing another thing. All marketing examples are fictional.

Use boards 16a and 16b. Open walkthrough.py in Thonny and press F5. It reads
the supplied python/data/new_brief.csv and prints a focused trace. It writes
no files. It is a miniature for inspection, not a replacement for the final
project's strict validation and publication functions.

OPTIONAL SYSTEM-SHELL COMMAND FROM THE COMPANION ROOT
python visual_labs/ch16/walkthrough.py

EXPECTED OUTPUT
Workplace search: 20.00 | Within threshold
Referral email: 30.00 | Review
Organic checklist: 0.00 | Within threshold
Launch display: unavailable | No enquiries
Total cost: 630.00
Total enquiries: 28
Overall: 22.50

CHANGE, PREDICT, CHECK
In a practice copy, change threshold from 25 to 30. Predict which line changes.
Answer: Referral email changes to Within threshold because 30 is not strictly
greater than 30. Costs, counts, rates and overall totals stay the same.

CHECK THE COMPLETE PROJECT
Open python/test_chapter16.py in Thonny and run it for the fuller input,
calculation, boundary, output-preservation and changed-brief checks. Its
temporary files are cleaned up automatically. To produce actual report files,
follow the chapter's instructions for python/chapter16.py; successful runs
replace the two named generated files in python/output.

Explain why Launch display's cost remains in the overall numerator, despite
its unavailable individual rate. Excluding it would change the question.
