ADR-006: Implement Level Zero Adaptive Onboarding Flow#30
Closed
ADR-006: Implement Level Zero Adaptive Onboarding Flow#30
Conversation
- Remove beginPulse glow from Begin Setup button (glow only on Get Started) - Add hover tooltip explainers to 3 hero feature pills - Robot Phase 1: Hover over icons instruction + pill tour animation - Robot Phase 2: Get Started button in speech bubble + 60s inactivity glow - Get Started -> Trade Window -> rocket -> fireworks -> Genesis Pioneer - Achievement gating: all except Discover Profiles locked until Trade Window - Pre-trade content gating via body.pre-trade class - Second achievement: Discover Profiles unlock on browse/fork/begin setup - Robot excited transition to achievements section - AGENT_GUIDE.md bug log entries BUG-007/008/009" Co-authored-by: Maangled <108793241+Maangled@users.noreply.github.com> Agent-Logs-Url: https://github.com/Maangled/ferros/sessions/ed22ea0b-d5e8-4cd9-a93f-20af00714b28
Copilot
AI
changed the title
[WIP] Implement corrected onboarding flow per ADR-006
ADR-006: Implement Level Zero Adaptive Onboarding Flow
Mar 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rewires the existing boot/animation infrastructure into the correct ADR-006 sequence and adds the missing robot-guided onboarding phases. The old flow sent users directly to Stage 1 after boot; the new flow gates progression behind the robot's teaching sequence and Trade Window consent.
Button Differentiation
beginPulseglow from.begin-btn(CSS +_postBootRevealJS) — the "Begin Setup →" button is now a static secondary CTAgetStartedPulseanimation that only fires afterINACTIVITY_GLOW_DELAY_MS(60s) of inactivityRobot Onboarding Phases (post-boot)
body.phase1-speech+_runPillTour(): robot says "Hover over each of the icons", then animates (translateX) toward each of the 3 hero feature pills in sequence, showing tooltip explainers (~1.5s each)_startPhase2(): speech updates to "FERROS is free, for you, for life. Click this button to get started." with the Get Started button rendered inside the bubble; 60s inactivity timer startsFeature Pill Tooltips
Each
.feature-pillwrapped in.feature-pill-wrapwith a.feature-pill-tooltipchild — shows on:hoveror via.pill-activeclass (robot-triggered during tour):file://, localStorage, no cloudGet Started → Trade Window → Achievement Flow
handleGetStarted()opens Trade Window;_tradeWindowAcceptedflag prevents double-prompt when user later clicks "Begin Setup →"_postGetStartedAccepted()removesbody.pre-trade(reveals achievements/profiles), applies.ach-locked(50% opacity + grayscale) to all achievements except Genesis Pioneer and Discover Profiles, then fires_launchRocketFromGetStarted()— rocket arc from Get Started button to Genesis Pioneer card_robotTransitionToAchievements(): robot exits right, enters left withandroidBobFastexcited bob, switches tobody.congrats-speechContent Gating
body.pre-trade(set in_postBootRevealalongside removingbody.boot-sequence) hides.genesis-ach-section,.gallery-preview-section,.alias-entry-section,.recovery-entry-sectionuntil Trade Window is accepted.Second Achievement Path
_unlockDiscoverProfiles()gates on_tradeWindowAccepted || sessionMode(Genesis Pioneer must come first), then unlocks the Discover Profiles card. Triggered by:browseAllProfiles()/startAliasFromGallery()(profile fork)completeStage0()(Begin Setup →)"Start from Scratch" card in featured profiles now calls
scrollToGenesisCard()(smooth scroll to Welcome box) instead of jumping directly tocompleteStage0().AGENT_GUIDE.md
Added BUG-007 (Begin Setup glow), BUG-008 (achievement hover tooltip persistence), BUG-009 (scroll gating clipped Begin button) with the canonical button differentiation table.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
example.com/usr/bin/curl curl -s -o /dev/null -w %{http_code} REDACTED(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
Context
This is PR D — the big implementation PR that brings the full corrected onboarding flow per ADR-006 (just merged in PR #29). This builds on top of all previously merged PRs (#22-29) and is the definitive implementation of the Level Zero robot-guided onboarding experience.
CRITICAL: Read
docs/AGENT_GUIDE.mdANDdocs/adr/ADR-006-level-zero-adaptive-onboarding.md(just merged in PR #29) before touching any code. ADR-006 is the binding spec for this PR. All architecture constraints apply:file://protocol compatibility mandatory — no external deps, nofetch(), no ES modules, no CDNsaveProfile()is the ONLY localStorage write pointhashData()or the seal chainRead ALL existing ADRs in
docs/adr/— they are binding.Current State of Main Branch
PRs already merged that this builds on:
The current code has the boot animation and rocket/fireworks from PRs #25-28 but they were built BEFORE the corrected flow was defined in ADR-006. This PR needs to rewire the existing animations into the correct sequence and add the missing pieces.
What Needs to Change (per ADR-006)
1. Differentiate the Buttons
There are THREE distinct buttons. They are currently confused. Fix them:
The "Begin Setup →" button currently has the
beginPulseglow animation from PR #23. Remove that glow entirely. The glow behavior belongs ONLY on the "Get Started" button inside the robot's dialog, and only after ~60 seconds of inactivity.2. Robot Phase 1 — Teaching the System
After the boot animation completes and the robot is in position:
3. Robot Phase 2 — Get Started
4. Get Started → Trade Window → Rocket → Achievement
showTradeWindow()or equivalent from PR Add MMO-style Trade Window permission/consent dialog with session mode #7)This pull request was created from Copilot chat.
⌨️ Start Copilot coding agent tasks without leaving your editor — available in VS Code, Visual Studio, JetBrains IDEs and Eclipse.