pulith-source 0.1.0

Composable source abstractions and planning for Pulith
Documentation
# pulith-source

Composable source definitions and planning.

## Role

`pulith-source` describes where resources may come from and turns that into executable candidate plans.

It should not execute fetches or manage storage/install policy.

## Main APIs

- `SourceSpec`
- `PlannedSources`
- `SelectionStrategy`
- `SourceDefinition`

## Basic Usage

```rust
use pulith_resource::{ResourceLocator, ValidUrl};
use pulith_source::{PlannedSources, SelectionStrategy};

let planned = PlannedSources::from_locator(
    &ResourceLocator::Url(ValidUrl::parse("https://example.com/runtime.zip")?),
    SelectionStrategy::OrderedFallback,
)?;
# Ok::<(), Box<dyn std::error::Error>>(())
```

## How To Use It

Use this crate when you have a semantic resource or locator and need:

- structured source definitions
- ordered fallback plans
- race-style source candidate plans

See `docs/design/source.md`.