From c9edd955d9bb9e9431a4c46088b113656b53847a Mon Sep 17 00:00:00 2001 From: PJ Date: Sat, 6 Jun 2026 23:26:19 +0530 Subject: [PATCH] fix(docs): sibling links from directory-style pages need ../ --- docs/manual/cli.md | 2 +- docs/manual/getting-started.md | 6 +++--- docs/manual/introduction.md | 12 ++++++------ docs/manual/replay.md | 2 +- docs/manual/runs.md | 4 ++-- docs/manual/spec-language.md | 2 +- docs/manual/writing-specs.md | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/manual/cli.md b/docs/manual/cli.md index 0faf506..f715614 100644 --- a/docs/manual/cli.md +++ b/docs/manual/cli.md @@ -35,7 +35,7 @@ Serve a local web UI for browsing traces. The positional argument is optional an | `--no-open` | `false` | Skip opening the default browser on startup. | | `--dev` | `false` | Reverse-proxy non-API requests to the Vite dev server on `127.0.0.1:5173`. | -See [the replay UI page](./replay/) for the panel reference and keyboard shortcuts. +See [the replay UI page](../replay/) for the panel reference and keyboard shortcuts. ## `sanderling doctor` diff --git a/docs/manual/getting-started.md b/docs/manual/getting-started.md index 2e28d70..04517a7 100644 --- a/docs/manual/getting-started.md +++ b/docs/manual/getting-started.md @@ -6,7 +6,7 @@ title: Getting started This page installs sanderling and runs a first test against folio, the example app that ships with the repo. By the end you will have a trace of a real run open in your browser. -If you have not read the [introduction](./introduction/), start there. It explains what sanderling does and how it works. +If you have not read the [introduction](../introduction/), start there. It explains what sanderling does and how it works. ## Install @@ -110,8 +110,8 @@ This opens a web UI for the trace. Step through the run with `j` and `k`. Each s The folio spec gives extra weight to rapid double taps, because a form that submits twice on a double tap is a classic bug. folio's transaction form has exactly that flaw. When the explorer hits it, the balance moves by twice the typed amount, the `submitMovesBalanceByTypedAmount` property fires, and the timeline shows the violation. -See [replay](./replay/) for the full panel and shortcut reference. +See [replay](../replay/) for the full panel and shortcut reference. ## Next -You have run sanderling against an app with a finished spec. The next page builds that spec from scratch, one concept at a time: [writing specs](./writing-specs/). +You have run sanderling against an app with a finished spec. The next page builds that spec from scratch, one concept at a time: [writing specs](../writing-specs/). diff --git a/docs/manual/introduction.md b/docs/manual/introduction.md index 1e68f64..6687d74 100644 --- a/docs/manual/introduction.md +++ b/docs/manual/introduction.md @@ -82,9 +82,9 @@ Kotlin Multiplatform apps need nothing special: the Android build is tested thro ## Reading this manual -- [Getting started](./getting-started/) installs the CLI and runs a first test against folio, the example app. -- [Writing specs](./writing-specs/) builds the folio spec from scratch and teaches every concept along the way. -- [Spec language reference](./spec-language/) lists every selector, operator, and action. -- [Runs](./runs/) explains what happens during a run and why runs are long. -- [Replay](./replay/) covers the trace browser. -- [CLI reference](./cli/) lists every command and flag. +- [Getting started](../getting-started/) installs the CLI and runs a first test against folio, the example app. +- [Writing specs](../writing-specs/) builds the folio spec from scratch and teaches every concept along the way. +- [Spec language reference](../spec-language/) lists every selector, operator, and action. +- [Runs](../runs/) explains what happens during a run and why runs are long. +- [Replay](../replay/) covers the trace browser. +- [CLI reference](../cli/) lists every command and flag. diff --git a/docs/manual/replay.md b/docs/manual/replay.md index c34b298..941b59c 100644 --- a/docs/manual/replay.md +++ b/docs/manual/replay.md @@ -22,7 +22,7 @@ The positional argument can be a runs directory or a single run directory (auto- | ActionList | Ordered list of steps with the verb and target for each action. | | Timeline | Per-property lane chart over the run; cells coloured by violated, pending, or holds. | | ViolationsPanel | Property statuses at the focused step with residual formulas for any that failed. | -| HierarchyPanel | Filterable table of every UI element captured at the focused step; mirrors the selectors documented in [Spec language reference](./spec-language/). | +| HierarchyPanel | Filterable table of every UI element captured at the focused step; mirrors the selectors documented in [Spec language reference](../spec-language/). | | SnapshotTable | Flattened `snapshots` map for the focused step, with diffs against the previous step. | | MetricsChart | Heap and other host-side metrics sampled per step. | | ExceptionsPanel | Uncaught exceptions captured during the run, with a jump-to-first control. | diff --git a/docs/manual/runs.md b/docs/manual/runs.md index eb1b809..8ee697b 100644 --- a/docs/manual/runs.md +++ b/docs/manual/runs.md @@ -30,7 +30,7 @@ The trace is written incrementally. An interrupted run is complete up to the ste ## App state across runs -By default the installed app stays in place between runs, so whatever the previous run left behind (an account, cached responses, completed onboarding) carries over. Pass `--clear-data` to wipe app data before launch and start cold every time. See the [CLI reference](./cli/#sanderling-test). +By default the installed app stays in place between runs, so whatever the previous run left behind (an account, cached responses, completed onboarding) carries over. Pass `--clear-data` to wipe app data before launch and start cold every time. See the [CLI reference](../cli/#sanderling-test). ## Why runs are long @@ -44,7 +44,7 @@ Long runs reach states that restart-per-test approaches structurally cannot. ## Setup cost is paid once -Preconditions like login run through the spec's `setup` export (see [writing specs](./writing-specs/#getting-past-login)). They fire when their condition is unmet and go quiet after, so login costs a few seconds once per run, not once per test case. +Preconditions like login run through the spec's `setup` export (see [writing specs](../writing-specs/#getting-past-login)). They fire when their condition is unmet and go quiet after, so login costs a few seconds once per run, not once per test case. | Run length | Login cost | Share of run | |---|---|---| diff --git a/docs/manual/spec-language.md b/docs/manual/spec-language.md index 9c9e04a..5516ca9 100644 --- a/docs/manual/spec-language.md +++ b/docs/manual/spec-language.md @@ -4,7 +4,7 @@ title: Spec language reference # Spec language reference -Lookup reference for everything importable from `@sanderling/spec`. For a guided walkthrough, read [writing specs](./writing-specs/) first. +Lookup reference for everything importable from `@sanderling/spec`. For a guided walkthrough, read [writing specs](../writing-specs/) first. ## Module structure diff --git a/docs/manual/writing-specs.md b/docs/manual/writing-specs.md index 1aac86b..ab925bf 100644 --- a/docs/manual/writing-specs.md +++ b/docs/manual/writing-specs.md @@ -4,7 +4,7 @@ title: Writing specs # Writing specs -This page teaches spec writing by building one. The subject is folio, the example app from [getting started](./getting-started/). We start from an empty file and end at the finished spec that ships in the repo at `examples/folio/sanderling/spec.ts`. Each section adds one concept. +This page teaches spec writing by building one. The subject is folio, the example app from [getting started](../getting-started/). We start from an empty file and end at the finished spec that ships in the repo at `examples/folio/sanderling/spec.ts`. Each section adds one concept. ## The app