Skip to content

Bump the pinned openRepoShape submodule to 0fa73b7, past the park/resume carve - #5

Merged
brettheap merged 1 commit into
mainfrom
chore/bump-openreposhape-pin-0fa73b7
Sep 10, 2026
Merged

brettheap merged 1 commit into
mainfrom
chore/bump-openreposhape-pin-0fa73b7

Conversation

@brettheap

@brettheap brettheap commented Sep 10, 2026 •

Copy link
Copy Markdown
Contributor

Lane: openreposhape-2 (openRepoShape-2)
Claim: #2 (comment)

Closes #2

Bumps contracts/openreposhape-pin.yaml and the upstream/openRepoShape gitlink
from d090a7a141048b214f0420a8c7afbfff62472d1a to
0fa73b7df704266589dcc27afca020c0127fa36f — openRepoShape's main after
opensoft/openRepoShape#94 (slice S2 of opensoft/openRepoShape#92), which moved
park and resume into this repository and deleted them from that one.

Verified before pinning

  • gh api repos/opensoft/openRepoShape/compare/main...0fa73b7df704266589dcc27afca020c0127fa36f -q .status
    → identical: 0fa73b7 IS openRepoShape's main tip, so it is a commit on
    main the next fetch can always reach, never a branch commit a squash-merge orphans.
  • The eight fixture files test_park_resume_commands.py reads did not change between
    the two commits: git -C upstream/openRepoShape diff --stat d090a7a 0fa73b7 -- templates/ scripts/repo_shape.py is empty (confirmed; park and resume are the
    only relevant deletions, and neither is under templates/ or scripts/repo_shape.py).

Followed the README's "Bumping the pin" procedure literally

git -C upstream/openRepoShape fetch origin
git -C upstream/openRepoShape checkout 0fa73b7df704266589dcc27afca020c0127fa36f
python3 -c "import sys; sys.path.insert(0, 'upstream/openRepoShape/scripts'); \
  from repo_shape import tree_digest; print(tree_digest('upstream/openRepoShape', 'HEAD'))"
# -> 80aebf7e64edefc96dc38550b63ddd4eb66f8436cb6d11c99888257c98b5e108
# edited contracts/openreposhape-pin.yaml (commit: and digests.tree_sha256), THEN:
git add contracts/openreposhape-pin.yaml upstream/openRepoShape
git commit

The procedure held exactly as written — no README changes were needed. The digest
was recomputed with the pinned checkout's own scripts/repo_shape.py, never adjusted
to fit, and the edit landed before the git add so the gitlink and the pin file moved
together in one commit.

The one deliberate extra edit, in the same commit

tests/test_upstream_pin.py's test_the_pinned_commit_carries_what_this_suite_reads
parametrized "park" as "the pre-carve witness" for reviewers of the T1 carve. Its own
docstring named the exit: delete that one entry in the same commit that bumps the pin
past the deletion, because 0fa73b7's tree no longer carries the file. Deleted here,
and only that entry — the other eight paths in the parametrize list are untouched, and
the docstring's title and body are updated to say why, in one added line.

Tests

  • Local, submodule updated in place: python3 -m pytest tests -q → 140 passed
    (141 at the old pin; exactly one fewer — the deleted park parametrize case).
  • Fresh recursive clone of this branch (git clone --recurse-submodules against
    the real, pushed remote): the submodule checks out at 0fa73b7 on its own, and
    python3 -m pytest tests -q → 140 passed, exit 0 — the lockstep test (git ls-tree HEAD vs. the working-tree pin file) is what CI itself will run.
  • Fresh non-recursive, single-branch clone of this branch: 53 passed, 87
    skipped, exit 0
    , every skip naming git submodule update --init upstream/openRepoShape (88 skipped at the old pin — again exactly one fewer).
  • git ls-tree HEAD -- upstream/openRepoShape → 160000 commit 0fa73b7df704266589dcc27afca020c0127fa36f, matching
    contracts/openreposhape-pin.yaml's commit: exactly.
  • bash -n on park, resume, openRepoTools: all three OK, all three untouched —
    git diff --stat main -- park resume openRepoTools is empty.

🤖 Generated with Claude Code

Summary by Sourcery

Advance the openRepoShape dependency past the park/resume carve while keeping the repository pin metadata and validation tests in sync.

Enhancements:

  • Update the openRepoShape submodule pin to commit 0fa73b7 and refresh its recorded tree digest after the park/resume carve.
  • Adjust upstream-content validation to reflect the removal of the pre-carve park witness.

Tests:

  • Update pin verification coverage and confirm the revised upstream contents remain valid.

…ume carve

openRepoShape's `main` advanced past the park/resume carve
(opensoft/openRepoShape#94, slice S2 of #92): `park` and `resume` left its
tree for this repository's own copies. Bump `contracts/openreposhape-pin.yaml`'s
`commit:` and `digests.tree_sha256`, and the `upstream/openRepoShape` gitlink,
together in one commit, per the README's "Bumping the pin" procedure — the
edit lands before the `git add`, so the moved gitlink never lands paired with
the old pin file. The digest is recomputed with the pinned checkout's own
`scripts/repo_shape.py`, never adjusted to fit.

`tests/test_upstream_pin.py`'s pre-carve witness entry for `park` is deleted
here too, as its own docstring said to: 0fa73b7's tree no longer carries the
file `test_park_resume_commands.py` used to diff against.

Lane: openreposhape-2 (openRepoShape-2)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 10, 2026 19:59

@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.

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 4 hours and 32 minutes by commenting @sourcery-ai review. Upgrade to get a review now.

@brettheap

Copy link
Copy Markdown
Contributor Author

@codex review

@sourcery-ai

sourcery-ai Bot commented Sep 10, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

The PR updates the openRepoShape submodule and lockfile from d090a7a to main-tip 0fa73b7, recomputes the tree digest, and removes the obsolete park fixture-presence assertion now that the upstream carve has deleted that file. The implementation preserves the remaining fixture paths and verifies lockstep pinning through the existing test suite.

File-Level Changes

Change Details Files
Advance the openRepoShape source pin past the park/resume carve and refresh its recorded tree digest.
  • Update the lockfile commit from d090a7a to the main-tip commit 0fa73b7.
  • Recompute and record the SHA-256 tree digest using the pinned checkout.
  • Move the submodule gitlink to the matching commit.
contracts/openreposhape-pin.yaml
upstream/openRepoShape
Align the upstream fixture-presence test with the carved upstream tree.
  • Remove the deleted park file from the parametrized required-path list.
  • Update the test documentation to explain the pre-carve witness removal.
tests/test_upstream_pin.py

Assessment against linked issues

Issue Objective Addressed Explanation
#2 Update the pinned openRepoShape commit and submodule gitlink from d090a7a141048b214f0420a8c7afbfff62472d1a to 0fa73b7df704266589dcc27afca020c0127fa36f, including the corresponding tree digest. ✅
#2 Remove the obsolete pre-carve "park" witness from tests/test_upstream_pin.py in the same commit as the pin bump, while preserving the other upstream fixture checks. ✅
#2 Follow the documented pin-bumping procedure and leave the repository in a verified, test-passing state with the pin file and gitlink synchronized. ✅

Possibly linked issues


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

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@brettheap
brettheap merged commit 7cf0bd5 into main Sep 10, 2026
6 checks passed
@brettheap
brettheap deleted the chore/bump-openreposhape-pin-0fa73b7 branch September 10, 2026 20:01

Copilot AI 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.

🟢 Approval recommended

The pin and digest update are internally consistent, and the upstream-content verification test is correctly updated to reflect the removed park file.

Pull request overview

This PR bumps the pinned upstream/openRepoShape submodule and its recorded tree digest to commit 0fa73b7…, which is after the upstream change that removed park/resume from openRepoShape (since those commands now live in this repository). It also updates the pin-verification test to stop asserting presence of park in the upstream tree, while preserving the remaining fixture-file integrity checks.

Changes:

  • Update contracts/openreposhape-pin.yaml to pin openRepoShape at 0fa73b7… and refresh digests.tree_sha256.
  • Update tests/test_upstream_pin.py to remove "park" from the verified upstream file list and adjust the docstring rationale accordingly.
File summaries
File Description
tests/test_upstream_pin.py Removes the park path from the “pinned commit carries what the suite reads” list and updates the explanatory docstring to match the post-carve upstream tree.
contracts/openreposhape-pin.yaml Advances the pinned commit SHA and recorded tree digest for the openRepoShape submodule.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

brettheap added a commit that referenced this pull request Sep 13, 2026
…did not (F-X18, A11 Addendum 4 ruling 13)

`lane-start:1027` and `lanes-edit.sh:4794` both cited act 0 — the register veto
this branch builds its second layer beside — as `opensoft/brett-wip#5`
@`95e7a4c`. Measured in the live checkout:

```
$ git merge-base --is-ancestor 3719d97 origin/main && echo YES   # YES
$ git merge-base --is-ancestor 95e7a4c origin/main && echo YES   # (nothing)
$ gh pr view 5 -R opensoft/brett-wip --json headRefOid,mergeCommit,mergedAt
  headRefOid  95e7a4c…   mergeCommit  3719d97…   mergedAt  2026-09-13T19:14:37Z
```

`#5` merged SQUASHED, so its pre-merge head is not an ancestor of `origin/main`
at all: a comment citing it names code that never landed, in the one place a
reader goes to check that this branch does not re-implement act 0's veto. A sha
in a comment is a claim about history, and this one was false.

Ruling 13, ratified *"a11 addendum 4 yes"*: *"Act 0 is cited by its merged sha
`3719d97` everywhere; `95e7a4c` stops being quoted as what landed."* SPEC rev 6
§6/§13 already carries it on the text's side, and `workBenches#71`'s skill
already said `3719d97`.

Both comments now say `3719d97` AND still name `95e7a4c` — as the thing that did
not land, with the measurement, so the next reader who finds the draft head in
an older document knows which of the two it is.

**Test** — `tests/test_repo_hygiene.py` walks every tracked file for the
citation FORM (`opensoft/brett-wip#5` @`<sha>`), which is the shape that asserts
*"this is act 0"*, and requires the sha to be the merge commit. Naming the draft
head in prose stays legal, because saying which sha did not land is the useful
half.

**The citation WRAPS, and the first version of this test missed the one that
did.** `lane-start` writes it across two comment lines, so the continuation's
`#` sits between the two halves of the pattern; a line-by-line match found only
`lanes-edit.sh`'s one-line citation and PASSED the mutation. Measured, then
fixed: the text is joined on comment continuations before matching, and the test
also asserts it found at least one citation at all — so a change to the citation
form fails loudly rather than silently testing nothing.

**Mutation** — `lane-start`'s citation put back to `95e7a4c`: **1 failed**,
`assert not {'lane-start': ['95e7a4c']}`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

Bump the pinned openRepoShape submodule to 0fa73b7, past the park/resume carve

2 participants