Tab decoration provider practice

Updated Jul 27, 2026

Roadmap item 1.3.1 introduces the golden-path tab-decoration provider seam. When adding or changing provider behaviour:

  • Register providers through renderer plugin hooks (getTabDecorationProviders) rather than ad hoc tab polling logic.
  • Keep provider ordering deterministic by sorting with this precedence: priority descending, then provider id lexicographically, then stable registration index.
  • Keep list-slot output bounded and deterministic: badges max 3 entries and widgets max 2 entries after deduplication.
  • Trigger tab-decoration refreshes from explicit events (subscribe callbacks or provider registration lifecycle), never from setInterval polling loops.
  • Add or update focused coverage in test/unit/tab-decoration-providers.test.ts and test/unit/tabs-decoration-updates.test.ts whenever merge or update logic changes.