The generated name was written into customTitle, the user-intent slot, so
a provider name and a rename the user typed were indistinguishable.
TerminalTab and Tab now carry conversationName, ranked directly below the
user's rename and above everything derived, in both title resolvers and
in getAgentRowConversationName - so it still skips the live-title
sanitizer that exists to launder scraped OSC titles, without ever
outranking a rename.
Extracts workspace-tab-palette-active-tab.ts to keep the palette entry
builder under the max-lines cap. Adds the wire-compatibility note for the
session-tab sync channel the cross-version harness does not cover.