Skip to content

update-shape.py: four messages (a commit line when there is nothing to commit, a source path nothing names, the commit message's hand-edit claim, a bare gh pr create) #535

Closed

Description

@brettheap

Each is an ordinary path whose only harm is a misleading or unpasteable message. One wording change over update-shape.py and its tests.

From the v1.1.0 triage of the v1.0.0 known limits on #458. One pull request covers the lines below.

Lines

  • Branchless apply moving the pin back to HEAD's still prints a commit line; pasted, "nothing to commit". Where: update-shape.py in-place NEXT (:3880-3925). Effort S; all. On main 3121945: _unwritten_changes only asks about paths this run did NOT write, so written paths that equal HEAD still get the checkout -b && commit line. (source)
  • AT-family N3: the update-conflict remedy says git show <target>:<source path> but nothing names the source path. Where: update-shape.py MERGE_BY_HAND (:2915-2919), BOTH row detail (:728). Effort S; all. On main 3121945: row.source is known (:679) but the BOTH detail is only "edited here AND upstream since the pin" and the remedy keeps the placeholder <source path>. (source)
  • AT-family N4: apply's commit message claims copies are not hand-edited, even for files --accept-local re-pinned. Where: update-shape.py commit message (:2344-2353). Effort S; all. On main 3121945: The message still says "the copies are not hand-edited and the digests are recomputed" with no mention of the accepted paths. (source)
  • AT-family N7: apply --branch's bare gh pr create NEXT has no --title/--body/--fill. Where: update-shape.py create (:3872-3880). Effort S; all. On main 3121945: create = f"gh pr create{where} --base {base} --head ..." still carries no title, body or fill; gh's no-tty behaviour itself was not run. (source)

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

A branchless apply that moves the pin back to what HEAD already commits still prints a commit line, and pasted, git answers "nothing to commit". No commit comes out red, so it is outside #436. From #474's "Left out".
— #458, body

AT-family N3: the update-conflict remedy says to read the upstream bytes with git show <target>:<source path> (update-shape.py:2531-2535), but neither the refusal nor check says what the source path of the file is (for a project's scripts/validate-manifest.py it is templates/assembly-root/scripts/validate-manifest.py).
— #458, body

AT-family N4: the commit apply writes (update-shape.py:2005-2012) says "the copies are not hand-edited and the digests are recomputed", and never names a file --accept-local re-pinned from the project's own bytes, so the history carries a claim that is false for exactly those files.
— #458, body

AT-family N7: the bare gh pr create --repo <org>/<Project> --base <branch> --head <branch> that apply --branch prints without --pr (update-shape.py:3195-3200) carries no --title, --body or --fill; gh pr create --help says a prompt asks for them, so in a shell with no terminal the pasted line likely stops there. Not run (a real gh pr create is never run in these probes).
— #458, body

Activity

  1. added this to the v1.1.0 milestone on Oct 14, 2026
  2. brettheap commented on Oct 14, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoShape-4, session 11c6c0ef-495a-4a05-94cf-811b7b0a1012@Eagle, 2026-10-14T16:46:58Z, for #535

    Logged in lanes/log/openRepoShape-4.md at 7c22fa2286b7aae20de38876b6c5bee04b225bd5.

    The three reads (lane-collision-protocol Rule 1):

    1. existing `CLAIMED —` comments on opensoft/openRepoShape#535:
       none
    2. `gh pr list --repo opensoft/openRepoShape --state all --search "#535"`, kept where the row or its body names `#535`:
       none
    3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `535` as a whole token:
       none
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions