learning_ai_invt_trdg/web/NAVIGATION_ACCESS_CONTROL.md

3.2 KiB

Navigation Visibility & Tab Access Control

Added: 2026-02-20

Design Philosophy

The Bytelyst dashboard follows a "Contextual Depth" navigation model:

  • Consumer-facing tabs are simple, action-oriented, and confidence-building.
  • Technical/operational tabs are restricted to admins — they contain raw signal data, rule pass/fail states, and engine internals that are misleading without deep engine knowledge.

Core Principle

A rule failing () is normal and correct — it's the filtering system working. But visually, icons look like errors. Customers without context interpret "fail" as "broken." This generates anxiety and unnecessary support tickets.


Tab Visibility Matrix

Tab All Users Admin Only Rationale
Overview High-level portfolio summary
My Strategies Core user experience
Marketplace Strategy discovery & adoption
💎 Plans Subscription conversion
🛠️ Build Strategy Guided self-service wizard
Trade History User accountability & records
Positions & Orders Current state awareness
Settings Basic bot configuration
Signals Raw technical rule/indicator data — misleading without engine knowledge
Entries Internal watchlist/position engine state
🛡️ Strategy Clusters Advanced multi-profile management
⚙️ Admin Panel System operations & health

Why Signals and Entries Are Admin-Only

Signals Tab

Shows raw per-symbol rule evaluation output:

  • TrendBiasRule: EMA50 vs EMA200 comparison
  • SessionRule: Active trading session detection
  • MomentumRule: RSI state
  • AIAnalysisRule: Confidence scores
  • Rule pass/fail counts per profile

Consumer risk: A customer sees " TrendBiasRule Failed" and assumes the bot is broken, when in reality the bot is correctly waiting for a confirmed trend before entering. This contradiction between correct-behavior and perceived-failure creates support tickets and churn.

Entries Tab

Shows raw internal watchlist and position engine state — data structures that have no direct user-actionable interpretation without understanding the execution pipeline.


Consumer UX Strategy

Instead of exposing raw signals, consumers receive intelligence through curated, translated layers:

Raw Technical Data Consumer-Friendly Equivalent
TrendBiasRule: ❌ No 4H trend "Bot is waiting for a confirmed market direction"
SessionRule: ❌ TOK/SYD session "Bot is active only during London & New York hours"
RSI: 57.73 Not shown — irrelevant to consumer
minRulePassRatio: 0.9 "⚖️ Balanced Mode — requires 90% signal agreement"

This translation is handled by src/lib/StrategyExplanationService.ts and surfaced in the Diagnostic Intelligence section of each strategy card.


Implementation

File: src/App.tsx — tab visibility is controlled by profile?.role === 'admin' guard on each sensitive tab button in the <nav> element.