diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-13 15:08:55 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-13 15:08:55 -0500 |
| commit | 0e1036f791bf5c597996a2f12b546619ab831c0c (patch) | |
| tree | 3d40fdf56a88151fde0056c527bc94ec4f694391 | |
| parent | a306215d08992dcf0cd7dfd2b9cd447495ba7767 (diff) | |
| download | rulesets-0e1036f791bf5c597996a2f12b546619ab831c0c.tar.gz rulesets-0e1036f791bf5c597996a2f12b546619ab831c0c.zip | |
feat(protocols): add cross-project boundary and signature image rules
Cross-Project Boundary tells the session to stop and ask before acting on a file or task scoped to a different project's .ai/, then write a handoff file at the target project's inbox/ if confirmed.
Signature Image documents the location of the transparent signature PNGs in the archsetup stow tree and limits stamping to explicit per-document requests — never signing on initiative.
| -rw-r--r-- | .ai/protocols.org | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/.ai/protocols.org b/.ai/protocols.org index d820073..8bde31f 100644 --- a/.ai/protocols.org +++ b/.ai/protocols.org @@ -140,6 +140,14 @@ If you =cd= into a directory and then delete that directory, the shell's working This caused a session break on 2026-02-06 when an extraction directory was =cd='d into and then deleted during cleanup. +** Cross-Project Boundary — Stop and Ask + +If a request targets a file or task under a *different* project's =.ai/= scope than the current session (cwd is one project, the argument names another project's =todo.org=, =inbox/=, or similar), stop and ask before doing the work: "this looks like it belongs to <other project>'s session — do it from here, or switch projects?" Inline numbered options, no popup. + +Each project's =.ai/= is the scope boundary: =protocols.org=, =session-context.org=, =sessions/=, =notes.org=, =todo.org=, =inbox/=, plus the project's memory dir at =~/.claude/projects/<encoded-cwd>/memory/=. Crossing without flagging pollutes the current session's log with the other project's content and drops memories into the wrong dir. If the user confirms "do it from here," write a handoff file at =<other-project>/inbox/YYYY-MM-DD-handoff-from-<this-project>-<topic>.org= so the other project's next session picks it up. + +Canonical rule: =~/code/rulesets/claude-rules/cross-project.md=. + * Important Terminology ** "Let's run the [X] workflow" vs "I want to create an [X] workflow" @@ -206,6 +214,21 @@ gpg -d file.json.gpg > file.json # decrypt (pinentry GUI handles passphras - =--default-recipient-self= uses the =c@cjennings.net= key - Prefer key-based encryption over symmetric for project secrets +** Signature Image + +A transparent-background PNG scan of Craig's handwritten signature lives at +=~/pictures/cj-sig-transparent.png= (324×213, cropped), with a higher-resolution +version at =~/pictures/cj-sig-no-background.png= (1536×1024). Both are symlinks +into the archsetup stow dotfiles (=~/code/archsetup/dotfiles/common/pictures/=), +so they're present on every machine. RGBA, transparent background; composites +cleanly over a form line. + +Default for signing documents is still Craig signing by hand in Xournal++. Only +overlay this image onto a PDF (or other document) when Craig *explicitly asks +for it on a specific document* — never sign for him on your own initiative. The +=edit-pdf= workflow (project-level, where present) has the reportlab snippet for +stamping it. + ** Task List Location Craig's global task list is available at: =/home/cjennings/sync/org/roam/inbox.org= |
