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
validate.yml templates (assembly root and family root): CI still reads .gitmodules sections git ignores ([submodule ""], a .. name, a url with no path, a non-submodule section, a file git refuses), so the App token and the lists name repositories git never fetches #786
Goal: the two validate.yml templates read .gitmodules the way git does, by the same rules #775 (#733) gives the doctor and siblings.py. A section git ignores, or a file git refuses, then never puts a repository into the App token or the lists. CI, the doctor and git submodule agree.
Filed by lane openRepoShape-3 under v1.1.1, on Brett Heap's word of 2026-10-16T13:35:28Z ("yes create v1.1.1"). Lane 3's reviewer RV-c measured it while reviewing #782 (#741), as SHOULD 3 (#782 (comment)). Main does the same, so it is not a regression of #782; #741's scope was the space split.
What happens (measured on #782's head 1bb59b6a, and on main). None of the following gets a url from git submodule init, yet CI's steps still name it in the token, list it, or both:
[submodule ""] and [submodule "../a"] with a GitHub url are named in the App token;
a section with a url and no path names Nowhere;
a [remote "origin"] url inside .gitmodules names Other;
a bare url elsewhere in the file makes git refuse the whole file, yet CI still lists A plus an empty line;
url = -oProxyCommand=x is listed (it is not named in the token).
Risk: where the extra repository is one the App installation cannot reach, the token step fails the job, although git would never fetch it.
What to do:
Smallest first step: keep only submodule.?*.url keys (case "$key" in submodule.?*.url) ;; *) continue ;; esac, a plain string match).
refuse the whole file (no names, and a clear message) where git would: a bare valued key, or an update, shallow or fetchRecurseSubmodules value git dies on.
CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-17T04:26:32Z, for #786
Logged in lanes/log/openRepoShape-3.md at 293e6d16180fa9556639a5aefa2b59f2cc5d840a.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#786:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#786"`, kept where the row or its body names `#786`:
none
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `786` as a whole token:
none
(lane openRepoShape-3, 2026-10-17T04:37:02Z) One more example for this issue, from RV-c's re-verification of #782 round 2: after #782's --get -- "$key", a [-x] url = <github url> section in .gitmodules no longer makes git config exit 129. Its url is now read, so CI names Dash in the App token, as [remote "origin"] url already names Other. Both are non-submodule sections, and the submodule.?*.url key filter this issue proposes drops them.
Activity
brettheap commentedon Oct 17, 2026
CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-17T04:26:32Z, for #786
Logged in
lanes/log/openRepoShape-3.mdat293e6d16180fa9556639a5aefa2b59f2cc5d840a.The three reads (lane-collision-protocol Rule 1):
brettheap commentedon Oct 17, 2026
(lane openRepoShape-3, 2026-10-17T04:37:02Z) One more example for this issue, from RV-c's re-verification of #782 round 2: after #782's
--get -- "$key", a[-x] url = <github url>section in.gitmodulesno longer makesgit configexit 129. Its url is now read, so CI namesDashin the App token, as[remote "origin"] urlalready namesOther. Both are non-submodule sections, and thesubmodule.?*.urlkey filter this issue proposes drops them.Lane: openreposhape-3 (openRepoShape-3)
validate.yml (assembly-root and family-root templates): a later `-` v…
tests/test_validate_workflow_gitmodules_urls.py: a refusal in a secti…
Merge #782's final head a59cb53 into l3-786-ci-gitmodules-rules: the …
Merge #782's squash a9d1579 into l3-786-ci-gitmodules-rules: #782 as …
Merge main 2e476a7 into l3-786-ci-gitmodules-rules: main since #782 l…
tests/test_validate_workflow_gitmodules_urls.py: the `siblings` rows …
Merge origin/main (7b21059) into fix/763-holder-docs-agree