Skip to content

Repository purpose job retries five times on a permanent 404 #584

Closed

Description

@harlan-github-agent

Since the #581 deploy, registry/repository-purpose throws "Repository purpose source unavailable: 404" for permanently gone upstream repos, so each exhausts five attempts (amnadtaowsoam/cerebraskills, demerzels-lab/elsamultiskillagent, duclm1x1/dive-ai, housegarofalo/claude-code-base today) and, with broken_since NULL, re-enqueues daily, driving 4 of the 5 nightly failed-job RED faults.

Target: layers/registry/server/utils/repository-purpose-effect.ts plus server/jobs/registry/repository-purpose.ts

Verify with: pnpm exec wrangler d1 execute skilld-db --remote --command "SELECT attempts, COUNT(*) n FROM failed_jobs WHERE job_type='registry/repository-purpose' GROUP BY attempts" --json returns only attempts=1 rows after a 404 repo passes through, and pnpm vitest run test/unit/repository-purpose-effect.test.ts passes

Estimated to change 2 files.

The daily-checkin routine opened this issue automatically on its 2026-10-08T20:40:00.000Z run. It is not Harlan's own report. Close it to reject the proposal, and the reason you give stops it being offered again.

Activity

  1. harlan-github-agent commented on Oct 8, 2026

    @harlan-github-agent
    ContributorAuthor

    🤖 ISSUE TRIAGE

    Harlan Agent Kit posted this automated triage. It is not Harlan's personal assessment or commitment. AI open source policy.

    • Route: Ready to implement
    • Difficulty: 2/5
    • Impact: 4/5
    • Reproduction: Yes
    • Codebase review: Not needed
    • Summary: Confirmed in code: readRepositoryPurposeEvidence throws on a permanent 404 (repository-purpose-effect.ts:51), the job's tries:5 exhausts every attempt before dead-lettering (server/jobs/registry/repository-purpose.ts:13), and because nothin
    • Next action: Implement: give readRepositoryPurposeEvidence a typed 404/410 missing outcome instead of throwing, have server/jobs/registry/repository-purpose.ts mark the repo missing (broken_since, mirroring markRepoMissing semantics) and call ctx.fail once, extend test/unit/repository-purpose-effect.test.ts with a regression test, then verify per the issue: pnpm vitest run test/unit/repository-purpose-effect.test.ts and the failed_jobs attempts query showing only attempts=1 rows.
    • Related pull requests: feat(registry): record repository purpose with Jev #581: Introduced the repository-purpose job and its throwing 404 evidence path that this fix corrects; no follow-up PR addresses it.
  2. added
    harlan-agent-ready-to-implementIssue triage found bounded work ready for an implementation Agent.
    and removed
    harlan-agent-runningAn Agent holds a Task on this issue or pull request right now.
    on Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions