Lesson 31 — Build: a bounded agent performing a multi-step task
Unit V · Agency

L31_agentkit.py                              student     The agent kit (same as L29 and L30), with bounds and stopping conditions.
L31_build.py                                 student     Runs a task card: scripted policies, human mode or paste mode; saves the step log.
L31_task_card.txt                            student     Blank task card the learner fills in before running.
L31_example_card.txt                         student     Filled example card for G-VPN (T-107).
L31_example_card_slow.txt                    student     Filled example card for G-SLOW (T-108).
L31_step_evaluation.txt                      student     Step-level evaluation worksheet.
L31_runs/L31_gvpn_scripted_guesser.txt       student     Captured log: correct-looking end state through an invented address.
L31_runs/L31_gvpn_scripted_careful.txt       student     Captured log: careful policy on the same task.
L31_runs/L31_gslow_scripted_guesser.txt      student     Captured log: invented address refused by the RECIPIENTS bound.
L31_runs/L31_gslow_scripted_looper.txt       student     Captured log: repeated search stopped by MAX_REPEATS.
L31_refusal_demo_card.txt                    student     Demonstration card: G-PWD with RECIPIENTS: requester, for the refusal-that-does-not-stop run.
L31_runs/L31_gpwd_hasty_refused.txt          student     Captured log: hasty policy, send refused by the bound, ticket closed anyway with a false note.

Python 3.11 or newer. Standard library only. Run each program from the folder the lesson tells you to put it in:
    python <file>.py        (Windows)
    python3 <file>.py       (macOS and Linux)
