From cdf390940b70fef22d80024675beb7dbe9d24b7e Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Fri, 15 May 2026 18:36:34 -0500 Subject: 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. --- .ai/protocols.org | 8 ++++++++ claude-templates/.ai/protocols.org | 8 ++++++++ 2 files changed, 16 insertions(+) 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= -- cgit v1.2.3