Repository navigation
The code leg gets its own front door, its standalone checkout context in tests.yml, the assembly root's two length caps and a lane-start row-stamp test that no longer depends on the length of TMPDIR (part of opensoft/openRepoTools#186) - #1
Merged
Merged
Conversation
…DE.md and README.md, and the LF rule, ignore list and licence it lost when the root kept them. Rehearsal patch for opensoft/openRepoTools#186, task T006 of specs/004-migrate-to-triad/tasks.md, against run C's code leg 73b04d6. The split left this leg with no AGENTS.md, CLAUDE.md, README.md, LICENSE, .gitattributes or .gitignore, because all six stayed in the assembly root, and a superproject's attributes and ignore rules never reach into a submodule's worktree. - AGENTS.md, CLAUDE.md and README.md are openRepoShape 7f84ca4's templates/code-root/ files, rendered by its own copy_tree with this project's names, so the leg-clone detector in scripts/shape_advisory.py recognises them. Each AGENTS.md and README.md then adds one short section: where the suite runs, the pinned standard, where the manuals and the specifications now live, and where a feature's code and a bounded amendment are written. - .gitattributes is the monorepo's own file, byte for byte (blob 3560973). Its reason, the installer's byte-for-byte comparisons, is this leg's. `git add --renormalize .` changes nothing here. - .gitignore is the shape's templates/code-root/.gitignore, a superset of the three lines the monorepo ignored. - LICENSE is the root's Apache-2.0 text, byte for byte (blob 261eeb9). No executable, test or workflow is touched. Lane: openRepoTools-1 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… (T010, #186). Made against the tests.yml that #228's PR 2 leaves (blob 2cfa173), the file the code leg takes at the cutover. It adds the header paragraphs, the workflow `env:` that names the code root and the standalone mode, and the note on `tests-no-submodule` that says where the leg's skips are read. It changes no job, no trigger and no `run:` line: tests/test_tests_workflow.py pins the first three jobs' `run:` lines and the four job ids the release gate reads. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…n counts, AGENTS.md 354 and README.md 529, each set in a dated entry, and tests/test_test_roots.py holds them. Code-leg patch for opensoft/openRepoTools#186, task T009 of specs/004-migrate-to-triad/tasks.md, against the test files #228's series leaves: 006-release-pypi-t025 b3aab89 with 006-release-pypi-pr3fix c6cea2a merged in. It pairs with the re-cut assembly-0001 of the same day, and it goes on the code leg after T006's code-0001 and the T010 code-leg patch. - tests/test_repo_hygiene.py: `cap = 330 if ROOTS.assembly is None else 347` becomes `else 354`, and `cap = 505 if ROOTS.assembly is None else 510` becomes `else 529`. Each is this repository's own count plus the twenty-four lines the re-cut adds, measured on the re-cut applied by `git am --3way` to a root built from the split's root files. A dated entry in each docstring says so, under the 2026-10-18 entries that said the re-cut would set them again. - tests/test_test_roots.py: the at-cap and one-over fixtures and the two failure messages move with them, 354/355 and 529/530, and the docstring names the new caps. The standalone caps, 330 and 505, do not move. Lane: openRepoTools-1 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…length of run.sh's TMPDIR: repoCase-1 and repoMIX-1 use a short projects root and repoA-1 reads its directory from the lane's log (opensoft/openRepoTools#304) Code-leg follow-up for opensoft/openRepoTools#304, part of opensoft/openRepoTools#186, applied at T014 of specs/004-migrate-to-triad/tasks.md. Test-only: it changes tests/test_lane_helpers.sh and nothing else. What was wrong. Three cases expected a checkout's directory in the tail of the row stamp that lane-start writes, and repoA-1 expected the window clause after it. The checkouts sat under the suite's HOME, which is made under run.sh's TMPDIR, and run.sh makes that TMPDIR its state root plus 40 characters plus the pid's digits. So the stamp grew with the state root and the pid, while lane-start's cut_to_line keeps 230 characters of the line and gives up the window, then the directory, first. Each case failed from the TMPDIR length shown, under C.UTF-8 (2 fewer under the C locale, which counts bytes), because the text it expected, quoted here, was cut: repoA-1 "; dir $HOME/projects/repoA; window " from 70 repoCase-1 "dir $HOME/projects/repoCase;" from 71 repoMIX-1 "dir $HOME/projects/repoMix" from 73 What changes. Each case now reads a place the cut does not reach, as opensoft/openRepoTools#215's repoA11t-1 does, and lane-start itself is untouched. - repoA-1, in the lane-start section, stops its row check at the launch clause and clause (c)'s dir key, "window renamed, no launch; dir ", which no root length reaches. A new check reads the whole directory from the same run's RESUMED line in the lane's log, which the cut never touches. - repoCase-1 and repoMIX-1, in the Amendment 15 section, have their checkouts under a projects root, A15_PROOT, that mktemp makes in the suite's TMPDIR where that is at most 40 characters and in /tmp where it is not, so the root is never over 55 characters and neither stamp over about 210. The two lane-start runs get it as PROJECTS_ROOT, so the repo argument still finds the checkout by its real directory name. A new check holds the root to 55 characters, cleanup removes it, and the row checks now read the RESUMED stamp's window as well as its dir. So a RESUMED stamp's dir and window are read at every root length. A STARTED stamp's tail, with both values, is still read on repoA11t-1, whose checkout has a short path of its own. As with that checkout, only a SIGKILLed run under a long TMPDIR leaves the new root behind in /tmp. Why this slot. As the cutover's tenth follow-up it goes on the code leg after T006's code-0001, which gives the leg its own front door and has to be the leg's first commit after the split, and before the two commits that bump the assembly root's pins of the spec and code legs. The code commit the root pins then already carries it, and the assembly's exact-pins job, which runs this suite through run.sh, has it from its first run. None of the other follow-ups touches this file, so this one is a patch of its own and their pinned digests do not change. Lane: openRepoTools-3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Sorry @brettheap, you've used your own review budget of 250,000 diff characters for the last 7 days. You can request another review in 1 day and 3 hours by commenting |
Reviewer's GuideThis PR completes the code leg’s post-cutover setup by adding its standalone repository front door, documenting and configuring its independent CI checkout context, updating assembly-only documentation caps, and hardening lane-start shell tests against variable TMPDIR lengths. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
This was referenced Oct 27, 2026
brettheap
added a commit
to opensoft/openRepoTools-spec
that referenced
this pull request
Oct 28, 2026
…RepoTools commit through the assembly root's front door since the triad migration, and cite opensoft/openRepoTools#304 as what the code leg's row-stamp cases are for Two NITs from lane openRepoTools-4's diff-only check of #4 (READY, opensoft/openRepoTools#186 comment 6479419189): - N2. The commit the one-line install's --version now prints is a commit of opensoft/openRepoTools, which the assembly root's front door resolved main to (root openRepoTools:388-392 at 2a99dd4), not the release commit; and the change came with the triad migration, not with opensoft/openRepoTools#228, under whose item the sentence sits. The --version item now says so in lane 4's wording, crediting opensoft/openRepoTools#186, and the one-line install's item under "Install and upgrade" follows it. - N3. In the line on opensoft/openRepoTools-code#1, the parenthetical "(opensoft/openRepoTools#304)" stood just before the line's own pull request and could be read as its source; it now reads "for opensoft/openRepoTools#304". Nothing else changes. Part of opensoft/openRepoTools#228 and opensoft/openRepoTools#186. Lane: openRepoTools-2 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



These are the code leg's follow-ups of the cutover of opensoft/openRepoTools#186, which adopts opensoft/openRepoTools in place as the assembly of the spec leg, opensoft/openRepoTools-spec, and this code leg, opensoft/openRepoTools-code. This pull request lives in a different repository from the cutover's issue, so every issue is named here in full: a bare issue number would link to this repository's own numbers.
It carries four commits, in this order, on top of this repository's
mainasadopt-project.py executepushed it at the cutover. The row numbers are those of the cutover runbook's list of follow-ups. Each commit is made from the reviewed file named with it, and the sha256 given is that file's:code-0001: the code leg's own front door. It addsAGENTS.md,CLAUDE.mdandREADME.md(openRepoShape's code-root templates, rendered with this project's names, with one short section each inAGENTS.mdandREADME.mdfor this leg), the.gitattributesLF rule, the code-root.gitignoreand the Apache-2.0LICENSE, all of which the leg lost when the root kept them. Six files, 331 lines added. Filecode-0001.patch, sha25674b98ff97b0b9b6b31ff59ad06329461b6c1566f2fdf7c330e9e7118f2ae1ec1.tests.ymlpatch (T010): it names the leg's standalone checkout context in.github/workflows/tests.yml, with header paragraphs, the workflowenv:that names the code root and the standalone mode, and a note ontests-no-submodulethat says where the leg's skips are read. It changes no job, no trigger and norun:line. One file, 41 lines added and 1 removed. Filet010-code-leg-tests-workflow.patch, sha2561406ead36f1edab24254257d430d084306c618c3f1694faf647152d00cef6d56.AGENTS.mdat 354 lines andREADME.mdat 529, intests/test_repo_hygiene.py, and moves the fixtures and messages oftests/test_test_roots.pywith them. The standalone caps, 330 and 505, do not move. Two files. Filet009-assembly-caps.patch, sha2562dd4aac276f54bebc164e12cf34c0aa64c6348b32414501f291e49f4d9b2bbe5.repoA-1,repoCase-1andrepoMIX-1) no longer depend on the length of theTMPDIRthattests/run.shmakes. It is test-only and changestests/test_lane_helpers.shalone, 62 lines added and 13 removed. Fileopt1-v2.diff, sha25664ea7093bbd799695c4ba89841206b9bf9fd334b583358113ca10cf04f9439d2, and its commit messageopt1-v2.msg, sha25662793c91f4f7bec7089933924c290b74a7a37755c7413841332c0526abbce2b2.The files of rows 1 to 3 are kept in
specs/004-migrate-to-triad/patches/in opensoft/openRepoTools (row 1's undert006/) at the cutover's source commit33ce26dffc5286e68f1d29ab5c6458edef0330c0, and are copied here under the short names above. Row 3a's diff is not in that repository, and Gate C's sentence names its digest.Brett Heap approved these follow-ups at Gate C of opensoft/openRepoTools#186, as one pull request per leg, each merged by merge commit once it is green. Merge this one by merge commit, not by squash or rebase, so that every reviewed commit keeps its id, author and committer, and
code-0001stays its own commit.🤖 Generated with Claude Code
Summary by Sourcery
Establish the code leg as a self-contained repository with standalone CI context, updated assembly documentation limits, and stable lane-start coverage.
New Features:
Bug Fixes:
Enhancements:
CI:
Documentation:
Tests: