aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org336
1 files changed, 18 insertions, 318 deletions
diff --git a/todo.org b/todo.org
index 2e4d5594..d9c72636 100644
--- a/todo.org
+++ b/todo.org
@@ -5022,334 +5022,34 @@ from SimpleCov entirely. For missing modules, first decide whether the file has
testable project logic; if it is just use-package/keybinding glue, document it
as intentionally low-value instead of forcing brittle tests.
-*** TODO [#B] Add coverage for =prog-python.el= (0.0%, 0/20) :tests:
+*** 2026-05-24 Sun @ 15:40 Refreshed against a clean make-coverage run
-Focus on formatter/setup helpers and any Python command-building logic. Avoid
-testing Emacs package glue directly; split pure helpers first if needed.
+The per-module percentages previously listed here were stale. This session's test-writing covered most of the originally-listed modules: =prog-python= 0%→100%, =hugo-config= 17.7%→91.7%, =undead-buffers= 5.7%→85.7%, and =selection-framework=, =keyboard-compat=, =system-utils=, =system-defaults=, =ui-navigation=, =prog-go= now sit at ~100%. Re-measured against a clean =make coverage=; only modules genuinely below ~60% remain below as gaps, with current numbers. Modules in the 60-80% band (e.g. =calendar-sync= 76%, =music-config= 77%, =ai-conversations= 74%, =calibredb-epub-config= 73%, =org-noter-config= 73%, =custom-misc= 72%, =test-runner= 72%) are adequately covered and dropped from the backlog. Several remaining low entries are low only because the uncovered lines are use-package / interactive / process glue, not untested logic — flagged inline.
-*** TODO [#B] Add coverage for =selection-framework.el= (0.0%, 0/3) :tests:
+*** TODO [#B] Add coverage for =markdown-config.el= (0.0%, 0/14) :tests:
+Pure seam: =cj/markdown-html= (buffer → HTML for impatient-mode). The preview/server commands are interactive httpd glue — test the HTML builder, leave the rest as interactive-only.
-Add a smoke test for the final binding/setup behavior or document why the three
-instrumented lines are configuration-only.
+*** TODO [#B] Add coverage for =prog-general.el= (10.0%, 1/10) :tests:
+Mostly LSP/use-package config. Check for a pure helper; otherwise close as config-only.
-*** TODO [#B] Add coverage for =keyboard-compat.el= (3.4%, 1/29) :tests:
+*** TODO [#B] Add coverage for =flyspell-and-abbrev.el= (40.7%, 22/54) :tests:
+Look for abbrev-table / spell-helper logic worth covering.
-Cover terminal-vs-GUI translation predicates and key normalization paths. Keep
-tests table-driven so future terminal quirks are easy to add.
+*** TODO [#B] Add coverage for =dashboard-config.el= (47.7%, 21/44) :tests:
+Launcher dispatch is partly tested; check the remaining banner/section builders.
-*** TODO [#B] Add coverage for =prog-webdev.el= (4.8%, 1/21) :tests:
+*** TODO [#B] Add coverage for =restclient-config.el= (50.0%, 4/8) :tests:
+Small; check the non-interactive helpers.
-Cover formatter wiring and web-mode helper behavior without invoking external
-formatters.
+*** TODO [#B] Add coverage for =ai-quick-ask.el= (50.0%, 28/56) :tests:
+Check prompt-assembly / response-handling helpers.
-*** TODO [#B] Add coverage for =system-defaults.el= (8.3%, 1/12) :tests:
+*** TODO [#B] Add coverage for =media-utils.el= (59.0%, 49/83) :tests:
+Remaining gap is =cj/select-media-player= (interactive) and =cj/media-play-it= process-sentinel branches. Add a select-media-player smoke test and sentinel-branch coverage if feasible.
-Characterize the platform/default-setting helpers with stubs around system
-calls. Do not assert machine-specific defaults directly.
+*** =vc-config.el= (7.9%) and =quick-video-capture.el= (50%) — config/interactive-only, no action
+Their pure logic is already tested (git-clone path derivation; the video URL dynamic-binding + capture-template registration). The uncovered lines are magit/difftastic/git-timemachine config and interactive toggles, not testable logic.
-*** TODO [#B] Add coverage for =ui-navigation.el= (8.7%, 4/46) :tests:
-
-Extend the existing window-resize tests to cover navigation commands,
-window-selection behavior, and boundary cases around missing/side windows.
-
-*** TODO [#B] Add coverage for =prog-go.el= (11.1%, 3/27) :tests:
-
-Cover Go formatting/test command wiring and any path/build helper behavior with
-external commands stubbed.
-
-*** TODO [#B] Add coverage for =system-commands.el= (12.2%, 6/49) :tests:
-
-Cover shell command wrapper construction, missing executable behavior, and
-interactive command smoke paths with process execution stubbed.
-
-*** TODO [#B] Add coverage for =external-open.el= (15.2%, 5/33) :tests:
-
-The library helpers already have some coverage; add smoke/characterization tests
-for user-facing open commands and error paths while stubbing launcher calls.
-
-*** TODO [#B] Add coverage for =org-webclipper.el= (16.9%, 10/59) :tests:
-
-Cover URL/content parsing, manual URL prompt behavior, protocol URL handling,
-and aborted capture cleanup.
-
-*** TODO [#B] Add coverage for =system-utils.el= (19.2%, 5/26) :tests:
-
-Review remaining utilities not covered by =eval-buffer= tests. Add focused
-Normal/Boundary/Error tests for pure helpers; stub process/system calls.
-
-*** TODO [#B] Add coverage for =org-reveal-config.el= (20.0%, 9/45) :tests:
-
-Extend existing header-template/title tests to cover export command setup and
-option-building helpers.
-
-*** TODO [#B] Add coverage for =coverage-elisp.el= (26.3%, 5/19) :tests:
-
-The detector is covered; add tests for report-path/project-root behavior and a
-stubbed run callback path if it can be tested without launching compilation.
-
-*** TODO [#B] Add coverage for =org-noter-config.el= (27.3%, 27/99) :tests:
-
-Build on the existing predicate/template tests. Target note-file placement,
-preferred split behavior, and interactive wrapper smoke tests.
-
-*** TODO [#B] Add coverage for =ai-config.el= (27.7%, 53/191) :tests:
-
-Prioritize model/backend selection edge cases, gptel local-tool registration,
-and command helpers. Stub network/model calls.
-
-*** TODO [#B] Add coverage for =dirvish-config.el= (30.4%, 48/158) :tests:
-
-Existing utility tests cover several helpers. Add focused coverage for remaining
-playlist/quick-access/display-path branches and document config-only areas.
-
-*** TODO [#B] Add coverage for =slack-config.el= (32.0%, 24/75) :tests:
-
-Extend reaction workflow coverage to message lookup, workspace/account
-configuration, and command error handling with Slack APIs stubbed.
-
-*** TODO [#B] Add coverage for =org-roam-config.el= (32.5%, 26/80) :tests:
-
-Extend existing slug/demote/link tests to cover TODO copy behavior, capture
-helpers, and file/path boundary cases.
-
-*** TODO [#B] Add coverage for =custom-text-enclose.el= (35.2%, 51/145) :tests:
-
-Many wrappers are tested, but coverage is still low. Identify untested commands
-and add table-driven region/buffer boundary cases.
-
-*** TODO [#B] Add coverage for =hugo-config.el= (39.6%, 38/96) :tests:
-
-Extend metadata/template tests to draft collection, path derivation, and command
-wrapper behavior with file/process calls stubbed.
-
-*** TODO [#B] Add coverage for =org-refile-config.el= (41.2%, 21/51) :tests:
-
-Build on target-building tests. Cover org-mode enforcement, missing files, and
-refile target edge cases.
-
-*** TODO [#B] Add coverage for =org-contacts-config.el= (45.6%, 36/79) :tests:
-
-Extend email parsing/finalize tests to contact lookup, capture field handling,
-and malformed contact data.
-
-*** TODO [#B] Add coverage for =transcription-config.el= (46.3%, 75/162) :tests:
-
-Existing helper tests are strong; add start/stop/process lifecycle tests with
-process creation and sentinels stubbed.
-
-*** TODO [#B] Add coverage for =music-config.el= (46.8%, 130/278) :tests:
-
-Coverage is broad but below 50%. Target remaining playlist mutation,
-navigation, and MPD side-effect paths with process calls stubbed.
-
-*** TODO [#B] Add coverage for =mail-config.el= (47.4%, 9/19) :tests:
-
-Transport helpers are covered. Add smoke tests for account context data,
-maildir shortcuts, bookmarks, and safe command setup without sending mail.
-
-*** TODO [#B] Add or triage first coverage for =ai-conversations.el= (missing from SimpleCov) :tests:
-
-High-value missing module. Cover gptel persistence, autosave path selection, and
-load/save error behavior with filesystem calls isolated.
-
-*** TODO [#B] Add or triage first coverage for =auth-config.el= (missing from SimpleCov) :tests:
-
-Review for testable cache/debug helpers versus package glue. Add tests for
-helpers; document any config-only surface as intentionally untested.
-
-*** TODO [#B] Add or triage first coverage for =calibredb-epub-config.el= (missing from SimpleCov) :tests:
-
-Review EPUB preference helpers and calibredb/nov hooks. Add tests around pure
-helpers; avoid brittle package-load assertions.
-
-*** TODO [#B] Add or triage first coverage for =chrono-tools.el= (missing from SimpleCov) :tests:
-
-Identify date/time helpers and command formatting logic. Add deterministic tests
-with current time stubbed.
-
-*** TODO [#B] Add or triage first coverage for =dashboard-config.el= (missing from SimpleCov) :tests:
-
-Cover custom dashboard commands such as single-window/dashboard-only behavior
-with buffer/window operations isolated.
-
-*** TODO [#B] Triage =diff-config.el= as missing from SimpleCov :tests:
-
-Mostly likely package/keybinding glue. Add tests only for local helper logic; if
-none exists, document as no unit tests appropriate.
-
-*** TODO [#B] Add or triage first coverage for =dwim-shell-config.el= (missing from SimpleCov) :tests:
-
-Review DWIM shell command selection and buffer/process helpers. Stub shell
-launches and cover fallback/error cases.
-
-*** TODO [#B] Triage =elfeed-config.el= as missing from SimpleCov :tests:
-
-Check for project-owned feed/search helpers. If it is only elfeed setup,
-document as low-value for unit coverage.
-
-*** TODO [#B] Triage =erc-config.el= as missing from SimpleCov :tests:
-
-Check for local IRC command helpers. If the file is package setup only, document
-as intentionally untested.
-
-*** TODO [#B] Add or triage first coverage for =eshell-config.el= (missing from SimpleCov) :tests:
-
-Cover local eshell helper functions and command aliases where possible. Avoid
-tests that depend on a live shell session.
-
-*** TODO [#B] Triage =eww-config.el= as missing from SimpleCov :tests:
-
-Review for local URL/browser helpers. If configuration-only, document as
-low-value for unit coverage.
-
-*** TODO [#B] Triage =flycheck-config.el= as missing from SimpleCov :tests:
-
-Prefer testing only project-owned predicate/setup helpers. Do not test flycheck
-package internals.
-
-*** TODO [#B] Triage =flyspell-and-abbrev.el= as missing from SimpleCov :tests:
-
-Look for local dictionary/abbrev helpers. If the file only wires modes/hooks,
-document that no unit tests are appropriate.
-
-*** TODO [#B] Triage =font-config.el= as missing from SimpleCov :tests:
-
-Check for font-selection helpers; otherwise classify as environment-specific UI
-configuration.
-
-*** TODO [#B] Triage =games-config.el= as missing from SimpleCov :tests:
-
-Check for project-owned game command wrappers. If it is only package setup,
-document as low-value.
-
-*** TODO [#B] Add or triage first coverage for =gloss-config.el= (missing from SimpleCov) :tests:
-
-Review glossary lookup/parsing helpers. Add pure tests where possible and smoke
-test interactive commands with completion stubbed.
-
-*** TODO [#B] Add or triage first coverage for =help-config.el= (missing from SimpleCov) :tests:
-
-High-value missing module from the original audit. Cover interactive help lookup
-commands and buffer-selection behavior with display functions stubbed.
-
-*** TODO [#B] Add or triage first coverage for =help-utils.el= (missing from SimpleCov) :tests:
-
-High-value missing module. Cover lookup/formatting helpers and error behavior
-for unknown symbols/topics.
-
-*** TODO [#B] Triage =httpd-config.el= as missing from SimpleCov :tests:
-
-Check for local server helpers. If it only configures simple-httpd, document as
-configuration-only.
-
-*** TODO [#B] Triage =latex-config.el= as missing from SimpleCov :tests:
-
-Review for local compile/view helper logic. Avoid asserting package setup unless
-there are project-owned predicates.
-
-*** TODO [#B] Triage =ledger-config.el= as missing from SimpleCov :tests:
-
-Check for project-owned ledger helpers; otherwise document as mode setup.
-
-*** TODO [#B] Add or triage first coverage for =local-repository.el= (missing from SimpleCov) :tests:
-
-Review repository path/discovery helpers and add filesystem-backed tempdir tests
-for meaningful local logic.
-
-*** TODO [#B] Triage =markdown-config.el= as missing from SimpleCov :tests:
-
-Check for local markdown command helpers. If it is only mode configuration,
-document as no unit tests appropriate.
-
-*** TODO [#B] Add or triage first coverage for =media-utils.el= (missing from SimpleCov) :tests:
-
-Original audit called this out with process boundaries. Cover launcher/command
-selection helpers with external commands stubbed.
-
-*** TODO [#B] Add or triage first coverage for =mu4e-org-contacts-integration.el= (missing from SimpleCov) :tests:
-
-Cover contact lookup/insert integration with mu4e and org-contacts calls
-stubbed.
-
-*** TODO [#B] Add or triage first coverage for =mu4e-org-contacts-setup.el= (missing from SimpleCov) :tests:
-
-Cover setup helpers and contact field defaults where project-owned logic exists.
-
-*** TODO [#B] Triage =org-agenda-config-debug.el= as missing from SimpleCov :tests:
-
-Check for debug helper functions worth testing. If it is ad-hoc diagnostics,
-document as low-value.
-
-*** TODO [#B] Triage =org-babel-config.el= as missing from SimpleCov :tests:
-
-Review for project-owned org-babel helper logic. Avoid tests that only assert
-language registration.
-
-*** TODO [#B] Triage =org-drill-config.el= as missing from SimpleCov :tests:
-
-Check for local drill helpers beyond package setup. Add characterization tests
-only for those helpers.
-
-*** TODO [#B] Triage =org-export-config.el= as missing from SimpleCov :tests:
-
-Review export option/path helpers. If configuration-only, document as no unit
-tests appropriate.
-
-*** TODO [#B] Triage =pdf-config.el= as missing from SimpleCov :tests:
-
-Check for local PDF helper commands. Avoid tests tied to external PDF tools
-unless command construction can be isolated.
-
-*** TODO [#B] Triage =popper-config.el= as missing from SimpleCov :tests:
-
-Review popup classification helpers. Add tests for predicates; document pure
-package setup as intentionally untested.
-
-*** TODO [#B] Triage =prog-general.el= as missing from SimpleCov :tests:
-
-Check for local development command helpers beyond global key setup. Add tests
-only for project-owned logic.
-
-*** TODO [#B] Triage =prog-lisp.el= as missing from SimpleCov :tests:
-
-Review Lisp-mode helper behavior. If it is only hooks/mode setup, document as
-low-value.
-
-*** TODO [#B] Triage =prog-training.el= as missing from SimpleCov :tests:
-
-Check for exercise/training command helpers and add characterization tests if
-present.
-
-*** TODO [#B] Add or triage first coverage for =quick-video-capture.el= (missing from SimpleCov) :tests:
-
-High-value missing module. Cover yt-dlp queue behavior, org-protocol handling,
-URL parsing, and process error paths with external commands stubbed.
-
-*** TODO [#B] Add or triage first coverage for =show-kill-ring.el= (missing from SimpleCov) :tests:
-
-High-value missing module. Cover kill-ring formatting, selection behavior, and
-empty-ring boundaries.
-
-*** TODO [#B] Triage =text-config.el= as missing from SimpleCov :tests:
-
-Review for local text helper commands. If it only configures packages/hooks,
-document as no unit tests appropriate.
-
-*** TODO [#B] Triage =tramp-config.el= as missing from SimpleCov :tests:
-
-Check for local TRAMP path helpers. Avoid tests requiring remote connections.
-
-*** TODO [#B] Add or triage first coverage for =vc-config.el= (missing from SimpleCov) :tests:
-
-Review project-owned VC helpers and command wrappers. Stub git/process calls.
-
-*** TODO [#B] Triage =weather-config.el= as missing from SimpleCov :tests:
-
-Check for request/format helpers. Avoid live network tests; stub weather calls.
-
-*** TODO [#B] Add or triage first coverage for =wrap-up.el= (missing from SimpleCov) :tests:
-
-Cover init-finalize helpers and post-startup behavior with hooks/timers stubbed.
** DONE [#B] Review all config and pull library functions into system-lib file :refactor:
Superseded by =PROJECT [#B] Consolidate shared utility helpers= (the structured version of this, with =docs/design/utility-consolidation.org= as the spec and =docs/design/utility-inventory.org= as the config-wide audit -- 30 candidate helpers across all modules, decided 11 Migrate / 3 Leave / 13 Defer). The system-lib extractions shipped 2026-05-10: =c75e36f= (=cj/executable-find-or-warn= from mail-config), =f1e8f08= (=cj/shell-quote-argument-readable= from dev-fkeys), =57e558c= (=cj/process-output-or-error= + =cj/git-output-or-error= from coverage-core), =aa72245= (=cj/file-from-context= from system-utils), plus the earlier =8e8152e= (=cj/log-silently=) -- each with its own test file. The rest of the 11 Migrate items landed as new =-lib.el= modules in the same marathon (=cj-cache-lib.el=, =cj-org-text-lib.el=, =external-open-lib.el=, =cj-window-geometry-lib.el=, =cj-window-toggle-lib.el=). The 13 deferred candidates remain tracked under the Consolidate-shared-utility-helpers PROJECT, not here.
** DONE [#C] Clean up calibredb-epub-config.el :refactor:bug: