aboutsummaryrefslogtreecommitdiff
path: root/inbox/2026-05-16-handoff-from-dotemacs-rulesets-missing-inbox-dir.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-18 01:28:47 -0500
committerCraig Jennings <c@cjennings.net>2026-05-18 01:28:47 -0500
commit986bb4c368b1072a4671aecb16fa05b74ecac893 (patch)
treef9139073bc7624bd491965a5745b03b46e94acc7 /inbox/2026-05-16-handoff-from-dotemacs-rulesets-missing-inbox-dir.org
parent470085f4220afabb3b487f9342ed6bc35f5feca0 (diff)
downloadrulesets-986bb4c368b1072a4671aecb16fa05b74ecac893.tar.gz
rulesets-986bb4c368b1072a4671aecb16fa05b74ecac893.zip
docs(commits): check disk before declaring /review-code unavailable
Step 1 told the agent to run /review-code but didn't say what to do when the skill exists on disk yet isn't in the session's available-skills list. The list covers plugin-installed skills only. User commands under ~/.claude/commands/ are routable as slash-commands but don't appear in it, so the agent could declare /review-code unavailable and fall through to the trivial-one-liner exception in Step 2. The new Discovery check tells the agent to verify both ~/.claude/commands/review-code.md and ./.claude/commands/review-code.md on disk before declaring the skill unavailable, and surface the mismatch rather than auto-skipping. Also drops three absorbed or stale inbox files: the skill-discovery handoff (signal absorbed by this edit), the missing-inbox-dir handoff (already resolved by 470085f), and a stale date-coverage scan output (deferred until the task-review habit lands).
Diffstat (limited to 'inbox/2026-05-16-handoff-from-dotemacs-rulesets-missing-inbox-dir.org')
-rw-r--r--inbox/2026-05-16-handoff-from-dotemacs-rulesets-missing-inbox-dir.org75
1 files changed, 0 insertions, 75 deletions
diff --git a/inbox/2026-05-16-handoff-from-dotemacs-rulesets-missing-inbox-dir.org b/inbox/2026-05-16-handoff-from-dotemacs-rulesets-missing-inbox-dir.org
deleted file mode 100644
index 5f1e0ea..0000000
--- a/inbox/2026-05-16-handoff-from-dotemacs-rulesets-missing-inbox-dir.org
+++ /dev/null
@@ -1,75 +0,0 @@
-#+TITLE: Handoff: rulesets has no top-level =inbox/= directory
-#+FROM: dotemacs (~/.emacs.d)
-#+DATE: 2026-05-16
-
-* Context
-
-While trying to deliver a cross-project handoff from the dotemacs session
-(~/.emacs.d) to the rulesets project, I discovered that
-=~/code/rulesets/= has no top-level =inbox/= directory.
-
-The =inbox-send.py= script (the canonical mechanism documented in
-=claude-rules/cross-project.md=) requires the target project to have
-*both* =.ai/= AND =inbox/=:
-
-#+begin_src python
-def is_project(path: Path) -> bool:
- """A project has a `.ai/` marker AND a top-level `inbox/` directory."""
- return (path / ".ai").is_dir() and (path / "inbox").is_dir()
-#+end_src
-
-(=.ai/scripts/inbox-send.py:61-62=)
-
-So =inbox-send.py --list= did not list =rulesets= as an available target,
-even though it has =.ai/=. I worked around this by:
-
-1. =mkdir -p ~/code/rulesets/inbox/=
-2. =Write= the handoff file directly to that new directory.
-
-This handoff file landed at:
-=~/code/rulesets/inbox/2026-05-16-handoff-from-dotemacs-rulesets-missing-inbox-dir.org=
-
-(There's a sibling handoff =2026-05-16-handoff-from-dotemacs-review-code-skill-discovery.org=
-also in this inbox from the same session.)
-
-* What's missing
-
-- =~/code/rulesets/inbox/= didn't exist before this session.
-- The directory is not gitignored (per the project's =.gitignore=).
-- No prior commits reference =inbox/= except for the =inbox-send.py=
- script itself.
-
-* Why this matters
-
-The rulesets project is an active Claude-managed project — it has
-=.ai/protocols.org=, =.ai/sessions/=, a startup workflow, and its own
-=todo.org=. Without an =inbox/= dir:
-
-- Cross-project handoffs from other projects can't land via the canonical
- =inbox-send= mechanism.
-- The rulesets startup workflow has no inbox-processing step that would
- pick up cross-project messages on session start.
-- I had to bypass =inbox-send.py= and =Write= directly, which skips
- filename auto-derivation and source-project provenance handling.
-
-The =claude-templates/= subdir inside rulesets also has =.ai/= but no
-=inbox/=, with the same effect.
-
-* What to fix
-
-Two changes, low effort:
-
-1. *Create =~/code/rulesets/inbox/= and commit it.* Add a =.gitkeep= or
- a README so the directory exists in the tree from the start. Once it
- exists, =inbox-send.py --list= will discover the project and future
- cross-project handoffs will route normally.
-
-2. *(Optional) Same for =~/code/rulesets/claude-templates/inbox/=.* If
- claude-templates is considered its own routable project rather than a
- subdir-only artifact, mirror the change there.
-
-* Filing
-
-This is project-hygiene signal — track in =todo.org= as a single quick
-fix (S effort, single =mkdir= + =.gitkeep= + commit), and the
-=inbox-send.py= discovery starts working automatically.