## 1. Schema

- [x] 1.1 `db/schema.sql`: status CHECK gains `closed` (update CREATE + idempotent drop/re-add ALTER); `make db-up`

## 2. Go

- [x] 2.1 `shouldAlert`: return false when status `closed` or `suspended`
- [x] 2.2 `tags.go`: `CloseTag` + `MoveTag` handlers (owner-only, HTMX panel responses)
- [x] 2.3 `Home` compat redirect: `productid` query → `/t/{productid}`
- [x] 2.4 Templates: tag-list Close + Move actions; tag-public closed state; routes in main.go

## 3. Admin

- [x] 3.1 TagResource status options + badge include `closed`

## 4. Verification

- [x] 4.1 New suite: close → page unavailable + no alert; move → target bound w/ copied details + source closed; move errors (owned/unset-missing/same); `/?x=5&productid=CODE` → 302 `/t/CODE`
- [x] 4.2 Regressions (72) green; deploy
- [x] 4.3 `openspec validate tag-lifecycle`; commit
