|
|
@@ -0,0 +1,197 @@
|
|
|
+# Feature Flags
|
|
|
+
|
|
|
+This repository has two different "experimental" mechanisms:
|
|
|
+
|
|
|
+1. `bun run build:dev`
|
|
|
+ Builds a dev-stamped binary (`cli-dev`) and marks it as an experimental build.
|
|
|
+ It does not automatically enable every compile-time feature flag in the source.
|
|
|
+
|
|
|
+2. `feature('FLAG_NAME')`
|
|
|
+ Bun compile-time flags that include or strip code paths at build time.
|
|
|
+
|
|
|
+## Build Variants
|
|
|
+
|
|
|
+- `bun run build`
|
|
|
+ Builds the regular external binary at `./cli`.
|
|
|
+- `bun run build:dev`
|
|
|
+ Builds `./cli-dev` with a `-dev.YYYYMMDD.tHHMMSS.sha...` version and the experimental GrowthBook client key.
|
|
|
+- `bun run build:dev:full`
|
|
|
+ Builds `./cli-dev` with the snapshot-safe experimental bundle listed below.
|
|
|
+
|
|
|
+## Snapshot-Safe Experimental Bundle
|
|
|
+
|
|
|
+The following flags were smoke-tested against this leaked source snapshot and compile successfully together:
|
|
|
+
|
|
|
+- `QUICK_SEARCH`
|
|
|
+ Enables prompt quick-search UI paths.
|
|
|
+- `HISTORY_PICKER`
|
|
|
+ Enables interactive prompt history picker UI.
|
|
|
+- `TOKEN_BUDGET`
|
|
|
+ Enables token budget tracking and related UI warnings.
|
|
|
+- `VOICE_MODE`
|
|
|
+ Enables voice-mode UI and command paths.
|
|
|
+ Runtime still depends on optional native audio support.
|
|
|
+- `ULTRAPLAN`
|
|
|
+ Enables ultraplan command and prompt-input triggers.
|
|
|
+- `CACHED_MICROCOMPACT`
|
|
|
+ Enables cached microcompact plumbing.
|
|
|
+- `PROMPT_CACHE_BREAK_DETECTION`
|
|
|
+ Enables cache-break detection around compact/query flow.
|
|
|
+
|
|
|
+These are the flags used by `build:dev:full`.
|
|
|
+
|
|
|
+`CHICAGO_MCP` compiles from this snapshot, but the resulting binary is not
|
|
|
+runtime-safe because it reaches unresolved `@ant/*` computer-use modules.
|
|
|
+It is intentionally excluded from `build:dev:full`.
|
|
|
+
|
|
|
+## Flags Present In Source
|
|
|
+
|
|
|
+The codebase references these compile-time flags:
|
|
|
+
|
|
|
+- `ABLATION_BASELINE`
|
|
|
+- `AGENT_MEMORY_SNAPSHOT`
|
|
|
+- `AGENT_TRIGGERS`
|
|
|
+- `AGENT_TRIGGERS_REMOTE`
|
|
|
+- `ALLOW_TEST_VERSIONS`
|
|
|
+- `ANTI_DISTILLATION_CC`
|
|
|
+- `AUTO_THEME`
|
|
|
+- `AWAY_SUMMARY`
|
|
|
+- `BASH_CLASSIFIER`
|
|
|
+- `BG_SESSIONS`
|
|
|
+- `BREAK_CACHE_COMMAND`
|
|
|
+- `BRIDGE_MODE`
|
|
|
+- `BUDDY`
|
|
|
+- `BUILDING_CLAUDE_APPS`
|
|
|
+- `BUILTIN_EXPLORE_PLAN_AGENTS`
|
|
|
+- `BYOC_ENVIRONMENT_RUNNER`
|
|
|
+- `CACHED_MICROCOMPACT`
|
|
|
+- `CCR_AUTO_CONNECT`
|
|
|
+- `CCR_MIRROR`
|
|
|
+- `CCR_REMOTE_SETUP`
|
|
|
+- `CHICAGO_MCP`
|
|
|
+- `COMMIT_ATTRIBUTION`
|
|
|
+- `COMPACTION_REMINDERS`
|
|
|
+- `CONNECTOR_TEXT`
|
|
|
+- `CONTEXT_COLLAPSE`
|
|
|
+- `COORDINATOR_MODE`
|
|
|
+- `COWORKER_TYPE_TELEMETRY`
|
|
|
+- `DAEMON`
|
|
|
+- `DIRECT_CONNECT`
|
|
|
+- `DOWNLOAD_USER_SETTINGS`
|
|
|
+- `DUMP_SYSTEM_PROMPT`
|
|
|
+- `ENHANCED_TELEMETRY_BETA`
|
|
|
+- `EXPERIMENTAL_SKILL_SEARCH`
|
|
|
+- `EXTRACT_MEMORIES`
|
|
|
+- `FILE_PERSISTENCE`
|
|
|
+- `FORK_SUBAGENT`
|
|
|
+- `HARD_FAIL`
|
|
|
+- `HISTORY_PICKER`
|
|
|
+- `HISTORY_SNIP`
|
|
|
+- `HOOK_PROMPTS`
|
|
|
+- `IS_LIBC_GLIBC`
|
|
|
+- `IS_LIBC_MUSL`
|
|
|
+- `KAIROS`
|
|
|
+- `KAIROS_BRIEF`
|
|
|
+- `KAIROS_CHANNELS`
|
|
|
+- `KAIROS_DREAM`
|
|
|
+- `KAIROS_GITHUB_WEBHOOKS`
|
|
|
+- `KAIROS_PUSH_NOTIFICATION`
|
|
|
+- `LODESTONE`
|
|
|
+- `MCP_RICH_OUTPUT`
|
|
|
+- `MCP_SKILLS`
|
|
|
+- `MEMORY_SHAPE_TELEMETRY`
|
|
|
+- `MESSAGE_ACTIONS`
|
|
|
+- `MONITOR_TOOL`
|
|
|
+- `NATIVE_CLIENT_ATTESTATION`
|
|
|
+- `NATIVE_CLIPBOARD_IMAGE`
|
|
|
+- `NEW_INIT`
|
|
|
+- `OVERFLOW_TEST_TOOL`
|
|
|
+- `PERFETTO_TRACING`
|
|
|
+- `POWERSHELL_AUTO_MODE`
|
|
|
+- `PROACTIVE`
|
|
|
+- `PROMPT_CACHE_BREAK_DETECTION`
|
|
|
+- `QUICK_SEARCH`
|
|
|
+- `REACTIVE_COMPACT`
|
|
|
+- `REVIEW_ARTIFACT`
|
|
|
+- `RUN_SKILL_GENERATOR`
|
|
|
+- `SELF_HOSTED_RUNNER`
|
|
|
+- `SHOT_STATS`
|
|
|
+- `SKILL_IMPROVEMENT`
|
|
|
+- `SLOW_OPERATION_LOGGING`
|
|
|
+- `SSH_REMOTE`
|
|
|
+- `TEAMMEM`
|
|
|
+- `TEMPLATES`
|
|
|
+- `TERMINAL_PANEL`
|
|
|
+- `TOKEN_BUDGET`
|
|
|
+- `TORCH`
|
|
|
+- `TRANSCRIPT_CLASSIFIER`
|
|
|
+- `TREE_SITTER_BASH`
|
|
|
+- `TREE_SITTER_BASH_SHADOW`
|
|
|
+- `UDS_INBOX`
|
|
|
+- `ULTRAPLAN`
|
|
|
+- `ULTRATHINK`
|
|
|
+- `UNATTENDED_RETRY`
|
|
|
+- `UPLOAD_USER_SETTINGS`
|
|
|
+- `VERIFICATION_AGENT`
|
|
|
+- `VOICE_MODE`
|
|
|
+- `WEB_BROWSER_TOOL`
|
|
|
+- `WORKFLOW_SCRIPTS`
|
|
|
+
|
|
|
+## High-Traffic Feature Families
|
|
|
+
|
|
|
+These are the most prominent feature families in the snapshot:
|
|
|
+
|
|
|
+- Assistant / brief / channels
|
|
|
+ `KAIROS`, `KAIROS_BRIEF`, `KAIROS_CHANNELS`, `KAIROS_GITHUB_WEBHOOKS`, `KAIROS_PUSH_NOTIFICATION`, `KAIROS_DREAM`
|
|
|
+- Classifiers / auto mode
|
|
|
+ `TRANSCRIPT_CLASSIFIER`, `BASH_CLASSIFIER`, `TREE_SITTER_BASH`, `TREE_SITTER_BASH_SHADOW`
|
|
|
+- Remote / bridge / computer-use
|
|
|
+ `BRIDGE_MODE`, `DAEMON`, `DIRECT_CONNECT`, `SSH_REMOTE`, `CHICAGO_MCP`, `WEB_BROWSER_TOOL`
|
|
|
+- Planning / agents / automation
|
|
|
+ `ULTRAPLAN`, `COORDINATOR_MODE`, `FORK_SUBAGENT`, `AGENT_TRIGGERS`, `AGENT_TRIGGERS_REMOTE`, `VERIFICATION_AGENT`
|
|
|
+- Context / compact / memory
|
|
|
+ `CONTEXT_COLLAPSE`, `REACTIVE_COMPACT`, `CACHED_MICROCOMPACT`, `PROMPT_CACHE_BREAK_DETECTION`, `TOKEN_BUDGET`, `HISTORY_SNIP`, `BG_SESSIONS`, `TEAMMEM`, `EXTRACT_MEMORIES`
|
|
|
+- UI extras
|
|
|
+ `QUICK_SEARCH`, `HISTORY_PICKER`, `VOICE_MODE`, `MESSAGE_ACTIONS`, `AUTO_THEME`, `SHOT_STATS`
|
|
|
+
|
|
|
+## Known Broken In This Snapshot
|
|
|
+
|
|
|
+These flags do appear in source, but turning them on currently fails to build because referenced modules are missing from the leaked snapshot:
|
|
|
+
|
|
|
+- `KAIROS`
|
|
|
+- `KAIROS_BRIEF`
|
|
|
+- `PROACTIVE`
|
|
|
+- `BRIDGE_MODE`
|
|
|
+- `DAEMON`
|
|
|
+- `DIRECT_CONNECT`
|
|
|
+- `SSH_REMOTE`
|
|
|
+- `COORDINATOR_MODE`
|
|
|
+- `CHICAGO_MCP`
|
|
|
+- `BUDDY`
|
|
|
+- `UDS_INBOX`
|
|
|
+- `CONTEXT_COLLAPSE`
|
|
|
+- `REACTIVE_COMPACT`
|
|
|
+- `EXPERIMENTAL_SKILL_SEARCH`
|
|
|
+- `MCP_SKILLS`
|
|
|
+- `WORKFLOW_SCRIPTS`
|
|
|
+- `MONITOR_TOOL`
|
|
|
+- `REVIEW_ARTIFACT`
|
|
|
+- `TEAMMEM`
|
|
|
+- `TRANSCRIPT_CLASSIFIER`
|
|
|
+
|
|
|
+The failures are mostly missing files such as assistant-mode modules, remote/server modules, workflow/monitor tools, skill-search modules, classifier prompt files, and team-memory helpers.
|
|
|
+
|
|
|
+## Useful Entry Points
|
|
|
+
|
|
|
+- Feature-aware build logic:
|
|
|
+ [scripts/build.ts](/Users/paolo/Repos/claude-code/scripts/build.ts)
|
|
|
+- Experimental GrowthBook key selection:
|
|
|
+ [src/constants/keys.ts](/Users/paolo/Repos/claude-code/src/constants/keys.ts)
|
|
|
+- Feature-gated command imports:
|
|
|
+ [src/commands.ts](/Users/paolo/Repos/claude-code/src/commands.ts)
|
|
|
+- Feature-gated tool imports:
|
|
|
+ [src/tools.ts](/Users/paolo/Repos/claude-code/src/tools.ts)
|
|
|
+- Feature-gated query behavior:
|
|
|
+ [src/query.ts](/Users/paolo/Repos/claude-code/src/query.ts)
|
|
|
+- Feature-gated CLI options and startup flow:
|
|
|
+ [src/main.tsx](/Users/paolo/Repos/claude-code/src/main.tsx)
|