cmux NEXT Chief Home: the pinned Needs you card is opt-in, off by default

Merged
TE
3d ago
+516-12

Fix-forward for #33817. Leo, 2026-11-03:

This thing the claude-coord-sr2 misinterpreted my request
I just wanted to see permission things, period, not a pinned thing by default. Toggle-on, yes, but I haven't verified the looks of that yet

and earlier: "oh stuff yeah actually we should be able to surface permissions/multiple choice related things inside chief".

#33817 put a pinned Needs you card over every Chief conversation by default. Leo did not ask for that. This PR makes the card opt-in and off by default. Its look has not been verified or approved by Leo.

What changes

  • New setting, off by default: Settings > Notifications > Feed > Pin Needs You in Chief (feed.needsYouInChief). Help text: "Open requests, such as permission prompts and questions, are pinned at the top of your Chief's conversation. The Feed always lists them."
  • Off (the default): nothing is pinned and the Chief transcript is unchanged. The watch reads no Feed state while the setting is off, so Feed changes don't wake it.
  • On: the card behaves as in #33817 and switches live when the setting changes (it reads the observable settings snapshot inside the same ObservationStream). The Debug style variants (feed.needsYouStyle: rows, cards, bar) still apply.
  • Unchanged: the Feed's own requests and permission items (its pinned requests, inline answers, Inbox) and the feature code. Nothing was removed.
  • Agents may not set the key (.userOnly): the person decides whether it pins over their chat.
  • The label and help are localized in CmuxNextSettings' catalog for all 21 of its locales.

Context read (Leo's recent drafts and issues)

These describe how permission and question items surface today: in the Feed's Needs you requests, on the iPhone, and as Chief approval cards. I read them as background only; Leo's correction above decides this PR.

Testing

HomeNeedsYouTests (CmuxNextAppTests):

  • new itIsOffByDefaultAndTheSettingTurnsItOn: unset cmux.json reads off, {"feed":{"needsYouInChief":true}} reads on, and the Settings row defaults to false;
  • new offPinsNothingAndOnPinsTheFeedsRequestsLive: with a request waiting and the toggle off, nothing is pinned while the Feed still lists the request; turning the toggle on pins it without a restart;
  • onlyAChiefsConversationShowsItAndOnlyWhileSomethingWaits now also checks that off shows nothing;
  • the four existing tests are otherwise unchanged and still cover the on path.

Runs: see the comments below for the fleet compile (cmux-ci compile-check --app) and the HomeNeedsYouTests suite at the head.

Settings exports (schemas/settings, docs/mdm) are regenerated by the PR autofix.

Agent session: agent session

🤖 Generated with Claude Code


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Makes the pinned Needs you card over Chief conversations opt-in and off by default, per Leo's direction to fix forward #33817.

The card appears only when Settings > Notifications > Feed > Pin Needs You in Chief (feed.needsYouInChief) is on. Off (the default), the Chief transcript is unchanged and the Feed still lists all requests. On, the card pins the Feed's open requests under the Chief header and switches live without a restart. The card's visual style was not verified by Leo.

New Features

  • Adds the feed.needsYouInChief setting, marked .userOnly so agents cannot turn it on for the person.
  • Localizes the setting label and help text for all 21 of CmuxNextSettings' locales.

Testing

  • Adds HomeNeedsYouTests coverage for the off-by-default state, the live toggle-on path, and that nothing is pinned while the setting is off.
  • The existing tests still cover the enabled path unchanged.

Settings exports (schemas/settings, schemas/defaults, docs/mdm) are regenerated.