<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs.git/docs, branch v0.7.2</title>
<subtitle>my Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs.git/atom?h=v0.7.2</id>
<link rel='self' href='https://git.cjennings.net/dotemacs.git/atom?h=v0.7.2'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/'/>
<updated>2025-11-06T06:44:46+00:00</updated>
<entry>
<title>chore: Move docs folder to .gitignore</title>
<updated>2025-11-06T06:44:46+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-06T06:44:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=0f955307ed566985af114fc75e5bfcf4ec0a22d3'/>
<id>urn:sha1:0f955307ed566985af114fc75e5bfcf4ec0a22d3</id>
<content type='text'>
Removed docs/ from version control to keep session notes, personal
workflows, and V2MOM documentation private. These files remain on disk
but are no longer tracked by git.

Files removed from tracking:
- docs/NOTES.org (session history)
- docs/EMACS-CONFIG-V2MOM.org (personal goals)
- docs/SOMEDAY-MAYBE.org (research backlog)
- docs/values-comparison.org
- docs/workflows/*.org (workflow templates)

The docs/ folder still exists locally but is now gitignored.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</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.git/commit/?id=afb86d5c559413bddf80ff38260d0cf0debb585f'/>
<id>urn:sha1:afb86d5c559413bddf80ff38260d0cf0debb585f</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).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: Add session notes for terminology refactor and template polish</title>
<updated>2025-11-05T19:07:04+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-05T19:07:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=d94fca8f36f26c8288a844a3933f464091b33a6a'/>
<id>urn:sha1:d94fca8f36f26c8288a844a3933f464091b33a6a</id>
<content type='text'>
Documented comprehensive session covering:
- Terminology refactor (session → workflow)
- Template enhancements in ~/documents/claude/
- Clear docs/ versioning policy for code vs non-code projects

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor: Rename "session" to "workflow" for documented processes</title>
<updated>2025-11-05T18:58:56+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-05T18:58:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=1ff22027df308174c033e21ca9c21882ca2c4fe8'/>
<id>urn:sha1:1ff22027df308174c033e21ca9c21882ca2c4fe8</id>
<content type='text'>
This resolves the ambiguity where "session" meant two different things:
- Working session (time period we work together)
- Documented routine/workflow (process to achieve a goal)

Changes:
- Renamed docs/sessions/ → docs/workflows/
- Renamed create-session.org → create-workflow.org
- Updated all references throughout:
  - "session type" → "workflow"
  - "session workflow" → "workflow"
  - "session definition" → "workflow definition"
  - "Available Session Types" → "Available Workflows"

Updated files:
- docs/NOTES.org - All workflow references updated
- docs/workflows/*.org - All workflow files updated with new terminology
- ~/documents/claude/NOTES.org - Template updated
- ~/documents/claude/NOTES-NEW.org - New template updated

Terminology now clear:
- "Let's run the refactor workflow" = Execute existing workflow
- "I want to create a refactor workflow" = Create new workflow definition
- "This session" = Working time period (unchanged)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: Create generic V2MOM session workflow and consolidate NOTES.org</title>
<updated>2025-11-05T18:40:19+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-05T18:40:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=a98320429f74fca6d9440cd56ba549aa982c0f54'/>
<id>urn:sha1:a98320429f74fca6d9440cd56ba549aa982c0f54</id>
<content type='text'>
- Created docs/sessions/create-v2mom.org with fully generic V2MOM workflow
  - Applicable to any project: health, finance, software, personal goals
  - 8-phase process with examples across multiple domains
  - Time estimate: 2-3 hours to create a V2MOM

- Consolidated NOTES.org files (deleted root, enhanced docs/NOTES.org)
  - Integrated generic protocols from template
  - Added User Information, Session Protocols, File Preferences sections
  - Enhanced with Reminders Protocol and wrap-up workflow
  - Single comprehensive 1252-line reference for all sessions

- Updated docs/EMACS-CONFIG-V2MOM.org metadata

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: Configure scratch buffer for org-mode with cursor at end</title>
<updated>2025-11-05T07:00:38+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-05T07:00:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=ebd439a84180b6f3258be43ac3ce3788cbe21b6d'/>
<id>urn:sha1:ebd439a84180b6f3258be43ac3ce3788cbe21b6d</id>
<content type='text'>
- Set initial-major-mode to org-mode for *scratch* buffer
- Add emacs-startup-hook to position cursor at end of buffer
- Update greeting message comment syntax from ;; to # for org-mode
- Re-enable debug flag reset on startup in early-init.el

This makes the scratch buffer immediately ready for org-mode note-taking
with cursor positioned for typing, eliminating manual mode switching and
cursor movement.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: Resolve Google Calendar password prompts every 10 minutes</title>
<updated>2025-11-05T06:53:52+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-05T06:53:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=76b7a15d7eaeaff81874d922d5ce2b0090eb7c98'/>
<id>urn:sha1:76b7a15d7eaeaff81874d922d5ce2b0090eb7c98</id>
<content type='text'>
Problem: oauth2-auto.plist passphrase requested every ~10 minutes during
gcal-sync auto-sync, interrupting workflow despite 400-day gpg-agent cache.

Root cause: auth-config.el was setting GPG_AGENT_INFO to nil, telling
Emacs to ignore gpg-agent entirely. Additionally, plstore caching was
loading too late in org-gcal-config.

Solution:
- Disabled GPG_AGENT_INFO override to allow gpg-agent usage
- Added auth-source-cache-expiry (24-hour cache for credentials)
- Moved plstore configuration from org-gcal-config to auth-config
- Enabled plstore-cache-passphrase-for-symmetric-encryption globally
- Set plstore-encrypt-to nil for symmetric encryption

Files modified:
- modules/auth-config.el: Added plstore config, removed agent bypass
- modules/org-gcal-config.el: Removed duplicate plstore config
- docs/NOTES.org: Session notes documenting fix

Testing: Restart Emacs and verify no password prompts for 30+ minutes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: Add comprehensive external dependencies audit</title>
<updated>2025-11-05T05:58:20+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-05T05:58:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=12b511ad81cbd3f1d6a7afdbd9509603c5af2279'/>
<id>urn:sha1:12b511ad81cbd3f1d6a7afdbd9509603c5af2279</id>
<content type='text'>
Created config-dependencies.org documenting all external (non-Emacs)
dependencies required for full configuration functionality.

Analysis covers:
- ~50 external dependencies across all feature areas
- Organized by functionality (media, email, programming, documents, etc.)
- Package names for pacman/yay/pip/npm/go installation
- Required vs optional status for each dependency
- Quick reference commands for minimal/recommended/full installs

Key features documented:
- Audio/video recording (ffmpeg, libpulse)
- Transcription (whisper, languagetool)
- Email (mu, isync, msmtp)
- Programming language support (LSP servers for Go, Python, C, Bash, JS/TS)
- Document generation (pandoc, LaTeX, PDF tools)
- Media handling (yt-dlp, mpv)
- Desktop integration (dunst, xdg-utils)

Next steps:
- Compare with archsetup script to identify gaps
- Create dependency verification script
- Ensure archsetup installs all Emacs requirements

Session notes added documenting the analysis process.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: Add wrap-up phrase variations to NOTES.org</title>
<updated>2025-11-05T05:38:33+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-05T05:38:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=9b4f7c06d6807a4c316d8ecbbf164c4afc468199'/>
<id>urn:sha1:9b4f7c06d6807a4c316d8ecbbf164c4afc468199</id>
<content type='text'>
Added 'wrap up', 'wrap this up', and 'wrap it up' to recognized
wrap-up trigger phrases for future sessions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: Add session notes for 2025-11-04 grammar checker test suite</title>
<updated>2025-11-05T05:37:42+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-05T05:37:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=08fd9986b7c67f1317e027475e269611d3f530ca'/>
<id>urn:sha1:08fd9986b7c67f1317e027475e269611d3f530ca</id>
<content type='text'>
Documented comprehensive test suite implementation:
- 15 tests covering LanguageTool integration (6 unit + 9 integration)
- Test fixtures with known grammar errors
- Applied quality-engineer.org testing philosophy
- All tests passing and integrated with Makefile

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
