<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/init.el, branch lkg</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=lkg</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=lkg'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2025-11-09T21:33:17+00:00</updated>
<entry>
<title>feat:system: Add system utility library with executable check</title>
<updated>2025-11-09T21:33:17+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-09T21:33:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=bace209b19449c366c933a752a289d52e5f40c52'/>
<id>urn:sha1:bace209b19449c366c933a752a289d52e5f40c52</id>
<content type='text'>
Introduce a new `system-lib.el` module providing low-level system
utility functions, including function `cj/executable-exists-p` to
check for the availability of programs in PATH. Integrate this
library in `init.el`.

test(system): Add unit tests for executable check function

Create comprehensive unit tests for `cj/executable-exists-p` in
`system-lib.el`, ensuring coverage of normal, boundary and error
scenarios.
</content>
</entry>
<entry>
<title>feat: Add AssemblyAI transcription backend with speaker diarization</title>
<updated>2025-11-06T06:43:13+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-06T06:43:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=7110f8c1f41b9c82288efb328c709dd00ed8fcb6'/>
<id>urn:sha1:7110f8c1f41b9c82288efb328c709dd00ed8fcb6</id>
<content type='text'>
Integrated AssemblyAI as the third transcription backend alongside OpenAI
API and local-whisper, now set as the default due to superior speaker
diarization capabilities (up to 50 speakers).

New Features:
- AssemblyAI backend with automatic speaker labeling
- Backend switching UI via C-; T b (completing-read interface)
- Universal speech model supporting 99 languages
- API key management through auth-source/authinfo.gpg

Implementation:
- Created scripts/assemblyai-transcribe (upload → poll → format workflow)
- Updated transcription-config.el with multi-backend support
- Added cj/--get-assemblyai-api-key for secure credential retrieval
- Refactored process environment handling from if to pcase
- Added cj/transcription-switch-backend interactive command

Testing:
- Created test-transcription-config--transcription-script-path.el
- 5 unit tests covering all 3 backends (100% passing)
- Followed quality-engineer.org guidelines (test pure functions only)
- Investigated 18 test failures: documented cleanup in todo.org

Files Modified:
- modules/transcription-config.el - Multi-backend support and UI
- scripts/assemblyai-transcribe - NEW: AssemblyAI integration script
- tests/test-transcription-config--transcription-script-path.el - NEW
- todo.org - Added test cleanup task (Method 3, priority C)
- docs/NOTES.org - Comprehensive session notes added

Successfully tested with 33KB and 4.1MB audio files (3s and 9s processing).
</content>
</entry>
<entry>
<title>init:doc:correcting comment on video capture</title>
<updated>2025-10-31T10:53:12+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-31T10:53:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=869084996875a0ceeb7fb3443a1fdc4a0f8f3467'/>
<id>urn:sha1:869084996875a0ceeb7fb3443a1fdc4a0f8f3467</id>
<content type='text'>
</content>
</entry>
<entry>
<title>maint:vc install org-msg, disable debugging on org-gcal</title>
<updated>2025-10-28T02:24:51+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-28T02:24:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=076d8c26e463fef339997a3e19df42d1879f5a81'/>
<id>urn:sha1:076d8c26e463fef339997a3e19df42d1879f5a81</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: Rename custom-file-buffer to custom-buffer-file</title>
<updated>2025-10-28T02:05:06+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-28T02:05:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=d77ca19cf7106a0eecbff1588c13b8b52b98b85f'/>
<id>urn:sha1:d77ca19cf7106a0eecbff1588c13b8b52b98b85f</id>
<content type='text'>
Renamed the module 'custom-file-buffer' to 'custom-buffer-file' to
ensure consistency across the codebase. This change affects module
imports and test files. Additionally, new module
'system-commands.el' has been created to handle system power and
session management commands, removing these functionalities from
'wip.el'.
</content>
</entry>
<entry>
<title>chore:init.el: remove commented import for show-kill-ring</title>
<updated>2025-10-27T23:46:27+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-27T23:46:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=b785a19dcdfc6c2f7330bab47dabcab9f5fd7def'/>
<id>urn:sha1:b785a19dcdfc6c2f7330bab47dabcab9f5fd7def</id>
<content type='text'>
Clean up the code by removing an unnecessary commented-out import
line for show-kill-ring in the initialization file.
</content>
</entry>
<entry>
<title>chore(init): remove test status comments from require statements</title>
<updated>2025-10-27T06:06:02+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-27T06:06:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=0fc12069864b3d964cf8175173b4f3183bc73c92'/>
<id>urn:sha1:0fc12069864b3d964cf8175173b4f3183bc73c92</id>
<content type='text'>
Removed comments indicating test status for required modules to
clean up and simplify the init.el file.
</content>
</entry>
<entry>
<title>feat:browser-config: Integrate browser configuration and add tests</title>
<updated>2025-10-27T05:34:48+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-27T05:34:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=95dd611b94823f6cea1ee493697f8b124d25ed7a'/>
<id>urn:sha1:95dd611b94823f6cea1ee493697f8b124d25ed7a</id>
<content type='text'>
- Move `browser-config` from 'Modules In Test' to active modules
- Refactor browser handling functions for better error handling:
- Introduce `cj/--do-apply-browser-choice` and
- `cj/--do-choose-browser` Return status symbols for success and
- error cases Add comprehensive unit tests in
- `tests/test-browser-config.el` Focus on internal `cj/--do-*`
- functions and file I/O using temp files Validate return values and
- ensure isolated tests with setup/teardown functions Ensure
- consistent handling of browser configurations and improve
- initialization logic
</content>
</entry>
<entry>
<title>feat:jumper: Integrate and enhance 'jumper' module with tests</title>
<updated>2025-10-27T05:17:57+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-27T05:17:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=b93b438dae7bfb6b473eb476abb3b8b603f4cf0c'/>
<id>urn:sha1:b93b438dae7bfb6b473eb476abb3b8b603f4cf0c</id>
<content type='text'>
Enable 'jumper' module by uncommenting its require statement in
init.el. Enhance 'jumper' by adding detailed documentation,
refactoring logic into internal functions, and updating keybinding
setup for better usability. Integrate 'which-key' for improved
keybinding assistance. Add comprehensive unit tests for 'jumper'
functionalities to ensure reliability.
</content>
</entry>
<entry>
<title>feat:text-generation: improve and rename lorem generator</title>
<updated>2025-10-27T04:56:03+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-27T04:56:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=d0b16101cc7c07b2ebcc141be75f0436ae440348'/>
<id>urn:sha1:d0b16101cc7c07b2ebcc141be75f0436ae440348</id>
<content type='text'>
Rename `lorem-generator.el` to `lorem-optimum.el` for fun.
Enhance text tokenization, Markov chain learning, and text
generation functions. Introduce new configuration variables for
training files and improve efficiency with vectorized access. Add
comprehensive benchmarks and unit tests under `tests/`. This
improves performance and lays groundwork for further extensions.
</content>
</entry>
</feed>
