D664 - Ordered origin lists for corpus sources

Status: decided Date: 2026-09-10

A corpus source lists its origins as plain strings tried in order, first answer wins, each classified as a URL (it contains ://) or a path. The attempt records every origin that failed with its reason, and all failing is an error naming each attempt.

Why: a sibling checkout is the fast path for whoever has one and absent for everyone else, and a release is always there but slower; one origin per source is wrong for one of them. Keeping the failures shows when the fast path has quietly broken behind a working slow one. The ordering and reporting live in a pure function taking the fetch as a closure, so they are tested without a network.

Rejected: