aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-15 18:36:34 -0500
committerCraig Jennings <c@cjennings.net>2026-05-15 18:36:34 -0500
commitcdf390940b70fef22d80024675beb7dbe9d24b7e (patch)
tree7d8281d603759ee1785eea54bc4b3b0321587a54
parent23a77929b4a67fd80c99de1a925b94f1b8b7ac74 (diff)
downloadrulesets-cdf390940b70fef22d80024675beb7dbe9d24b7e.tar.gz
rulesets-cdf390940b70fef22d80024675beb7dbe9d24b7e.zip
docs(protocols): add startup pull-ordering rule
The 2026-05-15 claude-templates fold wired the rulesets-first-then-project ordering into startup.org Phase A.0, but the rule itself never landed in protocols.org. This adds a Startup Pull Ordering subsection under IMPORTANT - MUST DO with the ordering, the ff-only guardrail, and the no-auto-stash / merge / rebase rule. Mechanics stay in startup.org; the rule lives in protocols.org because it governs the first action of every session.
-rw-r--r--.ai/protocols.org8
-rw-r--r--claude-templates/.ai/protocols.org8
2 files changed, 16 insertions, 0 deletions
diff --git a/.ai/protocols.org b/.ai/protocols.org
index 4342eff..600ddd6 100644
--- a/.ai/protocols.org
+++ b/.ai/protocols.org
@@ -70,6 +70,14 @@ This applies to:
Do NOT estimate, guess, or rely on memory. Just run the command. It takes one second and prevents errors.
+** Startup Pull Ordering — Rulesets Before Project
+
+Every session pulls rulesets first, then the local project repo. Rulesets carries the canonical behavioral rules and =.ai/= templates (the old =claude-templates= repo is folded in as a subtree at =rulesets/claude-templates/=); the project pull lands commits pushed from other machines or teammates since the last session.
+
+Resolve any dirty-tree or merge issue at each step before moving on. Both pulls run as =git pull --ff-only= (or =git merge --ff-only= against the fetched upstream), so anything non-trivial — non-fast-forward history, dirty working tree, diverged branches — aborts. Surface the state and stop. Never auto-stash, auto-merge, or auto-rebase; the user resolves the conflict before further work.
+
+Mechanics live in =startup.org= Phase A.0. The rule lives here because it governs the very first action of every session: load the freshest behavioral rules and templates before anything else runs.
+
** Session Context File — Record + Recovery Anchor
Location during session: =.ai/session-context.org=
diff --git a/claude-templates/.ai/protocols.org b/claude-templates/.ai/protocols.org
index 4342eff..600ddd6 100644
--- a/claude-templates/.ai/protocols.org
+++ b/claude-templates/.ai/protocols.org
@@ -70,6 +70,14 @@ This applies to:
Do NOT estimate, guess, or rely on memory. Just run the command. It takes one second and prevents errors.
+** Startup Pull Ordering — Rulesets Before Project
+
+Every session pulls rulesets first, then the local project repo. Rulesets carries the canonical behavioral rules and =.ai/= templates (the old =claude-templates= repo is folded in as a subtree at =rulesets/claude-templates/=); the project pull lands commits pushed from other machines or teammates since the last session.
+
+Resolve any dirty-tree or merge issue at each step before moving on. Both pulls run as =git pull --ff-only= (or =git merge --ff-only= against the fetched upstream), so anything non-trivial — non-fast-forward history, dirty working tree, diverged branches — aborts. Surface the state and stop. Never auto-stash, auto-merge, or auto-rebase; the user resolves the conflict before further work.
+
+Mechanics live in =startup.org= Phase A.0. The rule lives here because it governs the very first action of every session: load the freshest behavioral rules and templates before anything else runs.
+
** Session Context File — Record + Recovery Anchor
Location during session: =.ai/session-context.org=