The lists below are split by surface so you can focus on the layer
you own: [Python SDK](/python-sdk/happy-paths.md), [CLI](/cli/happy-paths.md),
or [Operator](/admin/happy-paths.md).

# Happy Paths

A **happy path** is the canonical, no-edge-cases flow through a feature
— what a user runs when everything works. For Lakeshore, the paths
below are both:

- **the test plan** — each one is a scripted walkthrough; "green
  across all of them" is the shipping bar; and
- **the implementation roadmap** — when one is red, the work to turn
  it green is the next concrete unit.

## Working through them

- **Walk top-down.** Ordered leaf-nodes-first; each depends on the
  ones above. If `02` is red, don't chase `08` — fix `02` first.
- **One owner, one outcome.** Each page ends with a single
  "I ran it and it worked" verdict.
- **Status drifts.** Re-run regularly; a green path can go red when
  unrelated changes ship.
- **Cheap checkpoint vs. expensive.** Unit-test surface lives at
  [/get-started/status](/get-started/status.md) (runs every commit). Happy paths are the
  expensive checkpoint that ties everything together.

> **Note:** Not the user-facing tutorial set ([Tutorials](/get-started/tutorials.md)). Happy
> paths are project-facing — contributors and operators run them to
> verify the surface is intact. Many duplicate the tutorials on
> purpose, with stricter step-by-step assertions.

## The list

| # | Path | Verifies |
| - | ---- | -------- |
| 01 | [Hello, local Python](/python-sdk/happy-paths/01-hello-local-python.md) | Python SDK install + decorator |
| 02 | [Hello, hosted control plane](/cli/happy-paths/02-hello-hosted-cp.md) | Auth + token wire |
| 03 | [Hello, local stack](/admin/happy-paths/03-hello-local-stack.md) | CP + nymph + CLI on `localhost` |
| 04 | [Smoke-exec cascade](/cli/happy-paths/04-smoke-exec-cascade.md) | The whole `daemon exec` surface |
| 05 | [Hello, queue-bound UDF](/python-sdk/happy-paths/05-hello-queue-udf.md) | Submit → poll → execute round-trip |
| 06 | [Fan out and gather](/python-sdk/happy-paths/06-fan-out-gather.md) | Parallelism + ordered collection |
| 07 | [SSH provider smoke](/cli/happy-paths/07-ssh-provider-smoke.md) | Provider abstraction (no daemon) |
| 08 | [Bootstrap a daemon on a remote host](/admin/happy-paths/08-bootstrap-daemon-remote.md) | Daemon-on-remote install |
| 09 | [Storage round-trip](/cli/happy-paths/09-storage-round-trip.md) | Presigned URLs against a real bucket |
| 10 | [Code mount](/python-sdk/happy-paths/10-code-mount.md) | Local code → S3 → worker |
| 11 | [Storage access from a UDF](/python-sdk/happy-paths/11-storage-from-udf.md) | Worker fetch from logical storage |
| 12 | [Compose a cluster declaratively](/admin/happy-paths/12-compose-cluster.md) | Declarative `lakeshore up/down` |
| 13 | [Cloud provider launch](/admin/happy-paths/13-cloud-provider-launch.md) | EC2/GCE/Slurm/Kube launch |
| 14 | [Dashboard observability](/admin/happy-paths/14-dashboard-observability.md) | Reactive view of the system |
| 15 | [Token lifecycle](/cli/happy-paths/15-token-lifecycle.md) | Admin → namespace → client auth |
