Skip to content

feat: stamp scaffold provenance as a Cella-Base trailer, drop .cella/base#12

Merged
flipvh merged 1 commit into
mainfrom
feat/scaffold-base-trailer
Jul 6, 2026
Merged

feat: stamp scaffold provenance as a Cella-Base trailer, drop .cella/base#12
flipvh merged 1 commit into
mainfrom
feat/scaffold-base-trailer

Conversation

@flipvh

@flipvh flipvh commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Record the upstream commit a scaffold was created from as a Cella-Base: <sha> trailer on the initial commit, and drop the committed .cella/base file — which the current sync CLI never read.

The trailer rides in git history, so it travels with push/clone (a teammate cloning the fork before its first sync still bootstraps), needs no worktree metadata, and puts provenance where it belongs: git log. cella-cli reads it from the root commit to bootstrap the first merge-base, falling back to tree-similarity inference when it is absent or stale (see companion PR cellajs/cella-cli#4).

  • downloadGithubTemplate returns the cloned HEAD SHA again; create() stamps it as the trailer (Initial commit\n\nCella-Base: <sha>)
  • Local-template scaffolds have no known upstream SHA and get a plain Initial commit, as before — cella-cli's inference now covers them (they previously could not sync at all)
  • src/utils/write-scaffold-base.ts deleted; no .cella/ directory is written

Tests

  • e2e (real github:cellajs/cella scaffold) asserts the trailer is present on the root commit and no .cella/ directory exists; 33 tests pass, tsc/biome clean.
  • Verified end-to-end: a real GitHub scaffold bootstraps its merge-base in cella-cli via the trailer.

🤖 Generated with Claude Code

…base

Record the upstream commit a scaffold was created from as a
`Cella-Base: <sha>` trailer on the initial commit instead of writing a
committed .cella/base file. The trailer rides in git history, so it
travels with push/clone, needs no worktree metadata, and is read by the
sync CLI (cella-cli) to bootstrap the first merge-base; when it is
absent or stale, cella-cli falls back to tree-similarity inference.

The .cella/base file was never read by the current sync CLI, so this
also removes dead scaffolding.

Co-Authored-By: Claude Fable 5 <[email protected]>
@flipvh flipvh merged commit 6323884 into main Jul 6, 2026
7 checks passed
@flipvh flipvh deleted the feat/scaffold-base-trailer branch July 6, 2026 09:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant