OPER-9
decide: ticket taxonomy convention (module column + labels + projectId)
Body
## Context Yesterday's ticket plan proposed a labeling scheme (`project:ledger`, `wave:1`, `epic:*`) and heavy use of `Task.projectId` + `Task.module`. Audit of prod OPER-1..8 shows: - `module` column is empty across all existing tickets - `projectId` is null across all OPER-* tickets (only "Reliability" exists, and it belongs to the portico team) - `labels` are used freeform (`sweet-unblock`, `assignment`, `extraction`, `platform`, `docs`, etc.) — no `project:*` / `wave:*` / `epic:*` prefix in use - Portico ticket taxonomy is its own thing (POR-* on portico team) Without a decision, two conventions will run in parallel until one wins organically. This ticket is the decision. ## Acceptance Criteria - [ ] Pick one convention for `Task.module` (populate always, populate only for platform work, or ignore) - [ ] Pick one convention for `Task.labels` (freeform vs. `key:value` scheme) - [ ] Pick one convention for `Task.projectId` (create Project rows per module, per initiative, or skip entirely) - [ ] Document decision in `operant-studio/docs/ticket-taxonomy.md` - [ ] Backfill OPER-1..8 to match decision (or explicitly grandfather them) ## Options **A — freeform (current)**: keep labels loose, ignore `module`/`projectId`. Cheapest. **B — module-only nudge**: populate `Task.module` on every new ticket (dispatcher, ledger, dashboard-task, etc.), keep labels freeform. One field, low overhead. **C — full scheme**: `module` + `project:*` labels + create Project rows per module. Highest fidelity, highest maintenance. ## Files Touched - operant-studio/docs/ticket-taxonomy.md (new) ## Dependencies - blocks: any large-batch ticket filing ## Verification None — decision ticket.
Attachments
Loading attachments…
Comments
Loading comments…