Skip to content

Pulse Work board hardcodes legacy pai-sync label (rebrand artifact) — brittle filter leaks the sync marker as a chip if renamed #1497

Description

@lgangitano

Summary

The Pulse Work Kanban hides the sync-marker label by matching the hardcoded literal "pai-sync" in three places:

LIFEOS/PULSE/Observability/src/app/work/page.tsx:

  • 301: const labels = (issue.labels || []).filter((l) => l !== "pai-sync");
  • 720: {(it.labels || []).filter((l) => l !== "pai-sync").length > 0 && (
  • 722: {(it.labels || []).filter((l) => l !== "pai-sync").map((l) => (

pai-sync is a leftover from the PAI → LifeOS rebrand — the project and docs are "LifeOS", but the work-system sync marker is still named pai-sync (label + emitters + this filter).

Impact

Because the filter is a single hardcoded string, any install that renames the marker to a LifeOS-consistent name (e.g. lifeos-sync) has it stop matching — the sync marker then renders as a visible pill on every synced Kanban card (cosmetic, but on every card). More broadly, the pai-* naming (pai-sync, and sibling pai-* conventions) is inconsistent with the LifeOS brand.

Suggested fix (pick one)

  • Rename the marker end-to-end to lifeos-sync (label taxonomy + whatever emits it + these three filters), or
  • Filter against a small set of known internal markers instead of a single literal, so a rename can't leak the chip:
    const HIDDEN = new Set(["pai-sync", "lifeos-sync", "auto-native", "auto-sweep"]);
    (issue.labels || []).filter((l) => !HIDDEN.has(l))

Environment

Found on a downstream LifeOS install; line numbers match main at time of filing (verified against the raw page.tsx). Cosmetic-only; no data impact.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions