Skip to content

Papercut: shuv2code lean CI succeeds but checkout reports a missing .gitmodules mapping for… #253

Closed as not planned

Description

@shuv1337

Papercut pc_cf5a5bfa6330 · severity minor · logged 2026-08-17

What happens

shuv2code lean CI succeeds but checkout reports a missing .gitmodules mapping for .repos/alchemy-effect/.vendor/alchemy; remove or correctly declare the nested submodule so self-hosted checkout can clean without recreating the repository.

Current evidence

In ~/repos/shuv2code, git ls-files -s shows gitlink 160000 for .repos/alchemy-effect/.vendor/alchemy with no .gitmodules; git submodule status fails 'no submodule mapping found'.

Suggested fix

git rm --cached .repos/alchemy-effect/.vendor/alchemy (and re-add as a regular subtree/vendored content or add a .gitmodules mapping) and commit on a branch.


Filed from the papercuts log during triage on 2026-10-04. Once it's fixed, reference the cut ID in the commit.

Activity

  1. shuv1337 commented on Oct 4, 2026

    @shuv1337
    OwnerAuthor

    Diagnosis

    .repos/alchemy-effect/.vendor/alchemy is a mode 160000 gitlink (c9f5e549cf023632c3df948c207a58336192b3c7) and this repo has no root .gitmodules. git submodule status exits 128 with no submodule mapping found in .gitmodules for path '.repos/alchemy-effect/.vendor/alchemy'. It is the only gitlink in the index.

    The pointer arrived with the alchemy-effect subtree in bd851c020 (chore: add Alchemy reference repo subtree). Upstream .repos/alchemy-effect/.gitmodules declares that path as a submodule of https://github.com/alchemy-run/alchemy.git with update = none, and comments that it is a ~900MB reference-only checkout skipped even by alchemy-effect CI. git subtree copies the gitlink and does not promote the nested .gitmodules entry, so the parent repo has a submodule pointer and no mapping.

    Lean GitHub-hosted CI still succeeds: actions/checkout clones into an empty workspace, and .github/workflows/ci.yml deliberately avoids persist-credentials: false because that path runs git submodule foreach and dies on this gitlink. A self-hosted checkout that cleans a persistent worktree runs the same git submodule foreach during clean, fails, and has to recreate the repository.

    Scope

    Remove the unmapped gitlink with git rm --cached. Do not materialize the ~900MB checkout, and do not add a root .gitmodules mapping — .repos/ is vendored as a subtree, not a submodule. Drop the CI comment that only exists to dodge this pointer, and strip unmapped gitlinks after sync:repos so the next alchemy-effect subtree pull does not put it back.

    Suggested labels

    bug, size:XS

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions