Files
lefarcen 40894aea8d docs(chat): record the OPEND-2807 error-card ruling
The implementation this branch carried is already on main: #7897 (2026-09-08)
landed the handoff-presence exception and the 联系支持 -> 联系我们 label, and
#8140 (2026-09-16) collapsed the card to its final three-action shape. Not one
of the 38 code/test files this branch touched is missing from main, and main's
own specs are the stricter side. What main never got is the write-up.

So this PR keeps only the documentation, written against main's behaviour
rather than against the shape this branch proposed:

- specs/current/chat-panel-decisions-sheet.md gains the OPEND-2807 closing
  section: the two-environment × three-action table, main's three exceptions
  (host cannot take the handoff -> two actions; git_bash_missing -> no card at
  all; zero balance -> the upgrade card takes over), the four costs, the
  narrowed analytics surface, and the S13 copy that still tells users to switch
  models on a card with no model switcher. The predicates are quoted from
  ChatPane as it stands: showCloudRetry and showCloudSwitchCta.
- Two lines in that file were no longer true. The "4 buttons, A/B still waiting
  on product" note and the "conservative option A, ladder demoted to secondary"
  note are kept as history with a pointer to the ruling that overturned them.
- specs/current/run-error-catalog.md keeps §6.ZB's three-candidate table
  verbatim and marks it superseded; §6.T is flagged as historical, since the
  secondary-action tiers it maps have no landing place on today's card.
- apps/web/src/runtime/amr-guidance.ts had a comment pointing at ChatPane's
  errorActionVariant, a symbol #8140 deleted — it greps to zero on main. The
  comment now describes the two switches that actually decide the card.

Zero behaviour change: the only .ts diff is comment text.
2026-09-18 12:39:26 +08:00
..