tag-lifecycle: owner close (status closed, gating + page) + move (copy details to new tag, close source) + legacy ?productid= redirect — verified with real tags 6 & 17
This commit is contained in:
@@ -1,20 +1,20 @@
|
||||
## 1. Schema
|
||||
|
||||
- [ ] 1.1 `db/schema.sql`: status CHECK gains `closed` (update CREATE + idempotent drop/re-add ALTER); `make db-up`
|
||||
- [x] 1.1 `db/schema.sql`: status CHECK gains `closed` (update CREATE + idempotent drop/re-add ALTER); `make db-up`
|
||||
|
||||
## 2. Go
|
||||
|
||||
- [ ] 2.1 `shouldAlert`: return false when status `closed` or `suspended`
|
||||
- [ ] 2.2 `tags.go`: `CloseTag` + `MoveTag` handlers (owner-only, HTMX panel responses)
|
||||
- [ ] 2.3 `Home` compat redirect: `productid` query → `/t/{productid}`
|
||||
- [ ] 2.4 Templates: tag-list Close + Move actions; tag-public closed state; routes in main.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
|
||||
|
||||
- [ ] 3.1 TagResource status options + badge include `closed`
|
||||
- [x] 3.1 TagResource status options + badge include `closed`
|
||||
|
||||
## 4. Verification
|
||||
|
||||
- [ ] 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`
|
||||
- [ ] 4.2 Regressions (72) green; deploy
|
||||
- [ ] 4.3 `openspec validate tag-lifecycle`; commit
|
||||
- [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
|
||||
|
||||
Reference in New Issue
Block a user