Skip to content

scripts/shape_materialize.py and scripts/family.py: the helpers that ask a template's own YAML reader and validator about a manifest's values exist twice, once for project.yaml and once for family.yaml #925

Closed

Description

@brettheap

Goal: one set of helpers asks a template's own YAML reader and validator about a manifest's values, for project.yaml and family.yaml alike, with no change in behaviour.

Filed by lane openRepoShape-3, from its triage of #459 at the v1.1.1 release commit 5017830. It is #459's line U022 (lane 5's line from #397, which was #470), one pull request's worth.

The manifest-misread helpers exist twice (U022)

State. scripts/family.py holds family_validator (:3127), _reading_in_words (:3163), the other two line helpers, _misread_rows, family_manifest_misreads, _sentences_of, family_manifest_invalid and refuse_unholdable_manifest (through :3350). scripts/shape_materialize.py holds their twins for project.yaml, from manifest_validator (:4781) to refuse_manifest_values (:5203). #470 holds the full table and was closed as moved to #459.

What happens. No behaviour is wrong; a fix to one copy is easily missed in the other, as #817 showed when it fixed shape_materialize.py's whole-manifest words and left family.py's (U119, filed separately).

Evidence. The lines above at 5017830.

Direction. Unify them. The unified helpers must keep every refusal code and word, ask before anything exists, load each validator from its template, and touch no shape copy.

Size: M.

Lane: openreposhape-3 (openRepoShape-3)

Activity

  1. added this to the v1.2.0 milestone on Oct 18, 2026
  2. brettheap commented on Oct 20, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-20T09:54:21Z, for #925

    Logged in lanes/log/openRepoShape-3.md at 3b27d965feadd74ec515b6f0df19b5310e94d12b.

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

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