Step A (worked, fully shown): the exact fix, result = Box(52, 18, 9) annotated so the three args ARE the three axis sizes in mm (length=X, width=Y, height=Z); the read-out panel prints result.bounding_box().size so the learner connects code to geometry. Step B (guided variation): spec silently swaps to X=30, Y=30, Z=6 with the hint 'same primitive, new numbers, equal X and Y make a square footprint.' Step C (centering note, productive micro-failure): the learner discovers Box is centered on the origin by default (extents run -26 to +26 in X), and the read-out confirms the centroid sits at (0,0,0); a callout previews Pos(dx,dy,dz) * Box(...) for shifting a corner to the origin, foreshadowing Module 3 frames. Step D (independent, no code shown): final gate 01_box_final, spec X=52, Y=18, Z=9 mm centered on the origin, bound to result, only the spec card and Run button remain.