Originally created by: Akarsh-Hegde
Removes the labels board-hygiene check end to end — the "No labels — add one to categorise it" nag and its "Add a label" fix no longer appear anywhere, and the label write-back machinery it drove is deleted as dead code.
The check added noise without value: labels are an optional, cosmetic board field, and for Linear the "fix" couldn't even be applied in-app (team-scoped label UUIDs), so it just bounced users out to the tracker.
Detection (daemon) — src/intelligence/task_triage/
TriageReason::MissingLabels variant, hint, fix, and the hygiene_issues checkFixControl::EditLabels, BoardUsage.labels + its detectionTicketSignals.tags and the pm_tasks.tags read in store.rs (only consumer was this check; the DB column is untouched)Hint/fix mapping — meridian-core/src/util/hygiene.rs and its port ui/lib/hygiene.ts (missing_labels arms; tests moved to other optional codes). Old missing_labels codes still stored in pm_task_curation.reasons_json now map to no fix and are filtered out — they disappear from the UI immediately and get rewritten on the next triage run.
UI controls — edit_labels input removed from HygieneDialog.tsx / CleanupCard.tsx
Write-back (now unreachable) — WriteField::AddLabel across ticket_update/: jira (edit_update helper now dead, removed), github (labels_url), azure_devops (merged_tags/merge_tags), linear (the label redirect + its issue_url helper), trello (redirect arm). WriteField::parse("labels", …) now returns None → the generic redirect, same as acceptance_criteria.
cargo clippy -p meridian -p meridian-core --all-targets -- -D warnings cleancargo test -p meridian -p meridian-core: 410 + core tests passcargo check -p meridian-tray compilesnpm run build (static export) + bun test 135 pass🤖 Generated with Claude Code
Originally posted by: coderabbitai[bot]
✨ Finishing Touches
🧪 Generate unit tests (beta)
- [ ] Create PR with unit tests - [ ] Commit unit tests in branch `fix/remove-labels-hygiene`Comment
@coderabbitai helpto get the list of available commands.Originally posted by: Akarsh-Hegde
Review items addressed — c990e314
Fixed in this PR (items 1–3, stale docs):
github.rsmodule doc no longer lists labels among the fields applied in-app.azure_devops.rsmodule doc no longer mentions the deleted tags read-modify-write — onlyparentneeds a relation op now.trello.rsmodule doc and the redirect-test comment no longer describe labels as a redirected field.Deferred as follow-ups (as the review itself suggested):
pm_tasks.tagswrite-only column — the provider syncs still write it. Dropping those writes (or repurposing the column via CDM'sCanonicalTask.labels) touches all five sync modules and is out of scope for this removal PR.field_nameduplication across the five providers — predates this PR; candidate for aWriteField::field_key()hoist in a separate cleanup.Full pre-push suite (fmt, clippy, UI build + tests, security audit, cargo test) ran clean on push.
🤖 Generated with Claude Code
Ticket changed by: Akarsh-Hegde