--- name: verification description: Use before claiming a task is done or a change works — confirm it actually does, then record that you did. Triggers when you're about to report completion, mark a task done, or say "it works" / "fixed". Guards against declaring success on unverified work. --- # Verification before completion "Done" means verified, not "written." Before you claim a change works or set a task `done`, confirm it against reality and record what you checked. ## Verify against reality - Exercise the actual behavior — run it, test it, observe the output. Prefer the real path over "it should work by inspection." - Check the thing the user actually asked for, not a proxy for it. - If you *can't* verify something (no environment, needs hardware, needs the operator), say so explicitly — name what's unverified rather than letting it read as passed. ## Record the result, then close - Log what you verified, and how, to the task with `add_task_log` — the check is part of the record, not a private step. - Only then set the task `done`. Never mark finished work you haven't confirmed, and never leave confirmed work sitting at `in_progress`. - If verification surfaced a problem, capture it as its own issue (`create_task(kind="issue")`) and keep the task open — a found problem is a pivot to record, not something to quietly skip. ## Honesty over optimism A truthful "verified X; could not verify Y" is worth more than a confident "done." The record is only useful if `done` reliably means done.