aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--README.org6
-rw-r--r--archive/gptel/custom/gptel-prompts.el (renamed from custom/gptel-prompts.el)0
-rw-r--r--archive/gptel/docs-specs/gptel-gh-tool-spec.org (renamed from docs/specs/gptel-gh-tool-spec.org)0
-rw-r--r--archive/gptel/docs-specs/gptel-git-tools-magit-backend-spec.org (renamed from docs/specs/gptel-git-tools-magit-backend-spec.org)0
-rw-r--r--archive/gptel/docs-specs/gptel-network-tools-spec.org (renamed from docs/specs/gptel-network-tools-spec.org)0
-rw-r--r--archive/gptel/docs-specs/mcp-el-gptel-integration-spec-doing.org (renamed from docs/specs/mcp-el-gptel-integration-spec-doing.org)0
-rw-r--r--archive/gptel/gptel-tools/git_diff.el (renamed from gptel-tools/git_diff.el)0
-rw-r--r--archive/gptel/gptel-tools/git_log.el (renamed from gptel-tools/git_log.el)0
-rw-r--r--archive/gptel/gptel-tools/git_status.el (renamed from gptel-tools/git_status.el)0
-rw-r--r--archive/gptel/gptel-tools/list_directory_files.el (renamed from gptel-tools/list_directory_files.el)0
-rw-r--r--archive/gptel/gptel-tools/move_to_trash.el (renamed from gptel-tools/move_to_trash.el)0
-rw-r--r--archive/gptel/gptel-tools/read_buffer.el (renamed from gptel-tools/read_buffer.el)0
-rw-r--r--archive/gptel/gptel-tools/read_text_file.el (renamed from gptel-tools/read_text_file.el)0
-rw-r--r--archive/gptel/gptel-tools/update_text_file.el (renamed from gptel-tools/update_text_file.el)0
-rw-r--r--archive/gptel/gptel-tools/web_fetch.el (renamed from gptel-tools/web_fetch.el)0
-rw-r--r--archive/gptel/gptel-tools/write_text_file.el (renamed from gptel-tools/write_text_file.el)0
-rw-r--r--archive/gptel/modules/ai-config.el (renamed from modules/ai-config.el)0
-rw-r--r--archive/gptel/modules/ai-conversations-browser.el (renamed from modules/ai-conversations-browser.el)0
-rw-r--r--archive/gptel/modules/ai-conversations.el (renamed from modules/ai-conversations.el)0
-rw-r--r--archive/gptel/modules/ai-mcp.el (renamed from modules/ai-mcp.el)0
-rw-r--r--archive/gptel/modules/ai-quick-ask.el (renamed from modules/ai-quick-ask.el)0
-rw-r--r--archive/gptel/modules/ai-rewrite.el (renamed from modules/ai-rewrite.el)0
-rw-r--r--archive/gptel/tests/test-ai-config--apply-model-selection.el (renamed from tests/test-ai-config--apply-model-selection.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-auth-source-secret.el (renamed from tests/test-ai-config-auth-source-secret.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-backend-and-model.el (renamed from tests/test-ai-config-backend-and-model.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-build-model-list.el (renamed from tests/test-ai-config-build-model-list.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-commands.el (renamed from tests/test-ai-config-commands.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-current-model-selection.el (renamed from tests/test-ai-config-current-model-selection.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-fresh-org-prefix.el (renamed from tests/test-ai-config-fresh-org-prefix.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-gptel-backend-libs.el (renamed from tests/test-ai-config-gptel-backend-libs.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-gptel-commands.el (renamed from tests/test-ai-config-gptel-commands.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-gptel-local-tools.el (renamed from tests/test-ai-config-gptel-local-tools.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-gptel-magit-lazy-loading.el (renamed from tests/test-ai-config-gptel-magit-lazy-loading.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-helpers.el (renamed from tests/test-ai-config-helpers.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-model-to-string.el (renamed from tests/test-ai-config-model-to-string.el)0
-rw-r--r--archive/gptel/tests/test-ai-config-model-to-symbol.el (renamed from tests/test-ai-config-model-to-symbol.el)0
-rw-r--r--archive/gptel/tests/test-ai-conversations-browser.el (renamed from tests/test-ai-conversations-browser.el)0
-rw-r--r--archive/gptel/tests/test-ai-conversations.el (renamed from tests/test-ai-conversations.el)0
-rw-r--r--archive/gptel/tests/test-ai-mcp-helpers.el (renamed from tests/test-ai-mcp-helpers.el)0
-rw-r--r--archive/gptel/tests/test-ai-quick-ask.el (renamed from tests/test-ai-quick-ask.el)0
-rw-r--r--archive/gptel/tests/test-ai-rewrite.el (renamed from tests/test-ai-rewrite.el)0
-rw-r--r--archive/gptel/tests/test-gptel-tools-git-diff.el (renamed from tests/test-gptel-tools-git-diff.el)0
-rw-r--r--archive/gptel/tests/test-gptel-tools-git-log.el (renamed from tests/test-gptel-tools-git-log.el)0
-rw-r--r--archive/gptel/tests/test-gptel-tools-git-status.el (renamed from tests/test-gptel-tools-git-status.el)0
-rw-r--r--archive/gptel/tests/test-gptel-tools-list-directory-files.el (renamed from tests/test-gptel-tools-list-directory-files.el)0
-rw-r--r--archive/gptel/tests/test-gptel-tools-move-to-trash.el (renamed from tests/test-gptel-tools-move-to-trash.el)0
-rw-r--r--archive/gptel/tests/test-gptel-tools-read-buffer.el (renamed from tests/test-gptel-tools-read-buffer.el)0
-rw-r--r--archive/gptel/tests/test-gptel-tools-read-text-file.el (renamed from tests/test-gptel-tools-read-text-file.el)0
-rw-r--r--archive/gptel/tests/test-gptel-tools-web-fetch.el (renamed from tests/test-gptel-tools-web-fetch.el)0
-rw-r--r--archive/gptel/tests/test-gptel-tools-write-text-file.el (renamed from tests/test-gptel-tools-write-text-file.el)0
-rw-r--r--archive/gptel/tests/test-update-text-file.el (renamed from tests/test-update-text-file.el)0
-rw-r--r--archive/gptel/tests/testutil-ai-config.el (renamed from tests/testutil-ai-config.el)0
-rw-r--r--archive/gptel/tests/testutil-filesystem.el (renamed from tests/testutil-filesystem.el)0
-rw-r--r--init.el1
-rw-r--r--modules/font-config.el5
-rw-r--r--tests/run-coverage-file.el1
-rw-r--r--tests/test-init-module-headers.el1
-rw-r--r--todo.org24
59 files changed, 15 insertions, 25 deletions
diff --git a/Makefile b/Makefile
index 319977e88..3ee6ec12a 100644
--- a/Makefile
+++ b/Makefile
@@ -302,7 +302,7 @@ COVERAGE_TESTS = $(filter-out $(COVERAGE_EXCLUDE),$(UNIT_TESTS))
coverage: coverage-clean $(COVERAGE_DIR)
@echo "[i] Deleting compiled coverage targets so undercover can instrument sources..."
- @rm -f $(MODULE_DIR)/*.elc gptel-tools/*.elc
+ @rm -f $(MODULE_DIR)/*.elc
@echo "[i] Running coverage across $(words $(COVERAGE_TESTS)) test files..."
@echo " (this is slower than 'make test' — each file runs in its own Emacs)"
@echo " excluded from coverage: $(notdir $(COVERAGE_EXCLUDE))"
diff --git a/README.org b/README.org
index 989ef948c..ca3c3b14f 100644
--- a/README.org
+++ b/README.org
@@ -6,8 +6,7 @@ Personal Emacs configuration. Pure Elisp, modular, no framework (not
Doom, not Spacemacs). Used daily for real work — this is a lived-in
config, not a demo.
-Still in active development; the GPTel integration and its tool
-implementations in particular are a work in progress.
+Still in active development.
* Status
@@ -37,7 +36,6 @@ my habits. Feel free to read, borrow, or steal; no support promised.
├── snippets/ yasnippet templates
├── themes/ local themes
├── scripts/ helper shell scripts (elpa mirror, setup, etc.)
-├── gptel-tools/ GPTel tool implementations for LLM access
├── org-roam-templates/ capture templates for org-roam
├── githooks/ optional git hooks (pre-commit, etc.)
└── Makefile test / lint / validate / profile targets
@@ -63,8 +61,6 @@ my habits. Feel free to read, borrow, or steal; no support promised.
project directories, surfaces dirty/unpushed repos for review.
- *Mu4e + org-msg + org-contacts* — integrated mail workflow.
- *Reveal.js and ox-hugo* — slide decks and blog publishing from org.
-- *GPTel tools* — buffer / filesystem tools exposed to LLM chats
- (work in progress).
- *Custom keymap* under =C-;= prefix for personal commands.
* Development
diff --git a/custom/gptel-prompts.el b/archive/gptel/custom/gptel-prompts.el
index a2b266f27..a2b266f27 100644
--- a/custom/gptel-prompts.el
+++ b/archive/gptel/custom/gptel-prompts.el
diff --git a/docs/specs/gptel-gh-tool-spec.org b/archive/gptel/docs-specs/gptel-gh-tool-spec.org
index 80ecc0ab6..80ecc0ab6 100644
--- a/docs/specs/gptel-gh-tool-spec.org
+++ b/archive/gptel/docs-specs/gptel-gh-tool-spec.org
diff --git a/docs/specs/gptel-git-tools-magit-backend-spec.org b/archive/gptel/docs-specs/gptel-git-tools-magit-backend-spec.org
index bd84b0595..bd84b0595 100644
--- a/docs/specs/gptel-git-tools-magit-backend-spec.org
+++ b/archive/gptel/docs-specs/gptel-git-tools-magit-backend-spec.org
diff --git a/docs/specs/gptel-network-tools-spec.org b/archive/gptel/docs-specs/gptel-network-tools-spec.org
index c28d54694..c28d54694 100644
--- a/docs/specs/gptel-network-tools-spec.org
+++ b/archive/gptel/docs-specs/gptel-network-tools-spec.org
diff --git a/docs/specs/mcp-el-gptel-integration-spec-doing.org b/archive/gptel/docs-specs/mcp-el-gptel-integration-spec-doing.org
index f22e91959..f22e91959 100644
--- a/docs/specs/mcp-el-gptel-integration-spec-doing.org
+++ b/archive/gptel/docs-specs/mcp-el-gptel-integration-spec-doing.org
diff --git a/gptel-tools/git_diff.el b/archive/gptel/gptel-tools/git_diff.el
index 47db8dae0..47db8dae0 100644
--- a/gptel-tools/git_diff.el
+++ b/archive/gptel/gptel-tools/git_diff.el
diff --git a/gptel-tools/git_log.el b/archive/gptel/gptel-tools/git_log.el
index 324435dc6..324435dc6 100644
--- a/gptel-tools/git_log.el
+++ b/archive/gptel/gptel-tools/git_log.el
diff --git a/gptel-tools/git_status.el b/archive/gptel/gptel-tools/git_status.el
index de76a985b..de76a985b 100644
--- a/gptel-tools/git_status.el
+++ b/archive/gptel/gptel-tools/git_status.el
diff --git a/gptel-tools/list_directory_files.el b/archive/gptel/gptel-tools/list_directory_files.el
index 8da9ba28d..8da9ba28d 100644
--- a/gptel-tools/list_directory_files.el
+++ b/archive/gptel/gptel-tools/list_directory_files.el
diff --git a/gptel-tools/move_to_trash.el b/archive/gptel/gptel-tools/move_to_trash.el
index 923da7902..923da7902 100644
--- a/gptel-tools/move_to_trash.el
+++ b/archive/gptel/gptel-tools/move_to_trash.el
diff --git a/gptel-tools/read_buffer.el b/archive/gptel/gptel-tools/read_buffer.el
index c9136e3cf..c9136e3cf 100644
--- a/gptel-tools/read_buffer.el
+++ b/archive/gptel/gptel-tools/read_buffer.el
diff --git a/gptel-tools/read_text_file.el b/archive/gptel/gptel-tools/read_text_file.el
index f35c94941..f35c94941 100644
--- a/gptel-tools/read_text_file.el
+++ b/archive/gptel/gptel-tools/read_text_file.el
diff --git a/gptel-tools/update_text_file.el b/archive/gptel/gptel-tools/update_text_file.el
index f8b58025c..f8b58025c 100644
--- a/gptel-tools/update_text_file.el
+++ b/archive/gptel/gptel-tools/update_text_file.el
diff --git a/gptel-tools/web_fetch.el b/archive/gptel/gptel-tools/web_fetch.el
index b2f80c5fe..b2f80c5fe 100644
--- a/gptel-tools/web_fetch.el
+++ b/archive/gptel/gptel-tools/web_fetch.el
diff --git a/gptel-tools/write_text_file.el b/archive/gptel/gptel-tools/write_text_file.el
index 1bda54469..1bda54469 100644
--- a/gptel-tools/write_text_file.el
+++ b/archive/gptel/gptel-tools/write_text_file.el
diff --git a/modules/ai-config.el b/archive/gptel/modules/ai-config.el
index 97af1296d..97af1296d 100644
--- a/modules/ai-config.el
+++ b/archive/gptel/modules/ai-config.el
diff --git a/modules/ai-conversations-browser.el b/archive/gptel/modules/ai-conversations-browser.el
index 9f2a7de43..9f2a7de43 100644
--- a/modules/ai-conversations-browser.el
+++ b/archive/gptel/modules/ai-conversations-browser.el
diff --git a/modules/ai-conversations.el b/archive/gptel/modules/ai-conversations.el
index 8061051a8..8061051a8 100644
--- a/modules/ai-conversations.el
+++ b/archive/gptel/modules/ai-conversations.el
diff --git a/modules/ai-mcp.el b/archive/gptel/modules/ai-mcp.el
index 510805be4..510805be4 100644
--- a/modules/ai-mcp.el
+++ b/archive/gptel/modules/ai-mcp.el
diff --git a/modules/ai-quick-ask.el b/archive/gptel/modules/ai-quick-ask.el
index 16f3afae4..16f3afae4 100644
--- a/modules/ai-quick-ask.el
+++ b/archive/gptel/modules/ai-quick-ask.el
diff --git a/modules/ai-rewrite.el b/archive/gptel/modules/ai-rewrite.el
index fb25c1379..fb25c1379 100644
--- a/modules/ai-rewrite.el
+++ b/archive/gptel/modules/ai-rewrite.el
diff --git a/tests/test-ai-config--apply-model-selection.el b/archive/gptel/tests/test-ai-config--apply-model-selection.el
index 4ccd6d7a0..4ccd6d7a0 100644
--- a/tests/test-ai-config--apply-model-selection.el
+++ b/archive/gptel/tests/test-ai-config--apply-model-selection.el
diff --git a/tests/test-ai-config-auth-source-secret.el b/archive/gptel/tests/test-ai-config-auth-source-secret.el
index bab506e5f..bab506e5f 100644
--- a/tests/test-ai-config-auth-source-secret.el
+++ b/archive/gptel/tests/test-ai-config-auth-source-secret.el
diff --git a/tests/test-ai-config-backend-and-model.el b/archive/gptel/tests/test-ai-config-backend-and-model.el
index c03c58a2d..c03c58a2d 100644
--- a/tests/test-ai-config-backend-and-model.el
+++ b/archive/gptel/tests/test-ai-config-backend-and-model.el
diff --git a/tests/test-ai-config-build-model-list.el b/archive/gptel/tests/test-ai-config-build-model-list.el
index 827036038..827036038 100644
--- a/tests/test-ai-config-build-model-list.el
+++ b/archive/gptel/tests/test-ai-config-build-model-list.el
diff --git a/tests/test-ai-config-commands.el b/archive/gptel/tests/test-ai-config-commands.el
index fed06d82b..fed06d82b 100644
--- a/tests/test-ai-config-commands.el
+++ b/archive/gptel/tests/test-ai-config-commands.el
diff --git a/tests/test-ai-config-current-model-selection.el b/archive/gptel/tests/test-ai-config-current-model-selection.el
index 14f9391c8..14f9391c8 100644
--- a/tests/test-ai-config-current-model-selection.el
+++ b/archive/gptel/tests/test-ai-config-current-model-selection.el
diff --git a/tests/test-ai-config-fresh-org-prefix.el b/archive/gptel/tests/test-ai-config-fresh-org-prefix.el
index 16a3211cf..16a3211cf 100644
--- a/tests/test-ai-config-fresh-org-prefix.el
+++ b/archive/gptel/tests/test-ai-config-fresh-org-prefix.el
diff --git a/tests/test-ai-config-gptel-backend-libs.el b/archive/gptel/tests/test-ai-config-gptel-backend-libs.el
index cbf48f444..cbf48f444 100644
--- a/tests/test-ai-config-gptel-backend-libs.el
+++ b/archive/gptel/tests/test-ai-config-gptel-backend-libs.el
diff --git a/tests/test-ai-config-gptel-commands.el b/archive/gptel/tests/test-ai-config-gptel-commands.el
index cab23572e..cab23572e 100644
--- a/tests/test-ai-config-gptel-commands.el
+++ b/archive/gptel/tests/test-ai-config-gptel-commands.el
diff --git a/tests/test-ai-config-gptel-local-tools.el b/archive/gptel/tests/test-ai-config-gptel-local-tools.el
index 8d3a45ac4..8d3a45ac4 100644
--- a/tests/test-ai-config-gptel-local-tools.el
+++ b/archive/gptel/tests/test-ai-config-gptel-local-tools.el
diff --git a/tests/test-ai-config-gptel-magit-lazy-loading.el b/archive/gptel/tests/test-ai-config-gptel-magit-lazy-loading.el
index 6eac0d193..6eac0d193 100644
--- a/tests/test-ai-config-gptel-magit-lazy-loading.el
+++ b/archive/gptel/tests/test-ai-config-gptel-magit-lazy-loading.el
diff --git a/tests/test-ai-config-helpers.el b/archive/gptel/tests/test-ai-config-helpers.el
index cdbc0f6eb..cdbc0f6eb 100644
--- a/tests/test-ai-config-helpers.el
+++ b/archive/gptel/tests/test-ai-config-helpers.el
diff --git a/tests/test-ai-config-model-to-string.el b/archive/gptel/tests/test-ai-config-model-to-string.el
index aa1149272..aa1149272 100644
--- a/tests/test-ai-config-model-to-string.el
+++ b/archive/gptel/tests/test-ai-config-model-to-string.el
diff --git a/tests/test-ai-config-model-to-symbol.el b/archive/gptel/tests/test-ai-config-model-to-symbol.el
index de6f18ff8..de6f18ff8 100644
--- a/tests/test-ai-config-model-to-symbol.el
+++ b/archive/gptel/tests/test-ai-config-model-to-symbol.el
diff --git a/tests/test-ai-conversations-browser.el b/archive/gptel/tests/test-ai-conversations-browser.el
index d7422b096..d7422b096 100644
--- a/tests/test-ai-conversations-browser.el
+++ b/archive/gptel/tests/test-ai-conversations-browser.el
diff --git a/tests/test-ai-conversations.el b/archive/gptel/tests/test-ai-conversations.el
index 2d5aefd13..2d5aefd13 100644
--- a/tests/test-ai-conversations.el
+++ b/archive/gptel/tests/test-ai-conversations.el
diff --git a/tests/test-ai-mcp-helpers.el b/archive/gptel/tests/test-ai-mcp-helpers.el
index 5a995ff2d..5a995ff2d 100644
--- a/tests/test-ai-mcp-helpers.el
+++ b/archive/gptel/tests/test-ai-mcp-helpers.el
diff --git a/tests/test-ai-quick-ask.el b/archive/gptel/tests/test-ai-quick-ask.el
index 3e1f6460f..3e1f6460f 100644
--- a/tests/test-ai-quick-ask.el
+++ b/archive/gptel/tests/test-ai-quick-ask.el
diff --git a/tests/test-ai-rewrite.el b/archive/gptel/tests/test-ai-rewrite.el
index ddb831339..ddb831339 100644
--- a/tests/test-ai-rewrite.el
+++ b/archive/gptel/tests/test-ai-rewrite.el
diff --git a/tests/test-gptel-tools-git-diff.el b/archive/gptel/tests/test-gptel-tools-git-diff.el
index 114fec293..114fec293 100644
--- a/tests/test-gptel-tools-git-diff.el
+++ b/archive/gptel/tests/test-gptel-tools-git-diff.el
diff --git a/tests/test-gptel-tools-git-log.el b/archive/gptel/tests/test-gptel-tools-git-log.el
index c0503039a..c0503039a 100644
--- a/tests/test-gptel-tools-git-log.el
+++ b/archive/gptel/tests/test-gptel-tools-git-log.el
diff --git a/tests/test-gptel-tools-git-status.el b/archive/gptel/tests/test-gptel-tools-git-status.el
index 471938535..471938535 100644
--- a/tests/test-gptel-tools-git-status.el
+++ b/archive/gptel/tests/test-gptel-tools-git-status.el
diff --git a/tests/test-gptel-tools-list-directory-files.el b/archive/gptel/tests/test-gptel-tools-list-directory-files.el
index 9588ce8be..9588ce8be 100644
--- a/tests/test-gptel-tools-list-directory-files.el
+++ b/archive/gptel/tests/test-gptel-tools-list-directory-files.el
diff --git a/tests/test-gptel-tools-move-to-trash.el b/archive/gptel/tests/test-gptel-tools-move-to-trash.el
index 77f886277..77f886277 100644
--- a/tests/test-gptel-tools-move-to-trash.el
+++ b/archive/gptel/tests/test-gptel-tools-move-to-trash.el
diff --git a/tests/test-gptel-tools-read-buffer.el b/archive/gptel/tests/test-gptel-tools-read-buffer.el
index 0a8548359..0a8548359 100644
--- a/tests/test-gptel-tools-read-buffer.el
+++ b/archive/gptel/tests/test-gptel-tools-read-buffer.el
diff --git a/tests/test-gptel-tools-read-text-file.el b/archive/gptel/tests/test-gptel-tools-read-text-file.el
index db3d6e7ed..db3d6e7ed 100644
--- a/tests/test-gptel-tools-read-text-file.el
+++ b/archive/gptel/tests/test-gptel-tools-read-text-file.el
diff --git a/tests/test-gptel-tools-web-fetch.el b/archive/gptel/tests/test-gptel-tools-web-fetch.el
index 10abe6eba..10abe6eba 100644
--- a/tests/test-gptel-tools-web-fetch.el
+++ b/archive/gptel/tests/test-gptel-tools-web-fetch.el
diff --git a/tests/test-gptel-tools-write-text-file.el b/archive/gptel/tests/test-gptel-tools-write-text-file.el
index 14bcb2a51..14bcb2a51 100644
--- a/tests/test-gptel-tools-write-text-file.el
+++ b/archive/gptel/tests/test-gptel-tools-write-text-file.el
diff --git a/tests/test-update-text-file.el b/archive/gptel/tests/test-update-text-file.el
index fc4f8c36a..fc4f8c36a 100644
--- a/tests/test-update-text-file.el
+++ b/archive/gptel/tests/test-update-text-file.el
diff --git a/tests/testutil-ai-config.el b/archive/gptel/tests/testutil-ai-config.el
index c74862226..c74862226 100644
--- a/tests/testutil-ai-config.el
+++ b/archive/gptel/tests/testutil-ai-config.el
diff --git a/tests/testutil-filesystem.el b/archive/gptel/tests/testutil-filesystem.el
index b1970b62d..b1970b62d 100644
--- a/tests/testutil-filesystem.el
+++ b/archive/gptel/tests/testutil-filesystem.el
diff --git a/init.el b/init.el
index cda6aeb72..16f019839 100644
--- a/init.el
+++ b/init.el
@@ -141,7 +141,6 @@
;; -------------------------- AI Integration And Tools -------------------------
-(require 'ai-config) ;; LLM integration with GPTel and friends
(require 'restclient-config) ;; REST API client for API exploration
;; ------------------------- Personal Workflow Related -------------------------
diff --git a/modules/font-config.el b/modules/font-config.el
index 4821b89e1..1c431c864 100644
--- a/modules/font-config.el
+++ b/modules/font-config.el
@@ -265,13 +265,12 @@ the fontset repeatedly is harmless, so it can be called from
(setq emojify-display-style (if (env-gui-p) 'image 'unicode))
(setq emojify-emoji-styles '(ascii unicode github))
- ;; Disable emojify in programming and gptel modes
+ ;; Disable emojify in programming modes
(defun cj/disable-emojify-mode ()
"Disable emojify-mode in the current buffer."
(emojify-mode -1))
- (add-hook 'prog-mode-hook #'cj/disable-emojify-mode)
- (add-hook 'gptel-mode-hook #'cj/disable-emojify-mode))
+ (add-hook 'prog-mode-hook #'cj/disable-emojify-mode))
;; -------------------------- Display Available Fonts --------------------------
;; display all available fonts on the system in a side panel
diff --git a/tests/run-coverage-file.el b/tests/run-coverage-file.el
index 0d96f1918..0cbfed4f5 100644
--- a/tests/run-coverage-file.el
+++ b/tests/run-coverage-file.el
@@ -32,7 +32,6 @@
(setq undercover-force-coverage t)
(undercover "modules/*.el"
- "gptel-tools/*.el"
(:report-format 'simplecov)
(:report-file ".coverage/simplecov.json")
(:merge-report t)
diff --git a/tests/test-init-module-headers.el b/tests/test-init-module-headers.el
index a5b331f4d..4b6ac05c4 100644
--- a/tests/test-init-module-headers.el
+++ b/tests/test-init-module-headers.el
@@ -94,7 +94,6 @@
"org-webclipper"
"hugo-config"
;; Batch 8 — Domain / integration / optional modules (Layer 2-4)
- "ai-config"
"ai-term"
"browser-config"
"calendar-sync"
diff --git a/todo.org b/todo.org
index f2e66eeae..164f797b8 100644
--- a/todo.org
+++ b/todo.org
@@ -215,11 +215,6 @@ Expected: a README preview with headers, bold/italic, code, links, lists/checkbo
What we're verifying: with the dashboard out of global font-lock (Fix A) and file icons on (Fix C), the live dashboard shows the theme colors and icons. Eyeball it.
- Open the dashboard (F1)
Expected: the "Emacs:" banner title is gold, the "Projects:/Bookmarks:/Recent Files:" headings are themed blue, and the project/recent-file rows each show a colored per-filetype icon (org files greenish, dirs yellow; bookmarks a plain icon).
-*** VERIFY gptel C-; a B switches model without the modeline hang
-What we're verifying: cj/gptel-switch-backend (C-; a B) now sets gptel-model to an interned symbol, so the switch completes without the wrong-type-argument-symbolp redisplay hang. Unit tests + a live helper eval already cover the coercion; this is the interactive end-to-end.
-- Invoke cj/gptel-switch-backend (C-; a B)
-- Pick a backend, then a model from its list
-Expected: the modeline updates to the chosen model and Emacs stays responsive — no "Querying ..." hang, no wrong-type-argument backtrace.
*** VERIFY org-faces color set in theme-studio reaches the agenda
What we're verifying: editing an org-faces-* row in theme-studio, exporting, and deploying lands the new color on the real agenda's keyword/priority. The build-theme -> deftheme half and the live org-todo-keyword-faces / org-priority-faces wiring are already verified mechanically; this confirms the visual end-to-end with a human eye.
- Open theme-studio in Chrome and pick "org-faces" from the application dropdown (it sits beside elfeed and mu4e)
@@ -590,25 +585,26 @@ Phase 1. Palette anchors + OKLCH shade generation (reusing colormath.js), the RO
Phase 2. Initial state from seed() plus seedPkgmap for the non-org packages; all-tier reseed button with a scope-named overwrite warning, resetting non-org to their APPS defaults; regenerate dupre-revised.json. Gate: #selftest PASS; default-on-open equals seed(); artifact round-trip (regenerated dupre-revised.json imports back to the same seeded state); Chrome eyeball.
**** TODO Seeding-engine test surface :solo:test:
Keep #seedtest, #selftest, the default-on-open check, the dupre-revised round-trip, node --check, and Chrome validation green.
-** PROJECT [#B] AI Open Work
-Parent grouping the open AI assistant / gptel issues; close each child independently.
-*** TODO [#B] ai-rewrite: chosen directive never reaches the request :bug:solo:
+** CANCELLED [#B] AI Open Work
+CLOSED: [2026-06-23 Tue]
+gptel archived 2026-06-23 to archive/gptel/ (rarely used). The child issues below — ai-rewrite directive plumbing, ai-conversations bugs, the stale-elpa / gptel-magit shadow, model-switch dedup — are all moot against archived code. Kept for reference; detail also in git history.
+*** CANCELLED [#B] ai-rewrite: chosen directive never reaches the request :bug:solo:
=modules/ai-rewrite.el:64= — the directive is let-bound around =(call-interactively #'gptel-rewrite)=, but gptel-rewrite is a transient prefix that returns when the menu shows; the send resolves the directive AFTER the binding unwound (verified against ~/code/gptel/gptel-rewrite.el:780-799). The picker's choice is silently dropped — the module's core feature is inert. Set =gptel--rewrite-directive= buffer-locally (restore via =gptel-post-rewrite-functions=) or use a self-removing global hook entry. From the 2026-06 config audit.
-*** VERIFY [#B] Stale elpa gptel shadows the local fork — likely the gptel-magit root :bug:quick:solo:next:
+*** CANCELLED [#B] Stale elpa gptel shadows the local fork — likely the gptel-magit root :bug:quick:solo:next:
Needs from Craig: can't be done standalone. I tried deleting elpa/gptel-0.9.8.5 — the fork loaded fine and gptel-magit still worked via use-package autoloads, but package activation then printed "Unable to activate gptel-magit / Required gptel-0.9.8 unavailable" on every startup, so I reverted. To remove the shadow we must also resolve gptel-magit's package dependency: either drop gptel-magit's package dep (load it via load-path like the gptel fork), or repackage the fork into .localrepo as gptel. Tell me which and I'll do it; this pairs with the gptel-magit investigation.
=elpa/gptel-0.9.8.5= is still installed alongside the =~/code/gptel= fork (=ai-config.el:383=); package activation puts the elpa dir + autoloads on load-path, so which copy wins depends on ordering, and a mixed load (fork .el + elpa .elc) produces "impossible" bugs. =gptel-magit= (elpa) declares gptel as a dependency, so IT may be pulling the stale copy — check this first when working the open "[#B] Investigate gptel-magit not working properly" task. Fix: =package-delete= the elpa gptel + remove from .localrepo so the fork is the only copy on disk. From the 2026-06 config audit.
2026-06-15: tried deleting =elpa/gptel-0.9.8.5= standalone. The fork loaded correctly and gptel-magit still worked via use-package =:commands= autoloads, BUT package activation then printed "Unable to activate package gptel-magit / Required package gptel-0.9.8 unavailable" on every startup and test run (gptel-magit declares gptel as a package dependency that no longer resolves). Reverted. This can't be done standalone — it must be paired with the gptel-magit dependency fix (drop gptel-magit's package dep, or repackage the fork into .localrepo as gptel). Do it together with the gptel-magit investigation task.
-*** TODO [#C] ai-conversations: dead-buffer load, role flattening, non-atomic writes :bug:solo:
+*** CANCELLED [#C] ai-conversations: dead-buffer load, role flattening, non-atomic writes :bug:solo:
From the 2026-06 config audit, =modules/ai-conversations.el=:
- =:324= — load in a fresh session does =get-buffer-create "*AI-Assistant*"= (plain fundamental-mode buffer); =--ensure-ai-buffer= then sees it exists and never calls =(gptel)=. Sending doesn't work, autosave self-cancels (requires gptel-mode). Use =get-buffer= for the check; let ensure create. The browser RET/l path inherits this.
- =:240= — persistence drops gptel's =response= text properties, so a reloaded history replays to the model as ONE user message (model re-reads its own answers as Craig's words). Adopt gptel's native bounds persistence or re-mark on load from the "* Backend:" headings.
- =:248= — =write-region= straight at the target; crash mid-write truncates the only copy of the history (autosave hits this constantly). Temp + rename.
- =:140= — three overlapping autosave mechanisms (after-send advice that fires before the response exists, post-response hook, 60s timer). Keep the hook; drop the advice (and likely the timer).
-*** VERIFY [#C] Dedup gptel model-switch commands — keep switch-backend or fold into change-model :bug:
+*** CANCELLED [#C] Dedup gptel model-switch commands — keep switch-backend or fold into change-model :bug:
=cj/gptel-change-model= (C-; a m) already does backend+model switching and interns correctly, so =cj/gptel-switch-backend= (C-; a B) is arguably redundant now that its crash is fixed. Decision for Craig: keep both, or delete =cj/gptel-switch-backend= plus its C-; a B binding and keep one model-switch command. From the 2026-06 config-audit follow-up.
** PROJECT [#B] Architecture review follow-up from 2026-05-03 :refactor:
@@ -2319,7 +2315,9 @@ From the color-assignment guide work (2026-06-08): make the tool support the gui
[[id:b70b37f2-37df-4c8e-ac2f-1f20d12e33dd][theme-studio-seeding-engine-spec-doing.org]] — role table + face→role maps for syntax/UI/org, OKLCH shade generation, reseed dupre-revised to the compact mapping. Codex-reviewed, Ready. Implementation tracked under the seeding-engine parent below.
*** TODO Guide-support views and advisories spec
Five optional surfaces, all dismissible and non-blocking, in one collapsible panel where they advise: (1) CVD-simulation toggle on previews (deuteranopia/protanopia/tritanopia); (2) squint/blur preview toggle; (3) lightness-ramp view + palette advisories (accent count over 6-8, roles separated only by red/green) — depends on the OKLCH/ΔE core; (4) definition-vs-call / weight advisories; (5) state-over-syntax preview (region/search/diff tint over real syntax-colored text). Sequence: rewritten guide reviewed → seeding-engine spec → this. Advisories (3, 4) layer on the perceptual-metrics feature.
-** PROJECT [#C] GPTel Feature Extension Brainstorm :feature:
+** CANCELLED [#C] GPTel Feature Extension Brainstorm :feature:
+CLOSED: [2026-06-23 Tue]
+gptel archived 2026-06-23 to archive/gptel/ (rarely used); extension ideas are moot. Child design notes left below as reference.
:PROPERTIES:
:LAST_REVIEWED: 2026-06-01
:END:
@@ -2817,7 +2815,7 @@ Surface current-buffer or project-wide errors and warnings. Useful
both as a "what's broken right now" check and as input to the
patch-narrative buffer / commit-intent workbench above.
-**** TODO [#B] gptel-magit activation fails on velox :bug:quick:
+**** CANCELLED [#B] gptel-magit activation fails on velox :bug:quick:
:PROPERTIES:
:LAST_REVIEWED: 2026-06-01
:END: