Skip to content

Graduate experimental features to default#689

Merged
Iron-Ham merged 1 commit into
mainfrom
Iron-Ham/7a0d0a11-ship-all-experimental-features
Mar 20, 2026
Merged

Graduate experimental features to default#689
Iron-Ham merged 1 commit into
mainfrom
Iron-Ham/7a0d0a11-ship-all-experimental-features

Conversation

@Iron-Ham
Copy link
Copy Markdown
Owner

Summary

  • Ship 5 experimental features as always-on defaults: intelligent naming, terminal support, inline multiplan, inline ultraplan, and grouped instance view
  • Remove config struct fields, viper registrations, feature gates, disabled-state tests, and TUI config editor entries for graduated features
  • Only subprocess_mode remains experimental
  • Clean up stale triple_shot references from documentation
  • Update all docs (README, configuration guide, inline planning guide, keyboard shortcuts, TUI navigation)

Details

Config layer: Removed 5 fields from ExperimentalConfig, keeping only SubprocessMode. Updated defaults and viper registration.

Gate removal: Removed isTerminalEnabled(), terminalDisabledError, and all conditional checks in command handlers (cmdTerminal, cmdTerminalFocus, cmdTerminalDirWorktree, cmdTerminalDirProject, cmdMultiPlan, cmdUltraPlan), key handlers (handleToggleTerminal, handleSwitchTerminalDir), and orchestrator (initNamer).

Intelligent naming: IntelligentNamingEnabled() now always returns true. The namer still requires ANTHROPIC_API_KEY — the config gate was just an additional opt-in that's no longer needed.

Tests: Removed TestTerminalCommandsDisabled, TestTerminalKeybindingsDisabled, TestHandleNormalModeKeyTerminalDisabled, and "disabled by default" subtests from multiplan/ultraplan test suites. Removed all viper.Set("experimental.*") enablement calls from remaining tests.

Net result: -468 lines, +32 lines. Removes viper imports from 4 files.

Test plan

  • go build ./... passes
  • go test -race ./... passes (only pre-existing golangci-lint toolchain mismatch)
  • go vet ./... clean
  • gofmt -d . clean
  • TestTUIConfigCoversAllConfigFields confirms config struct/TUI editor sync
  • Deep review: no P0 issues, one P1 (stale triple_shot refs) fixed

@Iron-Ham Iron-Ham marked this pull request as ready for review March 20, 2026 22:07
Ship intelligent naming, terminal support, inline multiplan,
inline ultraplan, and grouped instance view as default features.
Only subprocess mode remains experimental.

Remove config struct fields, viper registrations, feature gates,
disabled-state tests, and update all documentation. Also clean up
stale triple_shot references from docs.
@Iron-Ham Iron-Ham force-pushed the Iron-Ham/7a0d0a11-ship-all-experimental-features branch from c652cb1 to 09fe54e Compare March 20, 2026 22:10
@Iron-Ham Iron-Ham merged commit 80fcb2b into main Mar 20, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant