Public demonstrations
Last Updated: 2026-09-04 | For: Administrators, content owners, and researchers
The public overview offers three anonymous product demonstrations. These are product demonstration sessions, not human-subject research, and their activity must not be used for effectiveness claims or presented as observed research results.
Launch and account contract
The public client submits only student, teacher, or researcher. Server-owned configuration maps that kind to an allowlisted experiment target, creates a cryptographically random participant identity, issues the login token, and sets an expiry exactly 24 hours after creation. Client-supplied usernames, TDF IDs, targets, and expiry values are rejected.
Only the active kind, resolved target, and expiry are kept in tab session storage. Refresh resumes the existing authenticated demonstration. The role action on the public overview starts the selected demo directly; the historical /demo/student, /demo/teacher, and /demo/researcher URLs now select that role on the overview rather than showing a second launch page. Opening a public demo while signed in to an ordinary account returns to /home; the real account is never replaced silently. Completing, leaving, or expiring a tagged public demo logs out the demo account and returns to the public overview. Ordinary experiment-participant return behavior is unchanged.
Content ownership
The canonical packages are in C:\dev\mofacts_config:
Public Demo Student Maps: a complete copy of the 200-country Wiki World Maps package, including its attributed WebP maps, typed recall, immediate feedback, and standard adaptive scheduling. The copy differs only by the experiment target required for public-demo routing.Public Demo Teacher AutoTutor: a complete copy of the existing Natural Selection SPARC AutoTutor package. The copy differs only by the experiment target required for public-demo routing. It uses the administrator-configured OpenRouter credential and model, the regular 25-turn limit, and the $0.20 session cost cap. There is no scripted substitute.Public Demo Researcher 2x2: a root TDF with adaptive/fixed scheduling crossed with typed/multiple-choice response. It usesloadbalancing: "min"andcountcompletion: "beginning"; returning participants keep their assigned child TDF. The completion table is explicitly illustrative mock data.
Upload all three public-demo packages through the normal package workflow. Each TDF carries its stable production identity, and the researcher root carries the ordered IDs of its four condition TDFs. The canonical Wiki World Maps and Natural Selection packages remain separate from their public-demo copies through different TDF IDs and package ownership, even though each copy intentionally reuses the canonical filenames and lesson content. Condition filenames and stimulus references are package-owned rather than globally unique.
Normal upload preserves these IDs and updates only the matching manageable records after confirmation. Import as copy is for creating a newly rekeyed family; it must not be used to refresh the three configured demo targets because a copied target would be ambiguous and is rejected.
Retention and cleanup
Demo accounts are tagged with profile.createdBy = "publicDemo", kind, target, creation time, and expiry. Startup and hourly cleanup select expired tagged accounts through the public_demo_expiration index and delete linked histories, experiment state, mappings, time logs, metrics, password-reset records, dashboard/analytics caches, upload quota, login tokens with the account, and identity-specific audit entries. Cleanup runs in bounded, restartable batches and records only aggregate counts and timing.
Ordinary accounts, ordinary experiment participants, condition TDFs, and aggregate condition counters are outside this purge.
Operations
- Install the Student, Teacher, and Researcher public-demo packages before exposing demo links in a deployed installation.
- Before upload, inspect each ZIP for the expected top-level
tdfId, rootconditionTdfIds, unique demo target, package-local stimulus references, and media attribution. Same-named files in another package are valid and must remain isolated by TDF, asset, and stimulus-set IDs. - Run the administrator filename-reference migration as a dry run, review every ambiguous or missing filename, and apply only the unchanged fingerprinted batch. The migration is bounded and restartable and does not rewrite existing TDF IDs or learner-history
TDFIdvalues. - Configure a working administrator OpenRouter credential and model for the teacher demonstration. Provider or configured-model failure is shown as unavailable and logged without credentials or learner content.
- Public-demo OpenRouter calls have a separate tagged-account quota; normal authenticated accounts and ordinary experiment participants are unaffected.
- Public/auth/demo interface strings are required in the deployment Brand Profile for all ten target UI locales. Authored demonstration lessons remain English and are labeled as such.
- Use Theme → Branding and Landing Page to enable, disable, and reorder audience demos and edit their public copy. These deployment-wide choices are independent of visual themes.
- Verify the routes, mobile layout, keyboard focus, reduced motion, and Arabic/Urdu RTL after changing a visual theme or publishing a Brand Profile.