diff --git a/frontend/src/pages/EnterpriseSettings.tsx b/frontend/src/pages/EnterpriseSettings.tsx index 17aa8953f..25a12aa49 100644 --- a/frontend/src/pages/EnterpriseSettings.tsx +++ b/frontend/src/pages/EnterpriseSettings.tsx @@ -1257,6 +1257,8 @@ export default function EnterpriseSettings() { return aMeta.label.localeCompare(bMeta.label); }) .map(([category, catTools]) => { + // System tools are Runtime protocol details, not company-managed capabilities. + if (category === 'system') return null; const allCatTools = allGrouped[category] || catTools; const meta = getToolGroupMeta(category, allCatTools); const hasCategoryConfig = !!GLOBAL_CATEGORY_CONFIG_SCHEMAS[meta.configCategory]; diff --git a/frontend/tests/enterpriseToolVisibility.test.mjs b/frontend/tests/enterpriseToolVisibility.test.mjs new file mode 100644 index 000000000..92328c364 --- /dev/null +++ b/frontend/tests/enterpriseToolVisibility.test.mjs @@ -0,0 +1,13 @@ +import assert from 'node:assert/strict'; +import { readFileSync } from 'node:fs'; +import test from 'node:test'; + +const source = readFileSync( + new URL('../src/pages/EnterpriseSettings.tsx', import.meta.url), + 'utf8', +); + +test('company settings do not render the protocol-level system tools group', () => { + assert.match(source, /if \(category === 'system'\) return null/); + assert.doesNotMatch(source, /visibleGlobalTools/); +});