diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..d6b9a91 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,3 @@ +# CLAUDE.md + +Two disjoint git lineages by design, and local branch names differ between checkouts, so identify a lineage by its remote ref. Remote `main` is the release lineage: the tree the public site serves, with no `prep/` or `SPEC.md`. Remote `recovery/operator-os-explainer-main-20260719` is the dev lineage, where the build documents live. The two share no merge base. In the publishing checkout that RELEASE.md describes, local `main` is dev and local `release` is the release lineage; in other clones local `main` may track remote `main`. Run `git rev-parse --abbrev-ref @{u}` before acting on a branch name. Publishing copies a tree from dev onto the release lineage; never merge, rebase, or cherry-pick between them, and do not read the missing merge base as a broken repo. Whether the dormant dev branches stay on the public remote is the operator's decision; do not resolve it. Details in RELEASE.md; design sources live in the sibling operator-os-explainer-design directory.