Session Info is called Session Info in its code, not Inspector

TE
4d ago
+2629-2367

Leo, 2026-10-31: "i showed you the fing session info (WHY THE F IS IT STILL CALLED INSPECTOR IN THE CODE STOP CALLING IT THAT".

#28952 renamed everything a person reads to Session Info and left the code's inspector ids. This renames the code: the agent pane's right-hand panel is Session Info in its identifiers, files, classes and keys too. No behavior change.

What was renamed

  • webviews/src/agent-session/acpmux/inspector/ -> session-info/ (git mv): ChatInspector.tsx -> SessionInfo.tsx, inspectorState.ts -> sessionInfoState.ts, underInspector.ts -> underSessionInfo.ts, inspector.css -> sessionInfo.css, InspectorSection/Group/Motion/Surfaces/WorstContent -> SessionInfo*.
  • Every exported identifier (useChatInspector -> useSessionInfo, InspectorPanel, InspectorSection, InspectorSectionId, InspectorProcess, setInspectorOpen, resetInspectorState, INSPECTOR_WIDTH, ... -> SessionInfo* / sessionInfo* / SESSION_INFO_*) and their users (App.tsx, header, summary, computer-use preview, galleries, tests), the header state's inspector field (HeaderState.sessionInfo), ChatDisplay.sessionInfo, ChatHeaderTools's sessionInfo prop.
  • CSS classes acpmux-chat-inspector-* -> acpmux-session-info-*, custom properties --acpmux-inspector-* -> --acpmux-session-info-*, the data-inspector-chat-placement attribute; selectors in visual-gate states, tours, clips and the gallery geometry baseline follow.
  • Catalog keys chatInspector.* -> sessionInfo.* in webviews/src/agent-session/acpmux/Localizable.xcstrings (keys only: values, comments, translations and key order byte-identical, checked by script).
  • Tests webviews/test/chat-inspector-*.test.ts(x) and inspector-*.test.ts(x) -> session-info-* (git mv), their names and locals; the test-determinism allowlist and .github/design-surfaces.json paths follow.
  • Swift: AgentPaneTunables.inspector -> AgentPaneTunables.sessionInfo, AgentPaneHeaderState.inspector -> .sessionInfo, AgentPaneInspectorHeaderTests -> AgentPaneSessionInfoHeaderTests, and comments that meant this panel.

Kept names (saved state and wire names)

Each sits behind a renamed identifier with a one-line comment where it is defined:

  • agent.inspector: the Debug Settings key (AgentPaneTunables.sessionInfo).
  • cmux.agentPane.inspector.open|width|sections|pane.*|index|order: localStorage keys (sessionInfoState.ts, sectionOrder.ts).
  • agentPane.display.inspector.placement (SESSION_INFO_PLACEMENT_KEY) and its Swift catalog keys settings.agentPane.display.inspector*, settings.choice.agentChatInspector*: the saved setting and its generated schema.
  • inspector in the header state the App sends (AgentPaneHeaderState.json, pane.tabState, applyHeaderState): read into sessionInfo on the page.
  • "inspector": the native row tool id for Session Info's toggle (NativeRowPanel.id).
  • Gallery entry ids agent-pane.chat-inspector, agent-pane.inspector-motion, agent-pane.inspector-worst-content, agent-pane.chat-inspector-surfaces, and gallery state names other tools read (beside-inspector, under-pushed-inspector, inspector-pushed-tab-row, preview-pushed-inspector-tab-row).

Not renamed, because they are other inspectors: the event (ACP) Inspector (Inspector.tsx, inspector.* strings, toggleInspector, AgentPaneView+Inspector.swift, agentPane.toggleInspector), the Memory Inspector, the Web Inspector / DevTools, the pointer inspector, the optchat/Chief inspector pages, and Ghostty's inspector.

The lint

check:session-info-names (scripts/cmux-next/check-session-info-names.py, in webviews' check:pieces) fails on /inspector/i in code (comments excluded), file names and class names under session-info/, webviews/test/session-info* and the two Swift Session Info files, with an allowlist (ALLOW) of the kept names above. session-info-name.test.ts and session-info-palette.test.ts are exempt: their subject is the word itself / the event Inspector beside the panel. scripts/cmux-next/tests/check-session-info-names.test.sh covers it (fixtures, --self-test, the real tree).

Why one PR

About 218 files, nearly all mechanical renames and the follow-on import, class and selector edits. Splitting it would leave half the panel under each name in between, and every open PR that touches the panel rebases once instead of twice.

Changelog

none

Observed / Not run

  • Ran: the checker and its test (clean on the tree), prepush-gate.py (no new violations), the catalog key-only check. Fleet runs of bun run check + the touched webview tests and the CmuxNext compile-check are in the comments.
  • Open PRs that touch acpmux/inspector/ (mostly teamleaderleo's lanes) rebase onto the new paths.

Takes back #25208: no behavior is taken back; this PR only renames the Session Info identifiers (inspectorSubagent, revealInspector, ...) on App.tsx lines #25208 wrote.

Risk: rename, no behavior change. The risk gate rates it high only for comment edits in AcpmuxPaneMethods.swift and AgentPaneReplyRequest.swift (no allowlist entry changed).

Agent session: agent session

🤖 Generated with Claude Code


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


Summary by cubic

Renames the agent pane's right-hand panel to Session Info in its code, not Inspector, matching the user-facing name from #28952. This renames identifiers, file paths, CSS classes, catalog keys, and Swift declarations across ~218 files; there is no behavior change and no saved data is affected.

What stays inspector

  • Storage keys and wire names that a rename would break: the Debug Settings key agent.inspector, localStorage keys, the saved setting keys, the header state field the page reads, and the native row tool id.
  • Gallery entry ids (agent-pane.chat-inspector, agent-pane.inspector-*) and gallery state names other tools read (beside-inspector, under-pushed-inspector, inspector-pushed-tab-row, preview-pushed-inspector-tab-row).
  • Names of the other inspectors (event ACP, Memory, Web/DevTools, pointer, Ghostty) are untouched.

New lint

  • Adds check:session-info-names (scripts/cmux-next/check-session-info-names.py) to fail on inspector in Session Info's code and file names, with an allowlist of the kept names above.