9 Commits

Author SHA1 Message Date
Teknium 0515997887 simplify(compat): voice_mode/transcription_common — drop 9 re-exports + the _configured_stop_phrases seam, repoint 3 callers + 4 test files 2026-09-03 13:30:31 -07:00
Teknium fc9ed6973e simplify(compat): tts_tool — drop 57 re-exports/aliases, repoint 10 callers + 23 test files 2026-09-03 13:20:22 -07:00
Teknium e83816a4d1 review-fix(comments): restore lost #NNNN rationale comments across non-test source (mechanical sweep, condensed, code unchanged)
For each issue anchor present in BASE 63279301bc non-test .py and absent on HEAD, the BASE comment/docstring block was re-attached at the HEAD location of the code it explained (matched by the distinctive code line / enclosing def). Sentences already covered by an existing HEAD comment were deduped; the issue number always survives. Insert-only: no code lines changed.
2026-09-03 09:44:26 -07:00
Teknium 3494f7cf23 refactor(hermes_cli): AST-neutral closer hugging across r3-17 slice files 2026-09-02 23:58:31 -07:00
Teknium 670b974bed refactor(hermes_cli): compact mixin docstrings/comments by hand (keep every WHY), drop intra-body blank padding 2026-09-02 21:30:29 -07:00
Teknium 165bcb705d refactor(hermes_cli): collapse announce-gated wake prints, provider-family normalize helper, stream boundary predicate 2026-09-02 21:13:10 -07:00
Teknium 5ddca91a31 refactor(hermes_cli): AST-neutral bracket hug/pack layout pass on g5-model files 2026-09-02 20:56:03 -07:00
Teknium 7a60b93fe8 refactor(hermes_cli): dedupe voice config/beep/invalidate/unlink patterns in CLIVoiceMixin 2026-09-02 20:32:31 -07:00
Teknium eb74a00c71 refactor(cli): split HermesCLI into 10 cohesive mixins (cli.py 22,284 -> 9,150)
326 methods lifted by AST (bodies identical; ast.dump-verified) into
hermes_cli/cli_{tui,status_bar,voice,model_switch,session,stream,modal,
terminal,info,loops}_mixin.py. cli.py-internal symbols resolve via lazy
'from cli import ...' inside each method (no import cycle; patch('cli.X')
keeps working). The three 'global' writers (_skill_commands, _cli_wake_owner)
now write the cli module attribute explicitly so the origin's readers still
see them. Dropped imports left unused in cli.py; kept display_hermes_home /
build_welcome_banner as re-exports (mixins + tests resolve them via cli).
Repointed two AST change-detector tests to cli_tui_mixin.py; one test
fixture now keeps 'cli' in sys.modules across its patch.dict scope.
2026-09-02 15:42:24 -07:00