You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
family.py init --name: the holder's README and AGENTS.md name its folder after the display name, where make siblings needs the repository's name, so a holder laid out as its README says clones nothing #629
Filed by lane openRepoShape-4, into v1.1.0, on Brett Heap's word of 2026-10-15T22:49:27Z. Source: R605's review of #624 (#605), measured on main after #578. It is on #460's checklist as issuecomment-6203011653.
What happens
Make a family whose display name differs from its repository: family.py init --org <org> --family Quill --name QuillWorks (measured with --local-remote-dir).
The holder's own README tells the reader to git clone …/Quill.git, then cd QuillWorks. It gives the layout as QuillWorks/QuillWorks and says "The doubled QuillWorks/QuillWorks is deliberate".
In that layout, make siblings prints WARNING the holder's parent folder is 'QuillWorks', not 'Quill'., clones nothing, and make exits 2.
What follows: a holder laid out exactly as its own README says gets no working clones. The fix the warning prints is to move the checkout, which this standard most wants to avoid.
siblings.py names the family two ways in one run. Its header prints name: (siblings: QuillWorks (…)), while its warning asks for a folder named after the repository (Quill).
No test catches it: no test builds a holder whose name: differs from its repository and then runs make siblings. R605's mutant M4, which makes family_folder_name prefer name:, survives 166 tests.
Expected
Every place a family's own files name the FOLDER names it as make siblings does: after the repository. That covers the README's cd, its layout lines, and AGENTS.md.
The display name stays wherever it is only a title.
siblings.py says which name it means.
A test builds a holder with --name different from --family, follows its README's layout, and runs make siblings to a clone.
These are pinned shape copies, so a holder that re-syncs its copies sees an upstream-changed row. The change is to the template text only; no rule changes.
CLAIMED — lane openRepoShape-4, session 11c6c0ef-495a-4a05-94cf-811b7b0a1012@Eagle, 2026-10-15T23:12:34Z, for #629
Logged in lanes/log/openRepoShape-4.md at 496eb32cb1f4084414828746d0593127a547ec55.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#629:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#629"`, kept where the row or its body names `#629`:
none
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `629` as a whole token:
none
Activity
brettheap commentedon Oct 15, 2026
CLAIMED — lane openRepoShape-4, session 11c6c0ef-495a-4a05-94cf-811b7b0a1012@Eagle, 2026-10-15T23:12:34Z, for #629
Logged in
lanes/log/openRepoShape-4.mdat496eb32cb1f4084414828746d0593127a547ec55.The three reads (lane-collision-protocol Rule 1):
docs/release-notes/v1.1.0.md: refreshed at main 4cf5fb0 (49 pull requ…
setup-project.py: a family folder is named after the holder's REPOSIT…
README.md, the handbook, AGENTS.md and the family-root docs: `init`'s…
park, resume and status find a family folder named for its repository…