aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-13 12:08:17 -0500
committerCraig Jennings <c@cjennings.net>2026-06-13 12:08:17 -0500
commitdebd33f69d07117f2a46f3b8a03b86b9882896a6 (patch)
tree4f86a89ba95d358325a292a3e6fbf29f78e90a23
parentf0c5ce6cdfce4a39d3a708fa84709d341d39a764 (diff)
downloaddotemacs-debd33f69d07117f2a46f3b8a03b86b9882896a6.tar.gz
dotemacs-debd33f69d07117f2a46f3b8a03b86b9882896a6.zip
docs(claude): codify the manual-verification VERIFY-child pattern
When a task's code is done and only the hands-on check remains, file that check as a VERIFY child under the Manual testing and validation parent and close the originating task, instead of leaving the whole task DOING.
-rw-r--r--CLAUDE.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index b6383975..8385dfea 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -87,3 +87,5 @@ Prefer Write over cumulative Edits for nontrivial new code. Small functions (und
- **ghostel F-key / prefix bindings need `ghostel-keymap-exceptions` + a rebuild, not just `ghostel-mode-map`.** In semi-char mode ghostel forwards every key not in `ghostel-keymap-exceptions` to the pty, and `ghostel-semi-char-mode-map` (rebuilt from that list, and outranking the major-mode map) wins. So binding F9 / F12 / C-; in `ghostel-mode-map` alone is silently dead inside agent/terminal buffers — the key reaches the shell, not Emacs. Fix: add the key to `ghostel-keymap-exceptions` AND call `ghostel--rebuild-semi-char-keymap` (`add-to-list` updates the list but not the already-built map). `term-config.el` (C-;, F12) and `ai-term.el` (F9 family) do this in their `with-eval-after-load 'ghostel`. This is the opposite of vterm, where binding in `vterm-mode-map` sufficed. (`gotcha` — 2026-06-05)
- **Rulesets-owned changes propagate by edit-local + send-copy + explanatory note.** A bug or enhancement that belongs to a rulesets-owned synced file (a workflow under `.ai/workflows/`, a skill, a rule under `.claude/rules/`, a script under `.ai/scripts/`) is handled by editing the local copy so it's usable now, then sending rulesets a copy of the edited file plus an explanatory note — a local edit alone is overwritten on the next template sync, so the canonical update is what makes it durable. The note covers: how the problem was hit, what outcomes the change should alter, any implementation recommendations, and any follow-up instructions (e.g. send a note back with more info). Send notes with the inbox-send script (`inbox-send rulesets --file <path>`). Offer the change proactively when it would help. (`pattern` — 2026-06-12)
+
+- **Manual-verification handoff: VERIFY child, close the originating task.** When a task's code is complete and the only thing left is Craig's hands-on check, don't leave the whole task stuck in DOING. File the manual check as a `VERIFY` child under the "Manual testing and validation" parent task, then close the originating task itself (DONE for a top-level task, or the dated-log rewrite for a sub-task, per `todo-format.md`). The VERIFY child carries the residual human check and surfaces in the agenda until Craig confirms; the implementation task is no longer held open by it. Replaces the prior habit of leaving the fixed task DOING with a `*** TODO` manual-test note under the parent. (`pattern` — 2026-06-13)