Skip to content

fix(registry): preserve identity when repository names are reused - #595

Merged
harlan-zw merged 1 commit into
mainfrom
fix/repository-name-reuse
Oct 9, 2026
Merged

harlan-zw merged 1 commit into
mainfrom
fix/repository-name-reuse

Conversation

@harlan-zw

Copy link
Copy Markdown
Collaborator

🔗 Linked issue

❓ Type of change

  • 📖 Documentation
  • 🐞 Bug fix
  • 👌 Enhancement
  • ✨ New feature
  • 🧹 Chore
  • ⚠️ Breaking change

📚 Description

A reused GitHub name could overwrite the stored Repository ID and sync another Repository's content.
Sync, prefetch, and asset refresh now compare numeric IDs before moves, writes, or content reads.
Matching IDs preserve normal renames. Unknown IDs still gain their first identity.
Identity conflicts retain existing data and end without automatic retries.

Stored and received Repository IDs gate sync writes and moves. Conflicts end without automatic retries.

🤖 AI disclosure: Harlan Agent Kit modified this description. My AI open-source policy.

@harlan-github-agent harlan-github-agent Bot added harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. labels Oct 9, 2026
@harlan-github-agent

harlan-github-agent Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

🤖 MERGED

Harlan Agent Kit posted this automated review. It is not Harlan's personal review or approval. AI open source policy. Last updated: 2026-10-09 04:21 UTC.

GitHub merged this pull request.

  • Logged (25/100): An identity conflict records no repos-row verdict, so the hourly candidate pools automatically retry the conflicted repository forever, producing one failed job per hour per conflicted repo. View code Optional follow-up.
    • Ask an agent to verify and fix this finding
  • Logged (15/100): move_refused rejections are treated as permanent on the job path but still burn the full discovery attempt budget and end in the exhausted/alarm state. View code Optional follow-up.
    • Ask an agent to verify and fix this finding
  • Logged (10/100): The pull request's sole evidence diagram is unavailable (HTTP 400), so the visual documentation of the conflict flow cannot be verified against the implementation. View code Optional follow-up.
    • Ask an agent to verify and fix this finding

166c872c-76bb-4e6e-8ca4-e60a9e683638

Selected findings run after merge and open separate pull requests.

@harlan-zw harlan-zw added the harlan-agent-review Pull request triage requires an adversarial Review. Adding this label manually always forces one. label Oct 9, 2026
@harlan-github-agent harlan-github-agent Bot added harlan-agent-ready The automated Review passed every gate on this head commit. and removed harlan-agent-review Pull request triage requires an adversarial Review. Adding this label manually always forces one. harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. labels Oct 9, 2026

@harlan-github-agent harlan-github-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Harlan Agent Kit posted this automated review. AI open source policy.

Automated Review: READY.

Read the Review results

@harlan-zw
harlan-zw merged commit 6a77c50 into main Oct 9, 2026
8 checks passed
@harlan-github-agent harlan-github-agent Bot removed the harlan-agent-ready The automated Review passed every gate on this head commit. label Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant