Session Info is called Session Info in its code, not Inspector
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'sinspectorfield (HeaderState.sessionInfo),ChatDisplay.sessionInfo,ChatHeaderTools'ssessionInfoprop. - CSS classes
acpmux-chat-inspector-*->acpmux-session-info-*, custom properties--acpmux-inspector-*->--acpmux-session-info-*, thedata-inspector-chat-placementattribute; selectors in visual-gate states, tours, clips and the gallery geometry baseline follow. - Catalog keys
chatInspector.*->sessionInfo.*inwebviews/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)andinspector-*.test.ts(x)->session-info-*(git mv), their names and locals; the test-determinism allowlist and.github/design-surfaces.jsonpaths 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 keyssettings.agentPane.display.inspector*,settings.choice.agentChatInspector*: the saved setting and its generated schema.inspectorin the header state the App sends (AgentPaneHeaderState.json,pane.tabState,applyHeaderState): read intosessionInfoon 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 ofbun 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](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
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 oninspectorin Session Info's code and file names, with an allowlist of the kept names above.