Skip to content

Commit 8bfa43d

Browse files
missingbulbclaude
andauthored
Claudinite growth: conversation extract (#766)
Two rules from the 2026-07-26 conversation logs, both into the gcec pack's Working rules (prose is the strongest available mechanism — neither condition is observable from a working tree at Stop time): - A silent SessionStart-hook miss, from the issue-760 log: the session had only CLAUDE.md in context, so "LGTM" read as approval rather than the merge command, costing an owner round-trip. Names the tell and the one-call recovery. - `git checkout <old-branch> -- <paths>` destroys the uncommitted edits it was meant to carry to a new branch, from the issue-734 log: three finished edits wiped and a green check + offline-suite pass invalidated. Refs #764 Co-authored-by: Claude <noreply@anthropic.com>
1 parent 2946113 commit 8bfa43d

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

.claudinite/local/packs/gcec/RULES.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,27 @@ pipeline" section below, and its scheduled tasks live under `tasks/`.
88

99
## Working rules
1010

11+
- **No pack prose and no owner preferences in context means the SessionStart
12+
hook never fired — re-run it before acting on owner shorthand.** The tell:
13+
`CLAUDE.md` (plus the date and the owner's email) is the *only* project
14+
instruction you were given, and no Stop-hook feedback arrives between turns.
15+
The hooks are merely *declared* in `.claude/settings.json`; nothing guarantees
16+
they ran, and the miss is silent. It bit #760: without the injected
17+
preference that makes **"LGTM" the merge command**, the session read it as
18+
plain approval and asked whether to merge — an owner round-trip
19+
("did you load my preferences?") to recover a rule that was already written
20+
down. Recover in one call —
21+
`bash .claudinite/shared/engine/hooks/session-start-command.sh` (preferences
22+
alone: `steps/inject-preferences.sh`, which needs `CLAUDE_CODE_USER_EMAIL`) —
23+
and read what it prints before continuing.
24+
- **Never carry uncommitted edits onto a new branch with
25+
`git checkout <old-branch> -- <paths>`** — that restores the paths' *committed*
26+
content, silently destroying exactly the edits it was meant to preserve.
27+
`git checkout -b <new> origin/main` already brings a clean working tree along;
28+
when it can't, commit or `git stash` first and never in the same `&&` chain
29+
that moves the branch. In #734 the combined one-liner wiped three finished
30+
edits **and** invalidated the `check_the_world.mjs` + `npm run test:offline`
31+
pass that had just gone green, forcing a full re-verification.
1132
- **This repo's one divergence from the canon merge recipe: CI must be green
1233
first** — twice for e2e/heavy-browser changes. (Merge method and title are the
1334
canon default, `squash` with `(#N)`, enforced by the `squash-merge-history`

0 commit comments

Comments
 (0)