# Bootstrap Downloads

v00616 introduces the minimum durable shape for master-coordinated downloads.
The master observes the user's request, creates a temporary session record, and
redirects the user to the selected Bunny artifact. Bunny remains responsible for
serving the large static file.

The session record is not user identity. It is a short-lived bridge between a
download request and first installer run. It has one UUID: the bootstrap UUID.
When the installer claims the record, that UUID becomes the qne-node UUID.

```text
qne.info/download
  -> development-master-0001 creates a download session
  -> master redirects to Bunny artifact
  -> installer runs and detects actual platform
  -> installer claims the session with nonce
  -> bootstrap UUID becomes qne-node UUID
```

Recorded fields include:

- bootstrap UUID
- platform guess from HTTP request context
- actual platform after installer run
- artifact name, hash, and Bunny URL
- optional requester IP observation
- optional MaxMind ASN, ISP, and GeoNames ids
- nonce hash
- direct download expiry and install claim expiry

The current implementation is a Rust command-line foundation:

```sh
cargo run -p qne-download-coordinator -- create \
  --cache-root ./tmp/master-cache \
  --platform-guess macos-aarch64 \
  --artifact-name qne-node-v00616-macos-arm64.zip \
  --bunny-url https://qne.example/qne-node-v00616-macos-arm64.zip
```

Base qne-node installation does not create users. User UUIDs, base36 user names,
and `users/<base36>` actor directories belong to later user-onboarding flows.

The public HTTP redirect endpoint, MaxMind database lookup, and runtime
self-correction download are deliberately left for the next version.
