---
id: w4/m16/t009
title: "Closeout — DoD met → move milestone to done/"
worker: worker4
status: done
estimate: 10m
depends_on: [w4/m16/t008]
---

## Objective

Close w4/m16 once — and only once — its definition of done actually holds: the untrusted-client consent flow is proven by the extended `scripts/auth-oauth21-e2e.sh` (exit 0: approve/deny/remember/trusted legs), docs no longer describe deny-by-default as the end state, and the hardening invariants are tested. Then perform the board move.

## Context

- `.pm` conventions: completing this task IS the move (`/pm done w4/m16/t009` triggers it).

## Steps

1. Verify the DoD line-by-line against evidence (e2e exit 0, tests green, docs updated).
2. Set every task `status: done`, move each `tNNN.md` to `w4/m16/done/`, mark rows `— **DONE**`, set `**Status:** done`.
3. Move `w4/m16/` → `w4/done/m16/`; check `- [x]` in `w4/README.md`.
4. Prettier pass over touched markdown.

## Files

- `.pm/w4/m16/` (whole directory)
- `.pm/w4/README.md`

## Acceptance criteria

- [ ] DoD verified with evidence before any move; board state synced in all three places.

## Out of scope

- Declaring done on written-but-unverified code.
