Skip to content

docs(product): native first-run product tour design record (RIG-2797) - #662

Draft
rigel-mintaka wants to merge 1 commit into
mainfrom
compass-ux/2797-first-run-tour-design
Draft

docs(product): native first-run product tour design record (RIG-2797)#662
rigel-mintaka wants to merge 1 commit into
mainfrom
compass-ux/2797-first-run-tour-design

Conversation

@rigel-mintaka

Copy link
Copy Markdown
Contributor

Design record for the native first-run product tour: a store-gated
App-root SolidJS overlay whose steps anchor to real chrome via data-tour
attributes and drive the app's own router/store, entering on the
chase-light motion primitive. No PostHog-rendered UI ships in-app; PostHog
is measurement-only through a no-op-safe captureTourEvent indirection over
the #656 T6 embed, and tour UI has zero dependency on that embed landing.

Drafted by the design subagent, red-teamed by design-critic; both blocking
findings (async anchor-resolve race, unreachable agent-workspace nav) and
all should-fix findings folded. Ledger delta DL-265..268 applied to
docs/designs/DECISIONS.md in the same PR (UX foundation section).

Three load-bearing open questions (remote content, seen-state grain,
step-arc ratification) go to Matt for ruling before the freeze.

Co-authored-by: Matt Wilkinson matt@rigel.build

@linear-code

linear-code Bot commented Aug 27, 2026

Copy link
Copy Markdown

RIG-2797

@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown

Compass engineering docs preview: https://compass-ux-2797-first-run-to.compass-eng-docs.pages.dev

Deployed from compass-ux/2797-first-run-tour-design at b7990ea.

Changed pages:

@rigel-mintaka
rigel-mintaka force-pushed the compass-ux/2797-first-run-tour-design branch 2 times, most recently from 4c931a8 to fa243ae Compare August 27, 2026 02:17
@rigel-mintaka
rigel-mintaka marked this pull request as ready for review August 27, 2026 02:18
@rigel-mintaka

rigel-mintaka commented Aug 27, 2026

Copy link
Copy Markdown
Contributor Author

Unblocked — #664 merged, this PR rebased onto clean main.

The main-red duplicate DL-264 is cleared (#664 landed at f7b1923e). This branch is rebased onto clean main and its four ledger rows are renumbered to the next contiguous block above the landed max: DL-272..275 (DL-269..271 are reserved for RIG-2751 #645, ahead in the merge queue). design-ledger-gate passes; markdownlint clean; no duplicate DL ids.

Ready for Matt's review + merge (the freeze) alongside the three OQ rulings on RIG-2808.

Design record for the native first-run product tour: a store-gated
App-root SolidJS overlay whose steps anchor to real chrome via data-tour
attributes and drive the app's own router/store, entering on the
chase-light motion primitive. No PostHog-rendered UI ships in-app; PostHog
is measurement-only through a no-op-safe captureTourEvent indirection over
the #656 T6 embed, and tour UI has zero dependency on that embed landing.
Drafted by the design subagent, red-teamed by design-critic; both blocking
findings (async anchor-resolve race, unreachable agent-workspace nav) and
all should-fix findings folded. Ledger delta DL-272..275 applied to
docs/designs/DECISIONS.md in the same PR (UX foundation section).
Three load-bearing open questions (remote content, seen-state grain,
step-arc ratification) go to Matt for ruling before the freeze.

Co-authored-by: Matt Wilkinson <matt@rigel.build>
@rigel-mintaka

Copy link
Copy Markdown
Contributor Author

Heads up from RIG-2577 T10 (#832, now open): that PR removed the transitional docs/designs/product/ bucket entirely — the directory is deleted and product is no longer in the design-ledger-gate's GOVERNED_ROOTS.

This PR adds docs/designs/product/compass-first-run-tour/design.md, which after a rebase onto current main targets a deleted, ungoverned bucket. The first-run tour is a UI/onboarding surface, so post-reorg it belongs under docs/designs/ui/compass-first-run-tour/design.md.

Before merge, please re-point the record to docs/designs/ui/compass-first-run-tour/design.md (and any DECISIONS.md Record cell / inbound links with it). This PR is also currently showing conflicts against main, so a rebase + the bucket move go together whenever the lane picks it back up.

rigel-mintaka added a commit that referenced this pull request Sep 1, 2026
…ve-family sweep (RIG-3113)

The final task (T10) of the RIG-2577 design-docs reorg. T8 dissolved `product/` into `agent/`/`server/`/`ui/`/`meta/` but left the native-app family under the transitional `product/` governed root while RIG-2542's client-only direction settled. RIG-2542 is closed (Done, 2026-08-23) and T8/T9 have merged (#825), so this empties and removes `product/`.

## What moved

The 8 remaining records `product/` → `ui/` (all UI/native-shell surface):

- `compass-native-app/`, `compass-native-client-mode/`, `compass-native-client-only/`, `compass-native-packaging/`
- `compass-multi-window/`, `compass-stack-cross-process-teardown/`, `compass-gtk4-migration/`
- `compass-tauri-shell.md` (stays flat at the `ui/` root; the corpus's only supersession pointer)

## Re-points (same PR, per CONTRIBUTING §"Moving a record is not a freeze violation")

- **Ledger:** 18 `DECISIONS.md` Record cells `product/<r>` → `ui/<r>`.
- **Supersession pointer:** `compass-tauri-shell.md`'s `Status: Superseded by compass-native-app/design.md` is already the final same-bucket record-relative form; verified it resolves under the generalized `resolveRecordRelative` (no `../` escape) now that both endpoints sit in `ui/`.
- **Cross-bucket citations to the 8:** `infra/ci/compass-agent-image-publish`, `infra/ci/compass-dogfood-e2e`, `infra/release/compass-release-bundling`, `infra/release/compass-distribution`, `infra/runtime/compass-runner-arbitrary-uid`, plus the two moved records' own self/sibling citations.
- **Code/config:** `go/e2e/client_mode_test.go`, `tools/renovate/config.json5`.

## De-govern + delete

- Removed `"product"` from `GOVERNED_ROOTS` in `tools/design-ledger-gate/index.ts` (now `[ui, agent, server, meta, infra, observability, repo]`) and updated its doc comment.
- Deleted the now-empty `docs/designs/product/` directory.
- Dropped CONTRIBUTING §6's `product/ is transitional` subsection and the "plus the transitional `product/` root" clause; the transitional state is over.
- Updated the gate's own test fixtures (`index.test.ts`) that used `product/` as a governed-bucket stand-in to `ui/` (a de-governed bucket would flip their `touchesRecord(...).toBe(true)` assertions).

## Verification

- `design-ledger-gate`: OK — 284 ledger rows, 120 record headers valid, exit 0.
- Gate test suite: 81 pass / 0 fail.
- eng-docs `gather`: 187 docs + index + sidebar, exit 0.
- Relative `.md` link resolution across all 135 design records: 0 dangling.
- The ~108 remaining `docs/designs/product/...` mentions are pre-existing historical prose in frozen records (old `product/DECISIONS.md` ledger path relocated at T2, deleted `compass-0.x` version records, the old `PRODUCT_DIR` gate constant, and the separate `docs/specs/product/` tree) — none reference a moved record, and rewriting frozen records' decision prose is out of scope.

## Coordination note

Two open draft PRs add new NON-native records into `product/` against the pre-T8 flat taxonomy: #601 (`compass-forge-scope-enforcement` → belongs in `server/`) and #662 (`compass-first-run-tour` → belongs in `ui/`). Both must re-point their record to the correct bucket before merge (mis-filed against the dissolved taxonomy regardless). Flagged on both PRs.

Refs RIG-3113. Refs RIG-2577.
Ledger-impact: 18 Record-cell path re-points (product/ → ui/); no decision rows added, flipped, or removed.
Spec-impact: none.

Co-authored-by: Matt Wilkinson <matt@rigel.build>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant