1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
|
#+TITLE: Inbox - V2MOM Aligned Tasks
#+AUTHOR: Craig Jennings
#+DATE: 2025-10-31
#+FILETAGS: :v2mom:active:
* Instructions
This inbox contains ONLY tasks that serve the V2MOM vision. Before adding any task here, ask:
1. Does it serve the Vision?
2. Does it align with the Values?
3. Is it addressed in the Methods?
4. Does it overcome an Obstacle?
5. Does it improve a Metric?
If the answer is "no" to all five → DON'T ADD IT.
V2MOM is located at: [[file:docs/emacs-config-v2mom.org][emacs-config-v2mom.org]]
Research/ideas that don't serve vision: [[file:docs/someday-maybe.org][someday-maybe.org]]
* Method 1: Make Using Emacs Frictionless
** DONE [#A] Remove network check from startup (saves 1+ seconds)
CLOSED: [2025-10-31 Fri]
✅ Deleted blocking ping check. Startup improved from 6.2s to 5.4s.
Now uses package priorities: .localrepo (200) > online repos (25).
** TODO [#A] Fix cj/goto-git-gutter-diff-hunks (missing function causing errors)
Quick win - 15 minutes. Just needs to be defined.
** DONE [#A] Fix chime-check throw with no catch block
CLOSED: [2025-11-01 Fri]
Error: "(no-catch --cl-block-chime-check-- nil)"
Chime was throwing to a catch block that doesn't exist.
Location: chime package - chime-check() function at line 1540
Fix: Changed defun to cl-defun to provide implicit catch block for cl-return-from.
Fixed in ~/code/chime.el/chime.el:1540
Added regression test: test-integration-startup-early-return-on-validation-failure
Created Makefile with test targets (unit, integration, all, by-file, by-name)
Updated README.org with Development/Testing section
All integration tests pass (5/5) ✅
** DONE [#A] Implement cj/diff-buffer-with-file (compare buffer with saved version)
CLOSED: [2025-10-31 Fri]
Bound to C-; b D. Weekly need satisfied.
** TODO [#B] Fix go-ts-mode-map keybinding error (void-variable)
Error: "Debugger entered--Lisp error: (void-variable go-ts-mode-map)"
Location: modules/prog-go.el - trying to bind keys before mode loads.
Fix: Wrap keybinding in with-eval-after-load or check if variable is bound.
** TODO [#B] Fix org-noter (reading/annotation workflow currently "so painful")
High priority - daily pain point.
** TODO [#B] Fix video/audio recording module (use constantly, just broke)
Use constantly, needs to work reliably.
** TODO [#B] Fix mail attachment workflow (currently awkward)
Daily workflow improvement.
** TODO [#B] Optimize org-agenda performance using built-in profiler
THE BOTTLENECK. Currently 30+ seconds, target < 5 seconds.
Use M-x profiler-start before Method 3 debug-profiling.el is built.
** TODO [#B] Optimize org-capture target building performance
15-20 seconds every time capturing a task (12+ times/day).
Major daily bottleneck - minutes lost waiting, plus context switching cost.
** TODO [#C] Fix grammar checker performance (currently disabled)
Currently disabled because it breaks flow when writing.
** TODO [#D] Fix EMMS keybinding inconsistency with other buffers
EMMS keybindings conflict with standard buffer keybindings, causing mistypes.
Results in accidental destructive actions (clearing buffers), requires undo + context switch.
Violates Intuitive value - muscle memory should help, not hurt.
* Method 2: Stop Problems Before They Appear
** TODO [#B] Migrate from Company to Corfu
:PROPERTIES:
:COMPLETE_CONFIG: [[file:docs/someday-maybe.org::1611][todo.org:1611-1639]]
:END:
Complete config already exists in someday-maybe.org. Just needs to be executed.
** TODO [#C] Switch to mood-line
Already researched. Lighter modeline.
** TODO [#C] Remove deprecated tree-sitter package (rely on treesit-auto)
Already have treesit-auto installed. Just remove old package.
** TODO [#C] Add org-appear (show emphasis markers only when point is on them)
Cleaner org files, supports Intuitive value.
** TODO [#C] Integrate prescient with Corfu (smart sorting)
Already using prescient with vertico. Extend to Corfu after migration.
* Method 3: Make *Fixing* Emacs Frictionless
** TODO [#B] Build debug-profiling.el module
Reusable profiling infrastructure for any future performance work.
** TODO [#C] Document localrepo limitations (treesitter grammars not included)
.localrepo only contains packages from package.el archives.
Treesitter grammars are downloaded separately by treesit-auto on first use.
For true offline reproducibility, need to cache treesitter grammars separately.
** TODO [#C] Integrate Buttercup (behavior-driven integration tests)
Complex workflow testing capability.
** TODO [#C] Build localrepo out (package snapshot system)
Repeatable installs and safe rollbacks.
** TODO [#C] Integrate difftastic (structural diffs)
Structural diffs that show semantic changes. Hook into cj/diff-buffer-with-file.
* Method 4: Contribute to the Emacs Ecosystem
** TODO [#C] Set up package-lint for elisp linting (chime, org-msg, wttrin)
Catch packaging issues automatically.
** TODO [#C] Set up melpazoid CI for MELPA submissions
Validates packages meet MELPA standards.
** TODO [#C] Set up elisp-check GitHub Action
Zero-config CI for Emacs packages.
** TODO [#C] Integrate undercover.el for test coverage
Measure and track test coverage over time.
* Method 5: Be Kind To Your Future Self
** TODO [#C] Add transcription workflow
:PROPERTIES:
:COMPLETE_CONFIG: [[file:docs/someday-maybe.org::2][todo.org:2-99]]
:END:
Complete code already exists in someday-maybe.org. Need today and recurring.
** TODO [#C] Implement org-reveal presentation workflow
Create reveal.js slides from org-mode.
* Method 6: Develop Disciplined Engineering Practices
** TODO [#A] First weekly triage by Sunday (establish habit)
SCHEDULED: <2025-11-03 Sun>
Review this inbox, cancel stale items, keep < 20 active. Track in calendar.
** TODO [#B] Track current metrics baseline
- [ ] Measure current startup time (time emacs --eval '(save-buffers-kill-emacs)')
- [ ] Count current active todos
- [ ] Set up tracking document for weekly metrics
** TODO [#C] Set up monthly research:shipped ratio tracking
Can't research next thing until current thing is implemented.
* Emacs Config Inbox
** TODO [#A] Irritant: Print should be keybound to capital P
and perhaps print-screen (however Emacs references that key)
lowercase p should be about getting path, not doing something dramatic like sending a document to the LPR without confirmation
** TODO [#A] Irritant: send buffer to printer must have confirmation
it should allow to skip the confirmation with C-u.
|