Skip to content

Commit b5e68ac

Browse files
missingbulbclaude
andauthored
Claudinite growth: conversation extract (#797)
The 2026-07-30 conversation-extract pass over the four logs on conversation-logs found one durable, measured lesson: the canon merge recipe's step 5 (`git checkout main && git pull origin main`) is dead weight in this repo, and its checkout half is the one part that stalls. All four captured sessions ran it verbatim. In session 295e2230 the auto-mode classifier denied `git checkout main` twice (30s + 27s = 57s idle plus three recovery calls) before the session read capture-log.mjs's header and found the checkout had never been needed — that script does every branch write through plumbing against the fetched remote tip and never touches the checkout. The bare `git fetch origin main` in between succeeded first try. The same step cost 44s in 13a6f736 and 8s in 558026a0 for no benefit. Lands as a merge-and-ci section (the pack's skill is the strongest mechanism available: no working-tree state at Stop time can observe an in-session git invocation) plus its row in the pack README's rules table. Refs #795 Claude-Session: https://claude.ai/code/session_01ELABwA8T2DBu5rXALnWdjs Co-authored-by: Claude <noreply@anthropic.com>
1 parent cb87630 commit b5e68ac

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

.claudinite/local/packs/gcec/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ fingerprinted or seeded.
3131
| Branch sync: rebase main + regen | prose |
3232
| Gallery regenerated → link in chat | prose |
3333
| Snapshot moves need owner approval | skill (snapshot-approval) |
34+
| Post-merge: fetch main, never check out | skill (merge-and-ci) |
3435
| bump version = full release | prose (owner command) |
3536
| learned lessons = canon pass | prose (owner command) |
3637
| Integration cases are the contract | prose |

.claudinite/local/packs/gcec/skills/merge-and-ci/SKILL.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,28 @@ all. Open the PR early for those.
6262
- **Batch tool loading**: one `ToolSearch` for every GitHub MCP tool the flow
6363
needs (`issue_write`, `create_pull_request`, `pull_request_read`,
6464
`merge_pull_request`), not one per turn.
65+
66+
## After the merge, `git fetch origin main` — never check `main` out
67+
68+
The canon merge recipe's post-merge step 5 is
69+
`git checkout main && git pull origin main`. **Skip the checkout here**: a plain
70+
`git fetch origin main` is all this repo's remaining post-merge work needs, and
71+
the checkout is the one part that stalls or gets denied.
72+
73+
Nothing downstream reads the working tree. The capture step that follows the
74+
merge (`capture-log.mjs`) does every branch write through git plumbing against
75+
the *fetched* remote tip and never touches the checkout or the index — its own
76+
header says so. The conformance checks resolve their diff base from
77+
`origin/main`, a remote-tracking ref a fetch alone advances. So the checkout
78+
buys nothing but a working-tree switch nobody asked for, at the very end of a
79+
session that is about to end anyway.
80+
81+
Measured across the four captured sessions, all of which ran the canon step
82+
verbatim: in `295e2230` (2026-07-26) the auto-mode classifier **denied**
83+
`git checkout main` twice — once inside a `fetch && checkout && pull` chain
84+
(08:26:09→08:26:39, 30s) and once alone (08:27:13→08:27:40, 27s) — 57s of dead
85+
wall time plus three recovery calls, after which the session read the capture
86+
script's header and concluded the checkout had never been needed. The bare
87+
`git fetch origin main` in between succeeded on the first try. The same step
88+
cost 44s in `13a6f736` and 8s in `558026a0` for no benefit either. Leave the
89+
tree on the merged branch and fetch.

0 commit comments

Comments
 (0)