docs(examples): close saas tutorial boundary

Promote examples/saas from skeleton wording to the canonical tutorial app and record the v1 release decision that local persistence plus provider-explicit recipes is the supported production boundary for CI-friendly docs.

req: examples/001

req: auth/001

req: laws/004

req: public_api/005
This commit is contained in:
slhx agent
2026-06-05 10:06:46 +02:00
parent 78aff362ff
commit a428097e0e
4 changed files with 32 additions and 36 deletions
+9 -8
View File
@@ -1,8 +1,8 @@
# hemx SaaS tutorial skeleton
# hemx SaaS tutorial app
This is the compile-tested skeleton for the v1 production-shaped tutorial app. It is intentionally provider-light: auth/session, CSRF, persistence, deploy, metrics, and islands are explicit app boundaries, not hemx core services. Read the walkthrough in `../../docs/tutorial-saas.md`. req: examples/001 req: auth/001
This is the compile-tested v1 production-shaped tutorial app. It intentionally uses an equivalent local persistence adapter and provider recipes as the supported v1 production boundary: auth/session, CSRF, SQLx persistence, deploy, metrics, flags, offline behavior, and islands are explicit app integrations, not hemx core services. Read the walkthrough in `../../docs/tutorial-saas.md`. req: examples/001 req: auth/001
What it proves today:
What it proves:
- typed form/newtype inputs for project creation
- auth/session context passed through normal Rust state
@@ -14,12 +14,13 @@ What it proves today:
For provider-explicit boundaries, see `../../docs/recipes/sqlx-persistence.md`, `../../docs/recipes/auth-session-csrf.md`, `../../docs/recipes/observability-flags.md`, `../../docs/recipes/deploy-versioning.md`, and `../../docs/recipes/pwa-offline.md`.
What it deliberately does not claim yet:
What it deliberately keeps out of the tutorial crate:
- a checked-in SQLx migration crate or database pool
- production cookie/session middleware
- a deploy target, flags, analytics, billing, or offline sync
- browser automation for the metrics island
- a vendored SQL/auth/metrics/flags/deploy provider dependency
- provider credentials, external services, migrations, or browser automation
- billing, account administration, or other SaaS platform scope
Those production concerns belong in app adapters and recipes so the tutorial remains runnable in CI without external side effects.
Run:
+1 -1
View File
@@ -320,7 +320,7 @@ mod tests {
}
#[test]
fn home_page_documents_the_production_skeleton_boundaries() {
fn home_page_documents_the_production_app_boundaries() {
// req: examples/001 req: auth/001 req: auth/004 req: interop/003
let ctx = AppContext::demo();
let html = home_page(&ctx);