Reduce internal-only labeling noise in source comments (#355)

This pass rewrites comment-only ANT-ONLY markers to neutral internal-only
language across the source tree without changing runtime strings, flags,
commands, or protocol identifiers. The goal is to lower obvious internal
prose leakage while keeping the diff mechanically safe and easy to review.

Constraint: Phase B is limited to comments/prose only; runtime strings and user-facing labels remain deferred
Rejected: Broad search-and-replace across strings and command descriptions | too risky for a prose-only pass
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Remaining ANT-ONLY hits are mostly runtime/user-facing strings and should be handled separately from comment cleanup
Tested: bun run build
Tested: bun run smoke
Tested: bun run verify:privacy
Tested: bun run test:provider
Tested: bun run test:provider-recommendation
Not-tested: Full repo typecheck (upstream baseline remains noisy)

Co-authored-by: anandh8x <test@example.com>
This commit is contained in:
Anandan
2026-04-04 23:26:14 +05:30
committed by GitHub
parent 9e84d2fddc
commit 2f162af60c
96 changed files with 160 additions and 160 deletions

View File

@@ -408,7 +408,7 @@ async function countBuiltInToolTokens(
)
: 0
// Build per-tool breakdown for always-loaded tools (ant-only, proportional
// Build per-tool breakdown for always-loaded tools (internal-only, proportional
// split of the bulk count based on rough schema size estimation). Excludes
// SkillTool since its tokens are shown in the separate Skills category.
let systemToolDetails: SystemToolDetail[] = []

View File

@@ -1,4 +1,4 @@
// biome-ignore-all assist/source/organizeImports: ANT-ONLY import markers must not be reordered
// biome-ignore-all assist/source/organizeImports: internal-only import markers must not be reordered
import {
logEvent,
type AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,

View File

@@ -96,7 +96,7 @@ export function shouldAutoRunIssue(reason: AutoRunIssueReason): boolean {
/**
* Returns the appropriate command to auto-run based on the reason
* ANT-ONLY: good-claude command only exists in ant builds
* internal-only: good-claude command only exists in ant builds
*/
export function getAutoRunCommand(reason: AutoRunIssueReason): string {
// Only ant builds have the /good-claude command

View File

@@ -417,7 +417,7 @@ export async function getGcsDistTags(): Promise<NpmDistTags> {
}
/**
* Get version history from npm registry (ant-only feature)
* Get version history from npm registry (internal-only feature)
* Returns versions sorted newest-first, limited to the specified count
*
* Uses NATIVE_PACKAGE_URL when available because:

View File

@@ -58,7 +58,7 @@ export async function parseCommand(
): Promise<ParsedCommandData | null> {
if (!command || command.length > MAX_COMMAND_LENGTH) return null
// Gate: ant-only until pentest. External builds fall back to legacy
// Gate: internal-only until pentest. External builds fall back to legacy
// regex/shell-quote path. Guarding the whole body inside the positive
// branch lets Bun DCE the NAPI import AND keeps telemetry honest — we
// only fire tengu_tree_sitter_load when a load was genuinely attempted.

View File

@@ -232,9 +232,9 @@ export type GlobalConfig = {
}
primaryApiKey?: string // Primary API key for the user when no environment variable is set, set via oauth (TODO: rename)
hasAcknowledgedCostThreshold?: boolean
hasSeenUndercoverAutoNotice?: boolean // ant-only: whether the one-time auto-undercover explainer has been shown
hasSeenUltraplanTerms?: boolean // ant-only: whether the one-time CCR terms notice has been shown in the ultraplan launch dialog
hasResetAutoModeOptInForDefaultOffer?: boolean // ant-only: one-shot migration guard, re-prompts churned auto-mode users
hasSeenUndercoverAutoNotice?: boolean // internal-only: whether the one-time auto-undercover explainer has been shown
hasSeenUltraplanTerms?: boolean // internal-only: whether the one-time CCR terms notice has been shown in the ultraplan launch dialog
hasResetAutoModeOptInForDefaultOffer?: boolean // internal-only: one-shot migration guard, re-prompts churned auto-mode users
oauthAccount?: AccountInfo
iterm2KeyBindingInstalled?: boolean // Legacy - keeping for backward compatibility
editorMode?: EditorMode
@@ -405,7 +405,7 @@ export type GlobalConfig = {
// Claude Code usage tracking
claudeCodeFirstTokenDate?: string // ISO timestamp of the user's first Claude Code OAuth token
// Model switch callout tracking (ant-only)
// Model switch callout tracking (internal-only)
modelSwitchCalloutDismissed?: boolean // Whether user chose "Don't show again"
modelSwitchCalloutLastShown?: number // Timestamp of last shown (don't show for 24h)
modelSwitchCalloutVersion?: string
@@ -457,7 +457,7 @@ export type GlobalConfig = {
// Cached GrowthBook feature values
cachedGrowthBookFeatures?: { [featureName: string]: unknown }
// Local GrowthBook overrides (ant-only, set via /config Gates tab).
// Local GrowthBook overrides (internal-only, set via /config Gates tab).
// Checked after env-var overrides but before the real resolved value.
growthBookOverrides?: { [featureName: string]: unknown }
@@ -545,7 +545,7 @@ export type GlobalConfig = {
// PR status footer configuration (feature-flagged via GrowthBook)
prStatusFooterEnabled?: boolean // Show PR review status in footer (default: true)
// Tmux live panel visibility (ant-only, toggled via Enter on tmux pill)
// Tmux live panel visibility (internal-only, toggled via Enter on tmux pill)
tungstenPanelVisible?: boolean
// Cached org-level fast mode status from the API.
@@ -564,10 +564,10 @@ export type GlobalConfig = {
// undefined = no cache, null = extra usage enabled, string = disabled reason.
cachedExtraUsageDisabledReason?: string | null
// Auto permissions notification tracking (ant-only)
// Auto permissions notification tracking (internal-only)
autoPermissionsNotificationCount?: number // Number of times the auto permissions notification has been shown
// Speculation configuration (ant-only)
// Speculation configuration (internal-only)
speculationEnabled?: boolean // Whether speculation is enabled (default: true)
@@ -913,7 +913,7 @@ let lastReadFileStats: { mtime: number; size: number } | null = null
let configCacheHits = 0
let configCacheMisses = 0
// Session-total count of actual disk writes to the global config file.
// Exposed for ant-only dev diagnostics (see inc-4552) so anomalous write
// Exposed for internal-only dev diagnostics (see inc-4552) so anomalous write
// rates surface in the UI before they corrupt ~/.claude.json.
let globalConfigWriteCount = 0
@@ -1125,7 +1125,7 @@ export function getGlobalConfig(): GlobalConfig {
/**
* Returns the effective value of remoteControlAtStartup. Precedence:
* 1. User's explicit config value (always wins — honors opt-out)
* 2. CCR auto-connect default (ant-only build, GrowthBook-gated)
* 2. CCR auto-connect default (internal-only build, GrowthBook-gated)
* 3. false (Remote Control must be explicitly opted into)
*/
export function getRemoteControlAtStartup(): boolean {

View File

@@ -1,4 +1,4 @@
// biome-ignore-all assist/source/organizeImports: ANT-ONLY import markers must not be reordered
// biome-ignore-all assist/source/organizeImports: internal-only import markers must not be reordered
import { CONTEXT_1M_BETA_HEADER } from '../constants/betas.js'
import { getGlobalConfig } from './config.js'
import { isEnvTruthy } from './envUtils.js'
@@ -53,7 +53,7 @@ export function getContextWindowForModel(
model: string,
betas?: string[],
): number {
// Allow override via environment variable (ant-only)
// Allow override via environment variable (internal-only)
// This takes precedence over all other context window resolution, including 1M detection,
// so users can cap the effective context window for local decisions (auto-compact, etc.)
// while still using a 1M-capable endpoint.

View File

@@ -50,7 +50,7 @@ import {
import { jsonStringify } from './slowOperations.js'
import type { ContentReplacementRecord } from './toolResultStorage.js'
// Dead code elimination: ant-only tool names are conditionally required so
// Dead code elimination: internal-only tool names are conditionally required so
// their strings don't leak into external builds. Static imports always bundle.
/* eslint-disable @typescript-eslint/no-require-imports */
const BRIEF_TOOL_NAME: string | null =

View File

@@ -58,7 +58,7 @@ export const parseDebugFilter = memoize(
* - "category: message" -> ["category"]
* - "[CATEGORY] message" -> ["category"]
* - "MCP server \"name\": message" -> ["mcp", "name"]
* - "[ANT-ONLY] 1P event: tengu_timer" -> ["ant-only", "1p"]
* - "[internal-only] 1P event: tengu_timer" -> ["internal-only", "1p"]
*
* Returns lowercase categories for case-insensitive matching
*/
@@ -85,7 +85,7 @@ export function extractDebugCategories(message: string): string[] {
}
// Pattern 4: Check for additional categories in the message
// e.g., "[ANT-ONLY] 1P event: tengu_timer" should match both "ant-only" and "1p"
// e.g., "[internal-only] 1P event: tengu_timer" should match both "internal-only" and "1p"
if (message.toLowerCase().includes('1p event:')) {
categories.push('1p')
}

View File

@@ -1,4 +1,4 @@
// biome-ignore-all assist/source/organizeImports: ANT-ONLY import markers must not be reordered
// biome-ignore-all assist/source/organizeImports: internal-only import markers must not be reordered
import { isUltrathinkEnabled } from './thinking.js'
import { getInitialSettings } from './settings/settings.js'
import { isProSubscriber, isMaxSubscriber, isTeamSubscriber } from './auth.js'

View File

@@ -107,7 +107,7 @@ export function _resetTmuxControlModeProbeForTesting(): void {
/**
* Whether fullscreen (flicker-free) mode is enabled. Env var takes highest
* precedence, then the `flickerFreeMode` config setting, then the ant-only
* precedence, then the `flickerFreeMode` config setting, then the internal-only
* default. External users can enable via `/config` instead of setting the env.
*
* Priority order:

View File

@@ -1,4 +1,4 @@
// biome-ignore-all assist/source/organizeImports: ANT-ONLY import markers must not be reordered
// biome-ignore-all assist/source/organizeImports: internal-only import markers must not be reordered
/**
* Hooks are user-defined shell commands that can be executed at various points
* in Claude Code's lifecycle.

View File

@@ -84,7 +84,7 @@ export function buildSystemInitMessage(inputs: SystemInitInputs): SDKMessage {
})),
uuid: randomUUID(),
}
// Hidden from public SDK types — ant-only UDS messaging socket path
// Hidden from public SDK types — internal-only UDS messaging socket path
if (feature('UDS_INBOX')) {
/* eslint-disable @typescript-eslint/no-require-imports */
;(initMessage as Record<string, unknown>).messaging_socket_path =

View File

@@ -29,7 +29,7 @@ export type AntModelOverrideConfig = {
switchCallout?: AntModelSwitchCalloutConfig
}
// @[MODEL LAUNCH]: Update tengu_ant_model_override with new ant-only models
// @[MODEL LAUNCH]: Update tengu_ant_model_override with new internal-only models
// @[MODEL LAUNCH]: Add the codename to scripts/excluded-strings.txt to prevent it from leaking to external builds.
export function getAntModelOverrideConfig(): AntModelOverrideConfig | null {
if (process.env.USER_TYPE !== 'ant') {

View File

@@ -1,4 +1,4 @@
// biome-ignore-all assist/source/organizeImports: ANT-ONLY import markers must not be reordered
// biome-ignore-all assist/source/organizeImports: internal-only import markers must not be reordered
/**
* Ensure that any model codenames introduced here are also added to
* scripts/excluded-strings.txt to avoid leaking them. Wrap any codename string

View File

@@ -1,4 +1,4 @@
// biome-ignore-all assist/source/organizeImports: ANT-ONLY import markers must not be reordered
// biome-ignore-all assist/source/organizeImports: internal-only import markers must not be reordered
import { getInitialMainLoopModel } from '../../bootstrap/state.js'
import {
isClaudeAISubscriber,

View File

@@ -1,4 +1,4 @@
// biome-ignore-all assist/source/organizeImports: ANT-ONLY import markers must not be reordered
// biome-ignore-all assist/source/organizeImports: internal-only import markers must not be reordered
import { MODEL_ALIASES } from './aliases.js'
import { isModelAllowed } from './modelAllowlist.js'
import { getAPIProvider } from './providers.js'

View File

@@ -92,7 +92,7 @@ const PERMISSION_MODE_CONFIG: Partial<
/**
* Type guard to check if a PermissionMode is an ExternalPermissionMode.
* auto is ant-only and excluded from external modes.
* auto is internal-only and excluded from external modes.
*/
export function isExternalPermissionMode(
mode: PermissionMode,

View File

@@ -1,4 +1,4 @@
// Stub for external builds - classifier permissions feature is ANT-ONLY
// Stub for external builds - classifier permissions feature is internal-only
export const PROMPT_PREFIX = 'prompt:'

View File

@@ -50,9 +50,9 @@ export const DANGEROUS_BASH_PATTERNS: readonly string[] = [
'env',
'xargs',
'sudo',
// Anthropic internal: ant-only tools plus general tools that ant sandbox
// Anthropic internal: internal-only tools plus general tools that ant sandbox
// dotfile data shows are commonly over-allowlisted as broad prefixes.
// These stay ant-only — external users don't have coo, and the rest are
// These stay internal-only — external users don't have coo, and the rest are
// an empirical-risk call grounded in ant sandbox data, not a universal
// "this tool is unsafe" judgment. PS may want these once it has usage data.
...(process.env.USER_TYPE === 'ant'

View File

@@ -4,7 +4,7 @@ import { TASK_OUTPUT_TOOL_NAME } from '../../tools/TaskOutputTool/constants.js'
import { TASK_STOP_TOOL_NAME } from '../../tools/TaskStopTool/prompt.js'
import type { PermissionRuleValue } from './PermissionRule.js'
// Dead code elimination: ant-only tool names are conditionally required so
// Dead code elimination: internal-only tool names are conditionally required so
// their strings don't leak into external builds. Static imports always bundle.
/* eslint-disable @typescript-eslint/no-require-imports */
const BRIEF_TOOL_NAME: string | null =

View File

@@ -558,7 +558,7 @@ export const hasPermissionsToUseTool: CanUseToolFn = async (
createDenialTrackingState()
// PowerShell requires explicit user permission in auto mode unless
// POWERSHELL_AUTO_MODE (ant-only build flag) is on. When disabled, this
// POWERSHELL_AUTO_MODE (internal-only build flag) is on. When disabled, this
// guard keeps PS out of the classifier and skips the acceptEdits
// fast-path below. When enabled, PS flows through to the classifier like
// Bash — the classifier prompt gets POWERSHELL_DENY_GUIDANCE appended so

View File

@@ -1455,7 +1455,7 @@ function getClassifierModel(): string {
}
/**
* Resolve the XML classifier setting: ant-only env var takes precedence,
* Resolve the XML classifier setting: internal-only env var takes precedence,
* then GrowthBook. Returns undefined when unset (caller decides default).
*/
function resolveTwoStageClassifier():

View File

@@ -107,7 +107,7 @@ export function restoreSessionStateFromLog(
})
}
// Restore attribution state (ant-only feature)
// Restore attribution state (internal-only feature)
if (
feature('COMMIT_ATTRIBUTION') &&
result.attributionSnapshots &&

View File

@@ -2233,7 +2233,7 @@ function forEachParsedJSONLBufferEntry<T>(
function applySnipRemovals(messages: Map<UUID, TranscriptMessage>): void {
// Structural check — snipMetadata only exists on the boundary subtype.
// Avoids the subtype literal which is in excluded-strings.txt
// (HISTORY_SNIP is ant-only; the literal must not leak into external builds).
// (HISTORY_SNIP is internal-only; the literal must not leak into external builds).
type WithSnipMeta = { snipMetadata?: { removedUuids?: UUID[] } }
const toDelete = new Set<UUID>()
for (const entry of messages.values()) {

View File

@@ -39,7 +39,7 @@ export const MDM_SUBPROCESS_TIMEOUT_MS = 5000
/**
* Build the list of macOS plist paths in priority order (highest first).
* Evaluates `process.env.USER_TYPE` at call time so ant-only paths are
* Evaluates `process.env.USER_TYPE` at call time so internal-only paths are
* included only when appropriate.
*/
export function getMacOSPlistPaths(): Array<{ path: string; label: string }> {

View File

@@ -3,7 +3,7 @@
*
* Exports complete command configuration maps that any shell tool can import:
* - GIT_READ_ONLY_COMMANDS: all git subcommands with safe flags and callbacks
* - GH_READ_ONLY_COMMANDS: ant-only gh CLI commands (network-dependent)
* - GH_READ_ONLY_COMMANDS: internal-only gh CLI commands (network-dependent)
* - EXTERNAL_READONLY_COMMANDS: cross-shell commands that work in both bash and PowerShell
* - containsVulnerableUncPath: UNC path detection for credential leak prevention
* - outputLimits are in outputLimits.ts
@@ -602,7 +602,7 @@ export const GIT_READ_ONLY_COMMANDS: Record<string, ExternalCommandConfig> = {
'-s': 'none', // Print size of object
'-p': 'none', // Pretty-print object contents
'-e': 'none', // Exit with zero if object exists, non-zero otherwise
// Batch mode — read-only check variant only
// Batch mode — read-only check variinternal only
'--batch-check': 'none', // For each object on stdin, print type and size (no content)
// Output control
'--allow-undetermined-type': 'none',
@@ -923,7 +923,7 @@ export const GIT_READ_ONLY_COMMANDS: Record<string, ExternalCommandConfig> = {
}
// ---------------------------------------------------------------------------
// GH_READ_ONLY_COMMANDS — ant-only gh CLI commands (network-dependent)
// GH_READ_ONLY_COMMANDS — internal-only gh CLI commands (network-dependent)
// ---------------------------------------------------------------------------
// SECURITY: Shared callback for all gh commands to prevent network exfil.

View File

@@ -81,7 +81,7 @@ export type ClaudeCodeStats = {
// Speculation time saved
totalSpeculationTimeSavedMs: number
// Shot stats (ant-only, gated by SHOT_STATS feature flag)
// Shot stats (internal-only, gated by SHOT_STATS feature flag)
shotDistribution?: { [shotCount: number]: number }
oneShotRate?: number
}
@@ -208,7 +208,7 @@ async function processSessionFiles(
// their token usage counted, but not as separate sessions.
const isSubagentFile = sessionFile.includes(`${sep}subagents${sep}`)
// Extract shot count from PR attribution in gh pr create calls (ant-only)
// Extract shot count from PR attribution in gh pr create calls (internal-only)
// This must run before the sidechain filter since subagent transcripts
// mark all messages as sidechain
if (feature('SHOT_STATS') && shotDistributionMap) {

View File

@@ -70,7 +70,7 @@ export type PersistedStatsCache = {
hourCounts: { [hour: number]: number }
// Speculation time saved across all sessions
totalSpeculationTimeSavedMs: number
// Shot distribution: map of shot count → number of sessions (ant-only)
// Shot distribution: map of shot count → number of sessions (internal-only)
shotDistribution?: { [shotCount: number]: number }
}

View File

@@ -1,4 +1,4 @@
// biome-ignore-all assist/source/organizeImports: ANT-ONLY import markers must not be reordered
// biome-ignore-all assist/source/organizeImports: internal-only import markers must not be reordered
import { Box, Text } from '../ink.js';
import * as React from 'react';
import { getLargeMemoryFiles, MAX_MEMORY_CHARACTER_COUNT, type MemoryFileInfo } from './claudemd.js';

View File

@@ -316,7 +316,7 @@ export async function getTask(
const content = await readFile(path, 'utf-8')
const data = jsonParse(content) as { status?: string }
// TEMPORARY: Migrate old status names for existing sessions (ant-only)
// TEMPORARY: Migrate old status names for existing sessions (internal-only)
if (process.env.USER_TYPE === 'ant') {
if (data.status === 'open') data.status = 'pending'
else if (data.status === 'resolved') data.status = 'completed'

View File

@@ -426,7 +426,7 @@ export function addBetaLLMResponseAttributes(
}
}
// Add thinking_output - ant-only
// Add thinking_output - internal-only
if (
process.env.USER_TYPE === 'ant' &&
metadata.thinkingOutput !== undefined

View File

@@ -4,7 +4,7 @@
* This module generates traces in the Chrome Trace Event format that can be
* viewed in ui.perfetto.dev or Chrome's chrome://tracing.
*
* NOTE: This feature is ant-only and eliminated from external builds.
* NOTE: This feature is internal-only and eliminated from external builds.
*
* The trace file includes:
* - Agent hierarchy (parent-child relationships in a swarm)

View File

@@ -1,4 +1,4 @@
// biome-ignore-all assist/source/organizeImports: ANT-ONLY import markers must not be reordered
// biome-ignore-all assist/source/organizeImports: internal-only import markers must not be reordered
import type { Theme } from './theme.js'
import { feature } from 'bun:bundle'
import { getFeatureValue_CACHED_MAY_BE_STALE } from '../services/analytics/growthbook.js'