BUILDGOBLIN / BOUNDED FEATURE TASK Use this with your own coding agent in a COPY of SampleProject. Never point the exercise at your real game for the first run. PROMPT Read START-HERE.txt and the runtime/Editor source under Assets/BuildGoblin. Inspect WeaponState before editing. Implement the following change only: When reloading, allow the player to cancel reload with a second press of R. Cancelling must preserve the current ammo count. A subsequent reload must restart its full 1.2-second duration. Pausing must prevent starting OR cancelling reload, and must freeze an already-running reload timer. Before editing, list the acceptance checks and the files you intend to change. Preserve a local baseline outside the working copy. Do not alter the reference checks merely to hide a regression. Add explicit checks for cancellation, preserved ammo, full-duration restart and blocked cancellation while paused. Update the verifier's expected assertion set in a separate reviewed change. Keep UI wording accurate. Build the Windows player, seal the new payload, run reference plus seeded negative checks, and report observed results and limitations. Do not claim success from compilation alone. REVIEW QUESTIONS - Did you accidentally refill the magazine on cancellation? - Does rapid R input let a partial reload carry time into the next reload? - Can paused input cancel a reload while the UI says it is frozen? - Are the new assertions actually run in the native build? - Does the old reference behavior still pass? - Do deliberate faults still fail? - Did you update the expected assertion contract deliberately and visibly? WHY THERE IS NO BLIND APPLY BUTTON The point is to practice a bounded change with inspectable evidence. Agent outputs vary. Your model may produce a different valid implementation; review the behavior and evidence, not resemblance to a canned answer.