Skip to content

A Resync Leaves registry/repos.json Describing the Pre-Resync Repository #1145

Description

@ptr727

Grouping issue, filed as part of a catalog pass over the 2026-08-28 to 2026-08-31 resync and MTP conversion campaign. This issue records the shared cause and adopts the affected issues as sub-issues. It proposes no fix.

The shared cause

registry/repos.json records each repository's configLayout, driftNotes and declared state. It is hand-maintained here, and the events that make an entry wrong happen in the other repository. RESYNC.md section 3 puts the reconcile inside the resync's own pass, but a resync is usually scoped to the target repository, and the maintainer reasonably asks that nothing be written back to the hub during it. So the reconcile is deferred, and nothing re-checks the entry afterwards.

The result is a registry describing repositories as they were before the campaign that just changed them, with driftNotes in particular reading as outstanding work when the work is done.

#1115. The Utilities entry declares configLayout.rulesetsDir: "repo-config" for a directory the resync deleted, and a driftNote saying the repository has no get-version-task and relies on validate-task. After ptr727/Utilities#451 the repository does not carry validate-task.yml at all, it calls the hub-hosted validator by pin, and the hub task reaches get-version-task.yml through build-release-task.yml. Both fields describe a state the repository no longer has.

#1082. The PhotoCleaner entry carries a driftNote saying the repository is private for now, with a stated consequence about broken shields. The repository is public. spec/audit.py already reads it as public, since its own has_discussions finding derives the expected value from visibility.

Children

Issue Stale claim
#1115 Utilities configLayout and driftNotes describe the pre-resync repository
#1082 PhotoCleaner driftNote asserts a private repository that is public

What a fix at this level would have to address

Two edits close the children. The grouping question is whether any registry field that a live query can answer should be hand-maintained at all, and, for the fields that must be, whether the reconcile can happen somewhere other than inside a resync that is deliberately scoped away from this repository.

Activity

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

    bugSomething isn't workingdocumentationImprovements or additions to documentation

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions