2026-05-27 09:41:48 -04:00
|
|
|
---
|
|
|
|
|
name: rename-collections-vocabulary
|
|
|
|
|
classification: feature
|
|
|
|
|
success_metric: |
|
|
|
|
|
UI copy reads "My Collection" (ownership) and "Lists" / "Binders" (curated
|
|
|
|
|
lists); no rendered string "Owned Cards" / "Mark Owned" / "All My Cards"
|
|
|
|
|
remains in pages/ or components/; schema unchanged; AGENTS.md extended
|
|
|
|
|
with vocabulary table.
|
|
|
|
|
skip:
|
|
|
|
|
- arch
|
2026-06-02 09:48:42 -04:00
|
|
|
status: shipped
|
2026-05-27 09:41:48 -04:00
|
|
|
created: 2026-05-27
|
2026-05-29 11:01:03 -04:00
|
|
|
closed: 2026-05-29
|
|
|
|
|
pr: 54
|
2026-05-27 09:41:48 -04:00
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# Convoy: rename-collections-vocabulary
|
|
|
|
|
|
|
|
|
|
Align user-facing copy with the product taxonomy: owned cards vs curated lists.
|
|
|
|
|
|
2026-06-02 09:48:42 -04:00
|
|
|
**As-shipped:** PR #54 (squash `fd78114`, 2026-05-29) + vocabulary follow-up PR #55 (`c197dc6`, 2026-05-29).
|
2026-05-29 11:01:03 -04:00
|
|
|
|
2026-05-27 09:41:48 -04:00
|
|
|
## Why
|
|
|
|
|
|
|
|
|
|
The scanner audit and IA review found inconsistent vocabulary: "Owned Cards",
|
|
|
|
|
"Mark Owned", and "All My Cards" imply a different mental model than the
|
|
|
|
|
schema (global `cards` catalog vs per-user ownership via `user_cards` vs
|
|
|
|
|
curated `collections`). Users confuse "my collection" (everything I own) with
|
|
|
|
|
"lists/binders" (curated subsets). This convoy is copy + docs only — no
|
|
|
|
|
schema migration.
|
|
|
|
|
|
|
|
|
|
## Scope
|
|
|
|
|
|
|
|
|
|
### In scope
|
|
|
|
|
|
|
|
|
|
- **Brief 1 — UI copy sweep** (~20 files in `pages/` + `components/`):
|
|
|
|
|
- Replace stale strings per vocabulary table (IA architect supplies full
|
|
|
|
|
inventory).
|
|
|
|
|
- Target removals: `"Owned Cards"`, `"Mark Owned"`, `"All My Cards"`.
|
|
|
|
|
- Canonical replacements: **"My Collection"** (ownership), **"Lists"** /
|
|
|
|
|
**"Binders"** (curated lists).
|
|
|
|
|
- **Brief 2 — docs + rules**
|
|
|
|
|
- `AGENTS.md` § Branding — vocabulary table.
|
|
|
|
|
- `.cursor/rules/ui-and-theming.mdc` — copy conventions.
|
|
|
|
|
- `docs/SCHEMA_MAP.md` — clarify naming vs UI labels (no DDL change).
|
|
|
|
|
- **`.github/workflows/ci.yml`** — new `forbidden-stale-strings` grep gate
|
|
|
|
|
(~30s): fail if `"Mark Owned"`, `"Owned Cards"`, or `"All My Cards"`
|
|
|
|
|
appear in `pages/` or `components/`.
|
|
|
|
|
|
|
|
|
|
### Out of scope
|
|
|
|
|
|
|
|
|
|
- **Schema renames** — table/column names stay; UI copy only.
|
|
|
|
|
- **URL slug changes** — `/collections` path unchanged in v1.
|
|
|
|
|
- **Architecture decisions** — `skip: arch`; IA + UX run explicitly.
|
2026-05-29 11:01:03 -04:00
|
|
|
- **Admin UI** — separate pass if needed.
|
2026-05-27 09:41:48 -04:00
|
|
|
|
|
|
|
|
## Todos
|
|
|
|
|
|
2026-05-29 11:01:03 -04:00
|
|
|
- [x] IA: publish vocabulary table + grep inventory of stale strings
|
|
|
|
|
- [x] UX: review scanner + nav + collection views for consistency
|
|
|
|
|
- [x] Brief 1 — pages/ + components/ copy sweep
|
|
|
|
|
- [x] Brief 2 — AGENTS.md + rules + SCHEMA_MAP glossary
|
|
|
|
|
- [x] Add `forbidden-stale-strings` CI job
|
2026-05-27 09:41:48 -04:00
|
|
|
|
|
|
|
|
## Out of scope follow-ups
|
|
|
|
|
|
|
|
|
|
- **`schema-cleanup-from-scanner-audit`** — `is_system_collection` vs
|
|
|
|
|
`user_cards` unification (separate convoy).
|
|
|
|
|
- **`rename-repo-and-vercel-project`** — infra naming, not UI copy.
|
2026-05-29 11:01:03 -04:00
|
|
|
- **Existing DB seed descriptions** — users registered pre-#54 retain the old
|
|
|
|
|
system-list description until a one-off data migration or manual edit.
|