aboutsummaryrefslogtreecommitdiff
path: root/claude-rules/cross-project.md
Commit message (Collapse)AuthorAgeFilesLines
* feat(routing): wire the wrap-up cross-project router end to endCraig Jennings45 hours1-0/+2
| | | | | | | | | | This closes the build half of the wrap-up routing spec: Phases 2 and 4 here, with the engine and discovery already shipped. inbox.org's "File as TODO" disposition now runs route_recommend on each keeper and stamps :ROUTE_CANDIDATE: <destination> on strong and weak matches, so the wrap-up router has a candidate set without ever scanning the standing backlog. wrap-it-up.org Step 3 gains the optional router after the inbox sanity check, with the gate-vs-optional split named in the prose: surface the batch with destinations and confidence labels, then go or skip. An empty set stays silent. The go path is mechanical rather than prose-driven: the new route-batch helper lists candidates read-only, and on go extracts each subtree (children ride along, markers stripped, headings promoted), delivers it via inbox-send for provenance, and removes the local copy only after a successful send, rewriting todo.org per send so a crash never strands an already-sent task locally. Overlapping candidate spans (a tagged child inside a tagged parent) are a loud conflict, left in place with a non-zero exit, because routing either span would silently take the other along. A 13-test bats suite covers list/backlog exclusion, empty-set silence, delivery with provenance and children, promotion, drawer pruning, the no-todo.org destination, failed-send recovery with the marker intact, the nested-candidate conflict, and duplicate-marker dedupe. cross-project.md notes the router as a sanctioned cross-project write path.
* refactor(rules): use agent-neutral language in shared rulesCraig Jennings10 days1-1/+1
| | | | | | A non-Claude agent (Codex, a local model) reading the shared rules gets told it's "Claude" in prose that's really about whatever agent is running. I replaced the agent-as-actor references — "how Claude communicates," "when Claude needs the user to pick," a "wrong-context Claude session" — with "the agent." Left untouched: file and path names (CLAUDE.md, .claude/, claude-rules/), and every reference in commits.md, which names Claude and Anthropic on purpose as the things never to attribute a commit to. Neutralizing those would invert the rule.
* docs(rules): clarify proactive inbox-send vs the stop-and-ask ruleCraig Jennings2026-06-121-0/+5
| | | | A literal reading of cross-project.md could see its new propagation section (send synced-file edits to rulesets without being told) as conflicting with the file's stop-and-ask rule. One sentence reconciles them: ask-first governs work inside another project's scope, and an inbox drop is the sanctioned alternative to that, so it needs no confirmation.
* docs(rules): codify propagating synced-file edits back to rulesetsCraig Jennings2026-06-121-0/+30
| | | | | | A downstream edit to a rulesets-owned synced file (workflows, scripts, rules, protocols.org) is a stopgap the next template sync reverts. cross-project.md now documents the three-step propagation (edit locally, inbox-send the file to rulesets, include an intro note with the why and any companions to reconcile) so agents propagate a synced-file edit without being told. From the .emacs.d handoff 2026-06-12.
* docs(cross-project): prefer inbox-send for handoff dropsCraig Jennings2026-05-151-0/+10
| | | | | | | | | | | | | | | | The cross-project boundary rule already prescribes dropping a handoff file in the target project's inbox/ when option 1 ("do it from here") is chosen. The change adds a paragraph pointing at the new inbox-send script as the preferred tool for the drop. The script handles project discovery, source-project provenance in the filename, slug derivation, and timestamping in one call, replacing the hand-constructed filenames and guessed project paths the rule used to require. Filename convention is unchanged (YYYY-MM-DD-HHMM-from-<source>-<slug>.<ext>); the script just generates it instead of me typing it out. Fallback to Write/Edit is documented for cases where the script isn't installed (e.g. a freshly-cloned project before the first startup-rsync).
* feat(rules): cross-project boundary rule + cj-comments preflightCraig Jennings2026-05-131-0/+50
New `claude-rules/cross-project.md` codifies the per-project `.ai/` scope boundary. Stop-and-ask when a request targets another project's files, inline numbered options, handoff-file convention when the user opts to do it from here. `/respond-to-cj-comments` gains a section-0 preflight (boundary check before reading the target file) and a section-7 handoff step (writes the carry-forward file in the target project's `inbox/` when the boundary crossing was approved).