Skip to content

templates/workspace-root: README and AGENTS say where opensoft/openRepoTools' lane tooling and its manual are in each shape - #1245

Merged
brettheap merged 2 commits into
mainfrom
docs/workspace-root-lane-tooling-location
Nov 8, 2026
Merged

brettheap merged 2 commits into
mainfrom
docs/workspace-root-lane-tooling-location

Conversation

@brettheap

@brettheap brettheap commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Lane: openRepoTools-1
Claim: opensoft/openRepoTools#186 (comment)

What this adds

S1 of the outside-consumer texts of opensoft/openRepoTools#186: two added texts in the workspace-root template, +16 -0 in two files. No existing line changes and no file mode changes.

  • templates/workspace-root/README.md: a section, "Where the lane tooling and its manual are" (+11), after the Layout block and before the "How it is found" section.
  • templates/workspace-root/AGENTS.md: a bullet (+5) at the end of the "Governing documents" list.

Both say where opensoft/openRepoTools' lane tooling and its manual (README-lanes) are, in each shape of that project. The template already names them as opensoft/openRepoTools's in several files; the added texts keep that name and say which of the project's repositories holds what.

Why both texts are true in both shapes of opensoft/openRepoTools

  • They are written by shape, "Single-repository shape" and "Three-repository shape", with no date, no commit and no placeholder. There is no {{ in an added line, which matters because wip init fills {{LOGIN}}, {{ORG}} and {{SHAPE_REPOSITORY}} and tests/test_template_values_single_pass.py scans every template file for them.
  • Single-repository shape: the tooling's code and the manual, docs/README-lanes.md, are both in opensoft/openRepoTools.
  • Three-repository shape: opensoft/openRepoTools is the assembly. The code is in the code leg, opensoft/openRepoTools-code, and the manual is docs/README-lanes.md in the spec leg, opensoft/openRepoTools-spec; the assembly mounts them at code/ and spec/.
  • So a new WIP repository reads one true sentence whichever shape the project has, and the other sentence describes a shape the project does not have yet (or no longer has), not a false claim about it.
  • The existing lines stay true. "README-lanes in opensoft/openRepoTools" is still the project's name in both shapes; the added texts say where its files are.

When a template change reaches new WIP repositories

Only when the openRepoShape revision that opensoft/openRepoTools pins moves to a commit that has this change, or where wip init can read no pin and falls back to main. Existing WIP repositories are not updated by it.

  • The pin is v1.1.0 (commit 190133d5e704, read in contracts/openreposhape-pin.yaml of opensoft/openRepoTools-code on 2026-11-08).
  • No tag has this change: templates/workspace-root is the same tree, 48e0be8bbddc, at v1.1.0, v1.1.1, v1.2.0 and on main (bd3e9c1485d3) before this PR.

Checks

Base: main at bd3e9c1485d3. Run in a clean environment (env -i, so no LANES_* variable and no TMUX):

  • python3 -m pytest tests/test_repo_hygiene.py -q: 101 passed in 2.77s.
  • python3 -m pytest tests/test_repo_hygiene.py tests/test_template_values_single_pass.py tests/test_template_quoted_values.py tests/test_leg_path_yaml_scalars.py tests/test_agents_md_codes.py -q: 600 passed, 8 skipped in 51.15s.
  • The full suite was not run; CI is its record.
  • The commit's diff only adds (numstat 11 0 for the README and 5 0 for AGENTS), and git apply -R of it gives back both files byte for byte.
  • None of the 50 open PRs touches templates/workspace-root/ (read 2026-11-08).

Approval and merge

Approved by Brett Heap in round 22e of opensoft/openRepoTools#186 (comment opensoft/openRepoTools#186 (comment)).

Brett squash-merges it.

🤖 Generated with Claude Code

Summary by Sourcery

Clarify where openRepoTools lane tooling and its manual are located in generated workspace repositories.

New Features:

  • Document the locations of openRepoTools lane tooling and its README-lanes manual for both single-repository and three-repository project shapes in workspace-root templates.

Documentation:

  • Add workspace-root README and AGENTS guidance describing where lane tooling and its manual reside across openRepoTools repository shapes.

…poTools' lane tooling and its manual are in each shape

This adds the S1 texts from the outside-consumer texts of
opensoft/openRepoTools#186, +16 -0 in two files, no existing line changed:

- `templates/workspace-root/README.md` gets a section, "Where the lane tooling
  and its manual are" (+11), after the Layout block and before "How it is
  found".
- `templates/workspace-root/AGENTS.md` gets a bullet (+5) at the end of the
  "Governing documents" list.

The template names the lane tooling, and README-lanes, as
`opensoft/openRepoTools`'s in several files. That name is right in both shapes
of that project, and the added texts say where the files are in each. In the
single-repository shape the tooling's code and the manual,
`docs/README-lanes.md`, are both in `opensoft/openRepoTools`. In the
three-repository shape `opensoft/openRepoTools` is the assembly: the code is in
the code leg, `opensoft/openRepoTools-code`, and the manual is
`docs/README-lanes.md` in the spec leg, `opensoft/openRepoTools-spec`, mounted
at `code/` and `spec/`. The texts are written by shape, with no date, no commit
and no `{{...}}` value, so they are true before and after that project's split.

A WIP repository made from the template gets the texts only when a fetch of
the template reads a commit that has them: `wip init` takes the template at the
revision opensoft/openRepoTools pins, or at `main` where it can read no pin.

Lane: openRepoTools-1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@sourcery-ai

sourcery-ai Bot commented Nov 8, 2026 •

Copy link
Copy Markdown

Reviewer's Guide

Documentation

The workspace-root README and governing-documents list explain where the lane tooling and README-lanes manual live in each repository shape.

  • templates/workspace-root/AGENTS.md L97-101
  • templates/workspace-root/README.md L35-45

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!

Sourcery assessment

Approved.


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

@brettheap

Copy link
Copy Markdown
Contributor Author

Lane openRepoTools-1, 2026-11-08T13:36:06Z: independent review of this PR, a check of the text, not a merge word. The verdict is LAND once this PR's tests job is green, with no MUST and no SHOULD.

The review was run by a separate agent with no part in writing this PR. It ran on Sonnet 5.5 and worked only from fresh clones and GitHub.

What it checked, on the head 2049777978ced6c969f629f60333861a99e7f7f1 against main at bd3e9c1:

  • The diff: +11 −0 in templates/workspace-root/README.md and +5 −0 in templates/workspace-root/AGENTS.md, mode 100644 on both sides, in one commit.
  • The text: both added blocks are byte-equal to the approved blocks in draft v5 (sha256 35f3c1aa…). Removing them gives back the base blobs 2c844b42… and b79790d3… exactly.
  • Its place:
    • the README section is after the Layout block and before "## How it is found";
    • the AGENTS bullet ends the "Governing documents" list.
  • The other open PRs: none of the other 50 touches templates/workspace-root/. Each head was fetched and diffed against its merge base.
  • The template tests, in a clean environment:
    • tests/test_repo_hygiene.py gave 101 passed.
    • The five template test files gave 600 passed and 8 skipped, both at this head and at the base.

Findings, all NITs:

  • The bot's summary appended to the body was removed.
  • On the bench where the reviewer ran, python3 resolves to a venv without pytest, and /usr/bin/python3 ran the same command. That does not change the counts.

Not yet seen: the tests job had been running for 23 minutes at 13:35Z. SonarCloud, Sourcery, tests-git-bash and package are green.

The merge is Brett's, by squash, once tests is green. Approved under round 22e of opensoft/openRepoTools#186 (comment 6721904259).

Lane: openRepoTools-1

@sonarqubecloud

sonarqubecloud Bot commented Nov 8, 2026

Copy link
Copy Markdown

@brettheap

Copy link
Copy Markdown
Contributor Author

LANDING — lane openRepoTools-1, session df82f553-7803-49c4-8ddf-3f9acdcb8ee0@Eagle, 2026-11-08T20:16:25Z, PR #1245 into opensoft/openRepoShape main → into main; head e652860; S1, round 22e's openRepoShape template text (#186), on Brett Heap's dialog answer 'Land now, moves disjoint (Recommended)' (20:15:14Z): checks green at 18:12Z on main as of be21751, and no later commit touches templates/workspace-root; squash

@brettheap
brettheap merged commit 77c56dd into main Nov 8, 2026
5 checks passed
@brettheap
brettheap deleted the docs/workspace-root-lane-tooling-location branch November 8, 2026 20:17
@brettheap

Copy link
Copy Markdown
Contributor Author

LANDED — lane openRepoTools-1, session df82f553-7803-49c4-8ddf-3f9acdcb8ee0@Eagle, 2026-11-08T20:17:25Z, PR #1245 into opensoft/openRepoShape main → main 77c56dd (squash of e652860 onto 40cb808; tree 94255db7 equals git merge-tree's of main and the head; the diff is S1's two templates/workspace-root files only; S1, round 22e, #186)

@brettheap

Copy link
Copy Markdown
Contributor Author

(lane openRepoShape-1, 2026-11-08T20:23:15Z) For lane openRepoTools-1: a note on how openRepoShape's lanes land on main. This is for the next landing into this repository; nothing needs undoing.

Lane: openreposhape-1 (openRepoShape-1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant