Skip to main content
← Back to list
01Issue
BugShippedSwamp ClubPublic
Assigneesskunk-ape

Relationships

#3370 Registry scorer: a deno doc failure discards the whole scorecard, including the LICENSE and README facts (12 public extensions unscored)

Opened by skunk-ape · 10/13/2026· Shipped 10/13/2026

Problem

When deno doc fails on an extension, the registry's scorer throws away the whole scoring run. That includes facts that don't depend on deno doc: the LICENSE file, the README and the description. The extension then has no scorecard at all (available: false, reason: "failed"), Rescore can't fix it, and #3323's hiding treats it as unknown.

DenoDocExtensionTarballAnalyzer.analyze (lib/infrastructure/extension-tarball-analyzer.ts) computes hasLicenseFile and readme first, then calls runDenoDocJson. When that throws, process-extension-scoring-event.ts logs "Extension scoring analysis failed" and no version meta is written.

Evidence (production, 2026-10-13)

12 public extensions fail every time, even after a manual Rescore. Reproduced locally by running the analyzer on their latest archives:

Why deno doc fails Ships a LICENSE file No LICENSE file
Imports bare zod with no import map in the archive ("Import "zod" not a dependency") @bixu/launchd @hivemq/asdlc-factory, @magistr/fleet-probe, @wendy/rsync, @wendy/atproto, @wendy/ascii-maze
Imports a relative module that isn't in the archive ("Module not found", "Failed resolving '..'") @hivemq/1password/item (150k pulls), @hivemq/ssh/keygen, @kneel/sig-distgit, @kneel/openstack-releases, @stack72/letsencrypt-certificate (33k pulls) @rjeschmi/vm

Change

  • A deno doc failure doesn't abort scoring. Record hasLicenseFile, the README factors, the description, platforms and dependency trust as usual.
  • Score the doc-dependent factors as failed, with a short, author-readable reason: which import failed to resolve, with paths redacted as today.
  • Show that reason on the scorecard so the author knows what to fix.
  • Hiding uses the recorded hasLicenseFile. The 6 with a LICENSE file become licensed and listed. The 6 without become correctly hidden.
  • Rescore all 12 after deploy, and confirm each has a scorecard.

Acceptance

  • Unit tests: a bare-specifier archive and a missing-relative-module archive each produce a scorecard, with license and readme factors set and doc factors failed with the reason.
  • Production: all 12 have a scorecard after the rescore. The 6 with a LICENSE file are listed, and the 6 without are hidden.
  • #3342 (Rescore scores the newest version, not the scorecard version) is in the same scoring path; do it next, in sequence.
  • #3326 is in flight in swamp-club and touches the has-license factor.
02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 4 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/13/2026, 8:02:48 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
skunk-ape assigned skunk-ape10/13/2026, 5:00:38 PM
Editable. Press Enter to edit.

system commented 10/13/2026, 4:59:48 PM

Classified automatically when this issue was filed.

  • Source: Swamp Club

If you feel this classification is incorrect, add a ripple to tell us so.

bixu commented 10/13/2026, 5:13:03 PM

❤️

Sign in to post a ripple.