aboutsummaryrefslogtreecommitdiff
path: root/claude-templates/.ai/protocols.org
diff options
context:
space:
mode:
Diffstat (limited to 'claude-templates/.ai/protocols.org')
-rw-r--r--claude-templates/.ai/protocols.org27
1 files changed, 19 insertions, 8 deletions
diff --git a/claude-templates/.ai/protocols.org b/claude-templates/.ai/protocols.org
index bf9f420..3e32074 100644
--- a/claude-templates/.ai/protocols.org
+++ b/claude-templates/.ai/protocols.org
@@ -106,7 +106,7 @@ The epoch is baked into the id by the spawner, never minted inside =session-cont
Resolve the path with =.ai/scripts/session-context-path= rather than hardcoding =.ai/session-context.org=; it prints the right path for the current =AI_AGENT_ID=. Fall back to =.ai/session-context.org= if the script isn't present (older checkouts mid-sync). Everything below — the record/recovery purpose, the update triggers, the startup existence check, the wrap-up rename — operates on that resolved path. The prose says "session-context.org" as the default name; read it as "the resolved active path" when =AI_AGENT_ID= is set.
-A helper instance (a second agent running in this project while a primary session is live) follows a different contract: it skips the pulls and rsync, makes only scoped single-heading edits to shared files, leaves all git mutation to the primary, and wraps up by archiving its own context file without committing. The full rules — read/write tiers, data-integrity, light startup, helper wrap-up — live in [[file:workflows/helper-mode.org][workflows/helper-mode.org]]. A session is a helper only when something routes it there (the =ai --helper= launcher, startup's roster check, or an explicit "you are a helper" instruction); the routing itself ships behind the helper-instance feature gate and isn't live yet.
+A helper instance (a second agent running in this project while a primary session is live) follows a different contract: it skips the pulls and rsync, makes only scoped single-heading edits to shared files, leaves all git mutation to the primary, and wraps up by archiving its own context file without committing. The full rules — read/write tiers, data-integrity, light startup, helper wrap-up — live in [[file:workflows/helper-mode.org][workflows/helper-mode.org]]. A session is a helper only when something routes it there: the =ai --helper= launcher (live — it checks the roster, assigns the id, and opens the helper in its own tmux window) or an explicit "you are a helper" instruction. Startup's roster check is *not* built, so a bare =claude= launched into a project that already has a live session will run full primary startup regardless. Launch helpers with =ai --helper=.
This file serves two purposes with one mechanism:
1. *Crash recovery* — if the session dies mid-work, the live file is all that's left. On 2026-01-22 a session crashed during a 20-minute design discussion and all context was lost because this file wasn't being updated.
@@ -307,15 +307,26 @@ gpg -d file.json.gpg > file.json # decrypt (pinentry GUI handles passphras
** 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.
+Craig's handwritten marks live in =~/pictures/signature/=, all
+transparent-background PNGs that composite cleanly over a form line:
+
+| File | What it is |
+|--------------------------------+------------------------------------------------|
+| =cj-signature-transparent.png= | Full signature, 324×213. The everyday one. |
+|--------------------------------+------------------------------------------------|
+| =cj-signature-large.png= | Same signature at 1536×1024, for print. |
+|--------------------------------+------------------------------------------------|
+| =cj-initials-transparent.png= | Handwritten CJ monogram, 65×66. Initial boxes. |
+|--------------------------------+------------------------------------------------|
+
+The directory is stow-managed from Craig's dotfiles repo, so it's present on
+every machine. Its =README.md= carries the ImageMagick pipeline the marks were
+keyed with, and the sizing guidance for placing one on a form — signature fields
+are usually thin baseline strips, so a mark fitted inside the strip shrinks to an
+illegible speck. Read it before stamping rather than guessing at a size.
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
+overlay one of these 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.