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
make siblings and family.py siblings: clone each member on its tracking branch, warn before cloning outside a <Family> folder, and run the holder's pinned siblings.py #543
siblings.py is a pinned copy in every family holder, so these go in one change and one re-pin.
From the v1.1.0 triage of the v1.0.0 known limits on #459. One pull request covers the lines below.
Lines
make siblings, holder not in a <Family> folder: clones members first, prints mv lines; re-run clones again. Where: templates/family-root/scripts/siblings.py _run_placement (:906-930), parent_folder_warning. Effort S; all. On main 3121945: Placement still runs before the warning, which mentions the re-run but not the first clones it leaves; nothing is lost. (source)
auF-13: make siblings clones with plain git clone, leaving the member on its default branch, not its tracking branch. Where: templates/family-root/scripts/siblings.py:455; AGENTS.md:403. Effort S; all. On main 3121945: The clone has no -b; README:873 now speaks only of the legs, but AGENTS.md:403 still says "on its tracking branch". (source)
auF-14: family.py siblings runs the standard's siblings.py, not the holder's pinned copy; its remedy says otherwise. Where: scripts/family.py cmd_siblings (:4680-4716), SIBLINGS_SCRIPT (:887). Effort S; all. On main 3121945: SIBLINGS_SCRIPT is under SHAPE_ROOT/templates, and siblings-script-missing still says it "runs the holder's own copy". (source)
Note:#461's fixture line about cloning a just-pushed bare remote by plain path also names siblings.py:455, the same git clone. siblings.py is product code, so that half belongs here.
Each line above is marked → this issue on its tracking issue. Tick it there too when this closes.
The lines as written on the tracking issues
AT-family N6: make siblings in a holder whose folder is not named after the family clones the members first, then prints mv lines that move only the holder (templates/family-root/scripts/siblings.py:736-780), so following them and re-running leaves a second set of clones beside the moved holder; the warning says the siblings stay in the old folder but not that a re-run clones them again.
— #459, body
auF-13: make siblings clones a member with a plain git clone --recurse-submodules (templates/family-root/scripts/siblings.py:453-456). That checks out the remote's default branch, not the member's tracking_branch; the two differ when a member tracks another branch. README.md:873-874 and AGENTS.md:392-393 say "on its tracking branch".
— #459, comment
auF-14: family.py siblings runs the STANDARD checkout's templates/family-root/scripts/siblings.py (family.py:707-708, :3922), not the holder's pinned copy. So a holder pinned at an older shape runs different code under the two entry points. The siblings-script-missing remedy (family.py:3916-3918) wrongly says the subcommand runs the holder's own copy.
— #459, comment
CLAIMED — lane openRepoShape-5, session 50cede29-ab82-4ca3-9f67-d98e1a58c8d2@Eagle, 2026-10-14T22:31:00Z, for #543
Logged in lanes/log/openRepoShape-5.md at f75c77c692e78f35de6658284fcd8ddb78e040f2.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#543:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#543"`, kept where the row or its body names `#543`:
554 tests: every test that clones a just-pushed local remote by its plain path now clones it with `clone_just_pushed`, so the macOS `failed to copy file` race of #440 cannot reach it; `load_without_bytecode` keeps the doctor's and the Windows-path tests' loads of the family root's scripts from writing `.pyc` into the templates; the not-a-list doctor cases hold INVALID, exit 1; and `GOOD_KEYS` holds th l3-544-test-hygiene OPEN
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `543` as a whole token:
none
Activity
brettheap commentedon Oct 14, 2026
CLAIMED — lane openRepoShape-5, session 50cede29-ab82-4ca3-9f67-d98e1a58c8d2@Eagle, 2026-10-14T22:31:00Z, for #543
Logged in
lanes/log/openRepoShape-5.mdatf75c77c692e78f35de6658284fcd8ddb78e040f2.The three reads (lane-collision-protocol Rule 1):
Merge origin/main (9f80939) into fix/family-siblings-tracking-branch:…
siblings.py and family.py: the printed move runs as typed on a disk t…
siblings.py: a link named after the family, beside the holder's paren…
tests/test_family_siblings_placement.py: the simulated case-sensitive…
siblings.py: a Windows directory junction named after the family, bes…
park, resume and status find a family folder named for its repository…