Skip to content

feat(hotkey): add configurable LLM invert modifier for recording#72

Merged
missuo merged 1 commit into
missuo:mainfrom
thedavidweng:codex/issue-15-llm-invert-modifier
Apr 11, 2026
Merged

feat(hotkey): add configurable LLM invert modifier for recording#72
missuo merged 1 commit into
missuo:mainfrom
thedavidweng:codex/issue-15-llm-invert-modifier

Conversation

@thedavidweng

Copy link
Copy Markdown
Contributor

Summary

Implements #15 by adding a configurable modifier key that temporarily
inverts whether the current recording session uses LLM polishing.

The inversion is evaluated when recording starts, applies only to that
session, and does not mutate the persisted llm.enabled setting.

Changes

  • add hotkey.llm_invert_modifier to Rust config with default control
  • support control | option | command | shift | fn | none and normalize
    invalid values back to control
  • expose the invert modifier flag through SPHotkeyConfig
  • extend the session begin context so ObjC can pass the per-session LLM
    inversion state into Rust
  • capture the configured modifier in the hotkey monitor and lock the
    inversion state when recording begins
  • apply session-level LLM decision logic in koe-core without writing
    back to config.yaml
  • add an LLM Modifier setting in the Hotkey / Controls UI
  • update README config examples and behavior docs

Behavior

  • normal recording continues to follow llm.enabled
  • pressing the configured modifier while starting recording flips the
    LLM behavior for that recording only
  • when llm.enabled = true, the inverted session skips LLM polishing
  • when llm.enabled = false, the inverted session attempts to use LLM,
    but still requires a valid active LLM profile
  • setting the modifier to none disables inversion behavior entirely

Testing

  • cargo test -p koe-core
  • make generate
  • cargo build --manifest-path koe-core/Cargo.toml --release --target aarch64-apple-darwin
  • cd KoeApp && xcodebuild -project Koe.xcodeproj -scheme Koe -configuration Debug ARCHS=arm64 build

Notes

  • Xcode build succeeds with the existing linker warnings about some Rust
    object files being built with a newer macOS version marker than the
    app deployment target

@missuo missuo merged commit 9033def into missuo:main Apr 11, 2026
@thedavidweng thedavidweng deleted the codex/issue-15-llm-invert-modifier branch April 11, 2026 19:41
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.

2 participants