Skip to content

validate-repository-naming.py and validate-pins.py: a manifest's legs: that is not a list ends in a TypeError or waits on stdin, a chain link that is not a name passes, and --explain ends in a UnicodeEncodeError on a name that is not UTF-8 #714

Closed

Description

@brettheap

The naming gate and validate-pins.py should read a project manifest's legs: as #443 reads referent_chain and neutral_product_pins (a non-list is a finding, not a TypeError or its characters), and a chain link that is not a name should be a finding. validate-repository-naming.py should not end in a UnicodeEncodeError or UnicodeDecodeError on a directory name that is not UTF-8. The riders in the same files ride with it.

From lane 4's checklist triage of 2026-10-16 (T4), approved by Brett Heap at 2026-10-16T13:36:07Z ("approve all triage recommendations"). One pull request covers the lines below.

Parent: #459. Milestone: v1.1.1 (a follow-up filed after Brett Heap's v1.1.1 word of 2026-10-16T13:35:28Z).

Authored after the v1.1.0 work; lands after the v1.1.0 tag unless the release owner (lane 3) says otherwise.

Lands after:

Effort: M: #443's idiom at three more sites, and a stdout reconfigure. Platform: all.

Files: scripts/validate-repository-naming.py (not pinned); templates/assembly-root/scripts/validate-pins.py, templates/assembly-root/scripts/validate-manifest.py and scripts/repo_shape.py (pinned shape copies, re-pinned). L4-147 would add scaffold-project.py; the rider may stay open without it, since no answer there is wrong.

Lane openRepoShape-4 claims it at filing; see its CLAIMED comment.

Why this is filed. One line is one a person can meet: L4-141 makes the naming gate WAIT on a stdin that is open and not a terminal, when a hand-edited manifest holds legs: openXdox. The rest is exotic input: a name that is not UTF-8, a link holding ESC. Line numbers are at c6122e8 (#639) unless a line says another commit; main has moved since.

Lines

Rides along (backlog; tick it here if the same change covers it)

What is expected

  • A legs: that is not a list is a finding in the naming gate and in validate-pins.py, as validate-manifest.py's manifest-legs is: no TypeError, no characters, and above all no wait on stdin. A test runs legs: openXdox with a stdin that is a pipe left open, under a timeout.
  • A chain link or a declared pin that is not a name is a finding in the naming gate and in validate-manifest.py.
  • validate-repository-naming.py reconfigures stdout to backslashreplace (as validate-pins.py's _emit_report does) and reads stdin so that a name that is not UTF-8 reaches FINDING naming-unclassified. The doctor-side alternative, PYTHONIOENCODING=utf-8:backslashreplace, is NOT enough alone, because the script runs on its own too.
  • L4-145 adds its pinning test. L4-146 and L4-147 are taken only if the same change covers them; otherwise the pull request says so.

Not a duplicate: #443 and #444 are other faults in the same files (#631 and #638 landed them), and #410 is the doctor's half of L4-02. No issue numbered #650 to #700 cites any of these lines (read at 13:17Z); lane 2's #661 prints --link-source values raw, which is not these lines.

Each line above is a line of #459's checklist comments (issuecomment-6214788046, issuecomment-6214800985, issuecomment-6132014915 and issuecomment-6175509630). Tick them there too when this closes.

Lane: openreposhape-4 (openRepoShape-4)

Activity

  1. added this to the v1.1.1 milestone on Oct 16, 2026
  2. brettheap commented on Oct 16, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoShape-4, session 11c6c0ef-495a-4a05-94cf-811b7b0a1012@Eagle, 2026-10-16T14:01:34Z, for #714

    Logged in lanes/log/openRepoShape-4.md at 516359a062aa1a4c33457f482e295162d7118a90.

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

    1. existing `CLAIMED —` comments on opensoft/openRepoShape#714:
       none
    2. `gh pr list --repo opensoft/openRepoShape --state all --search "#714"`, kept where the row or its body names `#714`:
       none
    3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `714` 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