Summary
Replace the sidecar-first onboarding story with an embedded-first getting-started path that teaches a developer (or LLM agent) how to build a Traverse app where business logic lives once in WASM and every UI shell only submits input and renders runtime-owned output.
Deliver a single guided path that uses the platforms that already embed successfully today (Web React, Linux GTK, Rust CLI), and explicitly marks Apple / Android / Windows as sidecar-interim until App-Refs #114–#116 complete.
Why
A new user or coding agent currently lands on Phase 1/2 traverse-cli serve instructions. That hides the production architecture (Phase 3 embedded host) and makes “same business logic everywhere” feel like an HTTP integration exercise instead of a WASM + UI-shell model.
Depends on
Blocked by
Architecture boundary
- Docs must keep the UI-only rule: no business field computation in clients.
- Docs must cite public Traverse embedder / consumer surfaces only — no private Traverse internals.
- Docs must not invent fake runtime behavior or stub workflow registration.
Definition of Done
Validation
# Doc presence
test -f docs/getting-started-embedded.md
# Repo gates (docs / links / structure)
bash scripts/ci/repository_checks.sh
bash scripts/ci/onboarding_check.sh
# Manual walkthrough (embedded — no traverse-cli serve)
# 1. Follow docs/getting-started-embedded.md Web steps
# 2. Submit a fixed note fixture
# 3. Confirm runtime-owned fields render (title, tags, noteType, suggestedNextAction, status)
# 4. Repeat on CLI or Linux GTK per the doc
# 5. Confirm the doc’s platform matrix matches README Platform clients table
Expected: a cold reader can complete Web + one native embedded client end-to-end with no sidecar, and can explain where to change business logic vs UI.
Summary
Replace the sidecar-first onboarding story with an embedded-first getting-started path that teaches a developer (or LLM agent) how to build a Traverse app where business logic lives once in WASM and every UI shell only submits input and renders runtime-owned output.
Deliver a single guided path that uses the platforms that already embed successfully today (Web React, Linux GTK, Rust CLI), and explicitly marks Apple / Android / Windows as sidecar-interim until App-Refs #114–#116 complete.
Why
A new user or coding agent currently lands on Phase 1/2
traverse-cli serveinstructions. That hides the production architecture (Phase 3 embedded host) and makes “same business logic everywhere” feel like an HTTP integration exercise instead of a WASM + UI-shell model.Depends on
traverse-starter.pipeline,doc-approval.pipelineBlocked by
Architecture boundary
Definition of Done
docs/getting-started-embedded.mdexists and covers, in order:traverse-cli serveREADME.mdGetting Started section leads with the embedded path and demotes sidecar to a clearly labeled “Dev sidecar (Phase 1/2 interim)” subsectiondocs/traverse-starter-plan.mdanddocs/embedded-runtime-plan.mdcross-link the new guide (no contradictory “sidecar is the only way” wording in the first screen of onboarding)apps/youaskm3-starter-kit/README.md(ordocs/youaskm3-starter-kit.md) links to the new guide for the browser pathnpm run lint/npm run typecheck/bash scripts/ci/repository_checks.shstill pass if touched; no new runtime fakesValidation
Expected: a cold reader can complete Web + one native embedded client end-to-end with no sidecar, and can explain where to change business logic vs UI.