Skip to content

Distinguish a source that was never attempted from one that was attempted and failed #708

Description

@nathanacurtis

Problem

When a source's download fails, the end-of-run cache report still lists it under "Not fetched, skipped" — the identical wording used for a source that --only deliberately excluded. A run where every source failed prints the per-source failures and then a line saying those same sources were skipped, which reads as though nothing was tried.

The report is describing disk state (no payload present), but the wording claims an intent.

Observed — both sources were attempted and both failed:

✗ core: fetch failed while downloading "file" — continuing with remaining sources
✗ organisms: fetch failed while downloading "file" — continuing with remaining sources
  Not fetched, skipped: core, organisms
✗ Fetch incomplete: 2 of 2 sources failed (core, organisms)

Potential solution(s)

  • Separate the two states in the report — excluded by the run's scope, versus attempted and failed
  • Or drop failed sources from the skipped line entirely, since the failure was already reported directly above it

Acceptance criteria

  • A source that failed its download is never described as skipped
  • A source excluded by --only is still reported as not fetched
  • A run where every source failed does not print a line implying no attempt was made

Case data

  • Workspace: fm — during a fetch
  • Territory: cli
  • Impacted file(s): packages/cli/src/commands/FetchCommand.ts (reportCache)
  • Size: xs

Implementation details are tracked internally.

Activity

  1. self-assigned this
    on Oct 7, 2026
  2. added theissue type on Oct 7, 2026
  3. nathanacurtis commented on Oct 8, 2026

    @nathanacurtis
    MemberAuthor

    Fixed on fix/fetch-error-accuracy (PR #710).

    reportCache now takes the aliases the caller attempted and leaves them out of the skipped line — their failure is already reported directly above it. Verified with one source failing and one genuinely unfetched in the same run:

    ✗ bad: fetch failed while downloading "file" — continuing with remaining sources
      Retry just this work: specs fetch --only bad
      Not fetched, skipped: viaurl
    
    • A source that failed is never described as skipped
    • A source excluded by --only is still reported as not fetched
    • A run where every source failed prints no skipped line at all
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

clispecs-cli commands

Type

Fields

Priority

None yet

Projects

  • Status
    Ready to release

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions