The core insight of the BB+JEPA architecture is deceptively simple: measure the complexity of what you are asking someone to understand before asking them to understand it. Match the delivery to the measured complexity. Predict dropout before it happens and intervene before the user disengages.

What makes this technically interesting is how both measurements are taken — implicitly, from behavioral signals, without asking the user anything explicitly. The Busy Beaver complexity of a user's thinking is inferred from their behavioral patterns. JEPA's dropout prediction is computed from those patterns before each scene is delivered. The user never takes a diagnostic test. The system learns their cognitive profile from how they interact.

Phase 3 Complete — March 21, 2026: 7/7 features passing. 9/9 integrations loaded. 19 files created. 5 files modified. ~6,100 lines new code. 12/12 tests passing. All integration tests green. Zero regressions.

Busy Beaver Complexity: A Primer

The Busy Beaver function BB(n) answers: what is the maximum number of steps that an n-state Turing machine can run before halting? The values are: BB(1)=1, BB(2)=6, BB(3)=21, BB(4)=107, BB(5)=47,176,870. BB(6) is not known — it is larger than any number that has ever been computed in the known history of computation.

The function grows faster than any computable function. This makes it useful as a complexity measure: a problem that requires at least n states to solve has BB-level n. Problems with higher BB levels are harder not just in the sense of requiring more computation — they are harder in the sense of requiring more conceptual apparatus. A BB=5 problem cannot be solved with the concepts available at BB=3.

BB(1)
= 1 step
BB(2)
= 6 steps
BB(3)
= 21 steps
BB(5)
= 47,176,870 steps

The platform uses BB complexity as a measure of "what is the minimum number of conceptual states needed to understand this?" A simple pattern-matching task requires 1-2 conceptual states. A recursive reasoning task requires 3-4. A meta-level reasoning task (reasoning about reasoning rules) requires 4-5. The BB level of a user's thinking — inferred from their behavioral data — determines which content complexity levels they can productively engage with.

The Busy Beaver Problem Is Unsolvable — That's the Point

BB(n) is not computable for arbitrary n. No algorithm can determine whether a given Turing machine will halt — this is the Halting Problem, proven undecidable by Turing in 1936. Every known value of BB(n) was determined by exhaustive analysis of individual machines, not by a general algorithm. BB(6) remains unknown not because mathematicians haven't tried, but because the problem provably cannot be solved by any computable procedure.

This uncomputability is precisely what makes BB such a powerful complexity measure. Problems at BB=5 require capabilities that cannot be reduced to simpler capabilities through any mechanical procedure. You cannot write an algorithm that takes a BB=5 problem and simplifies it to BB=3 — if you could, that algorithm would solve the Halting Problem, which is impossible. The BB hierarchy is not a linear scale of difficulty; it is a hierarchy of irreducible cognitive architectures.

Why Uncomputability Matters for Learning: Because the BB function is uncomputable, there is no algorithmic shortcut that teaches a BB=2 user to reason at BB=5. The leap requires genuine conceptual architecture development — new mental models, new reasoning patterns, new ways of handling abstraction. Content delivery must meet users where they are. Trying to "compress" a BB=5 concept into BB=2 language does not produce understanding; it produces the appearance of understanding without the underlying machinery.

For the learning system, this means: you cannot automatically "teach up" a user from BB=2 to BB=5. The BB level is not just a skill level that can be trained with enough practice — it is a measure of the cognitive architecture available to the user at this point in their development. Content delivery should meet users at their BB level, provide the scaffolding needed for the next level up, and resist the temptation to serve BB=5 content to BB=2 users in the belief that "challenging content" automatically produces growth. It does not. It produces frustration and dropout.

The BB measurement in the platform acknowledges this reality. It does not set a ceiling on user development — it sets a floor for the scaffold needed to reach the next level. A BB=2 user receiving BB=3 content with appropriate scaffolding is being given a genuine development opportunity. The same user receiving BB=5 content with no scaffolding is being set up to fail.

BB Values: A Detailed Interpretation Table

The abstract Turing machine states translate directly to observable cognitive behaviors. The following table maps each BB level to its computational definition, the human cognitive analogy, the corresponding content complexity, and the typical user profile that falls at each level:

BB Value Turing Machine States Human Analogy Content Complexity Typical User Profile
BB(1) = 1 1 state Pre-conceptual Single-step patterns Early learner, overwhelmed user
BB(2) = 6 2 states Concrete operational If-then rules, basic conditionals Building foundations
BB(3) = 21 3 states Formal operational Abstract categories, analogies Intermediate practitioner
BB(4) = 107 4 states Meta-cognitive Rules about rules Advanced, domain expert
BB(5) = 47M 5 states Recursive abstraction Meta-meta rules Research level
BB(6) = unknown 6 states Beyond measurement Incomputable complexity

The jump from BB(4)=107 to BB(5)=47,176,870 is not a factor-of-2 increase in difficulty — it is a factor of nearly 500,000. This non-linearity is the defining feature of the BB hierarchy. Cognitive development across these levels is not a smooth gradient; it involves genuine qualitative phase transitions. A user operating at BB=4 (meta-cognitive: reasoning about reasoning) is not simply "more capable" than a BB=3 user — they have access to an entirely different class of reasoning strategies that cannot be decomposed into BB=3 operations.

How BB Level Is Measured Implicitly

The BB level is not measured through a test or questionnaire. It is inferred from four behavioral signal categories that correlate with conceptual state requirements:

Signal Category BB Low (≤2) BB Standard (=3) BB High (≥4)
Vocabulary complexity Common words, simple sentence structure Domain-specific vocabulary, compound sentences Technical jargon, nested clause structures
Reasoning depth Single-step conclusions 2-3 step reasoning chains Multi-step with hypothesis generation
Question sophistication What/How questions Why questions with some nuance Meta-level: "Why does this framework assume X?"
Response latency Fast on simple, slow on complex Consistent across moderate complexity Slow on simple (overthinking), fast on complex

The BB measurement is computed as a posterior probability: given all observed behavioral signals, what is the most likely BB level for this user? The model is Bayesian — it updates the BB estimate with each new behavioral observation. Early estimates (10 interactions) are uncertain; later estimates (50+ interactions) are reliable enough to drive content routing decisions with confidence.

BB Level Inference: The Implementation

The inference logic combines the four signal categories into a weighted composite score. The weights are calibrated against a validation corpus of sessions with known BB outcomes — sessions where a user's eventual performance on explicit reasoning tasks confirmed the system's inferred BB level. The composite score maps to BB levels via empirically derived thresholds:

javascript — BBLevelInference.js
class BBLevelInference {
  inferBBLevel(userBehaviorSignals) {
    const { vocabularyComplexity, reasoningDepth, questionDepth,
            responseLatency, conceptualLeaps } = userBehaviorSignals;

    // BB level correlates with minimum conceptual states needed
    // BB=1: Simple pattern recognition (can complete basic sequences)
    // BB=2: Conditional reasoning (if-then structures)
    // BB=3: Abstract pattern (categorization, analogy)
    // BB=4: Meta-reasoning (reasoning about reasoning)
    // BB=5: Recursive abstraction (rules about rules)

    const complexityScore =
      (vocabularyComplexity * 0.25) +    // range-normalized 0-1
      (reasoningDepth * 0.30) +
      (questionDepth * 0.20) +
      (1 / responseLatency * 0.15) +     // faster = higher BB (within normal range)
      (conceptualLeaps * 0.10);

    if (complexityScore >= 0.85) return 5;
    if (complexityScore >= 0.70) return 4;
    if (complexityScore >= 0.50) return 3;
    if (complexityScore >= 0.30) return 2;
    return 1;
  }
}

The weight distribution reflects empirical findings about signal reliability. Reasoning depth (0.30) is the strongest predictor because it directly measures the number of conceptual states the user deploys in sequence — multi-step reasoning with hypothesis generation reliably indicates BB=4, single-step conclusions reliably indicate BB=2. Vocabulary complexity (0.25) is the second strongest because vocabulary selection is a proxy for conceptual precision — the size of the conceptual vocabulary correlates with the depth of the conceptual hierarchy available to the user.

The response latency signal (0.15) has an interesting non-linear behavior: at BB=1-2, latency is high on complex content because the user is struggling. At BB=4-5, latency is paradoxically high on simple content because the user is over-analyzing — they bring full meta-cognitive machinery to problems that do not require it. The normalized inverse of latency captures the BB=3-4 transition where the user has enough machinery to process complex content quickly without yet applying meta-cognitive overhead to simple content.

"Don't ask a user with BB=1 thinking capacity to tackle a BB=4 problem. The BB measurement happens automatically from user data — no explicit testing required. The complexity match is invisible to the user; its effects are not."

JEPA: Predictive Architecture in Embedding Space

JEPA (Joint-Embedding Predictive Architecture) predicts future states in the embedding space of user engagement, not in the space of raw behavioral signals. This distinction mirrors the ARC-AGI-3 case: predicting in embedding space captures the structural features of engagement (what matters) rather than superficial details (what happens to be measurable).

For study sessions and onboarding, the "future state" is the user's engagement level at the end of the next scene. JEPA takes the compressed representation of the user's current state (BB level, session history, content complexity trajectory, current engagement trajectory) and predicts where the engagement will be after the next scene — specifically, whether it will fall below the dropout threshold.

JEPA Engagement Prediction Pipeline
──────────────────────────────────────────────────────────────
Current State (embedded):
  • BB level estimate + confidence
  • Session position (scene N of M)
  • Engagement trajectory (last 5 scenes)
  • Content complexity vs. BB level (gap)
  • Time-of-day, session-in-day
          │
          ▼
JEPA Encoder → compact state representation
          │
          ▼
JEPA Predictor → predict next engagement state
          │
          ▼
Confidence score: P(user completes next scene)
          │
    ┌─────┴──────────────────────────────────────┐
    │ P(complete) threshold routing:             │
    │                                            │
    │ <20%  → Simplify content complexity        │
    │ 20-35% → Inject hint into next scene       │
    │ 35-65% → Normal delivery                   │
    │ >65%  → Dropout risk — offer break/encourage│
    │ >85%  → Challenge bonus injection          │
    └────────────────────────────────────────────┘
      

JEPA Dropout Prediction: The Implementation

The dropout predictor operationalizes the JEPA pipeline into a concrete intervention decision. The key insight is that the prediction happens before the scene is delivered — the system evaluates the risk of the upcoming scene before the user ever sees it, and adjusts accordingly. This is fundamentally different from reacting to disengagement signals after they appear:

javascript — JEPADropoutPredictor.js
class JEPADropoutPredictor {
  async predictDropoutRisk(userId, currentState, nextSceneConfig) {
    // Encode current state into embedding
    const stateEmbedding = await this.jepa.encodeState({
      bbLevel: currentState.bbLevel,
      currentEngagement: currentState.engagementScore,
      sessionProgress: currentState.completedScenes / currentState.totalScenes,
      recentDifficultyTrend: currentState.difficultySlope,
      timeOfDay: currentState.sessionHour
    });

    // Predict engagement after next scene
    const predictedNextState = await this.jepa.predictOutcome(
      stateEmbedding,
      { sceneComplexity: nextSceneConfig.bbLevel, contentType: nextSceneConfig.type }
    );

    const dropoutRisk = 1 - predictedNextState.predictedEngagement;

    // Intervention thresholds
    if (dropoutRisk > 0.65) return { risk: dropoutRisk, action: 'SIMPLIFY_NEXT_SCENE' };
    if (dropoutRisk > 0.50) return { risk: dropoutRisk, action: 'INJECT_ENCOURAGEMENT' };
    if (dropoutRisk > 0.35) return { risk: dropoutRisk, action: 'ADD_HINT_AVAILABILITY' };
    return { risk: dropoutRisk, action: 'PROCEED_NORMALLY' };
  }
}

The difficultySlope field in the state embedding is particularly important. It captures the trend of difficulty changes across the recent scene history. A user with a negative difficulty slope (content becoming easier) is recovering from a stretch of challenging content. A user with a positive difficulty slope (content becoming harder) is in an escalating challenge pattern. JEPA uses this slope to contextualize the upcoming scene's complexity: the same BB=3 scene that would be normal for a user at baseline engagement may be a dropout trigger for a user already on a positive difficulty slope who is approaching their capacity ceiling.

Why Prediction Beats Reaction: A system that detects disengagement after the user has already disengaged cannot recover the session — the user has already left. A system that predicts disengagement one scene before it occurs can intervene in the current scene, changing the trajectory before the dropout occurs. This is the economic value of prediction over reaction: prevention is always cheaper than recovery, and in engagement, there is often no recovery opportunity once the user has closed the app.

The BB Measurement Remains Invisible to Users

One of the most carefully considered design decisions in the BB+JEPA architecture is that users never see their BB score. They never receive a message saying "you are currently at BB=3." They never see a complexity rating on content. They are never told that their questions have been analyzed and categorized. The measurement operates entirely in the background — an invisible infrastructure that shapes what content is served, in what order, with what scaffolding, at what pace.

"The BB measurement happens in the background — users never see a 'complexity score.' They just find that content becomes easier, sessions become shorter, and the system seems to know what they need. The BB engine is the reason the system feels intelligent rather than algorithmic."

The reason for this design decision is grounded in self-determination theory: when people are made aware of being assessed and categorized, their intrinsic motivation decreases. Being told "you are BB=2" activates a fixed-mindset interpretation — "I am low-complexity, that is a property of me." The system achieves its adaptive effect without triggering that response. Users experience the outcome (content that fits, sessions that feel right) without the evaluative framing that would undermine it.

This also has a practical consequence for data quality: users who know they are being complexity-assessed may alter their behavior in ways that corrupt the signal. Asking longer sentences, using more technical vocabulary, slowing down to seem more thoughtful — all of these would contaminate the behavioral signals that BB inference depends on. The implicit measurement captures authentic behavioral patterns; explicit measurement would contaminate them.

The 14 Integration Points

Feature File Lines BB Capability Test
Onboarding BB_JEPA_OnboardingIntegration.js 450 BB level from registration PASS
Story-Quest BB_JEPA_StoryQuestIntegration.js 368 BB quest complexity PASS
Interview BB_JEPA_InterviewIntegration.js 400 BB question complexity PASS
Story Report BB_JEPA_ReportIntegration.js 340 BB insight analysis PASS
Life Composition (shared) 340 BB values complexity PASS
Study Session (integrated) BB topic complexity PASS
ASI: ALICE (integrated) BB spatial patterns PASS

The 450-line Onboarding integration is the most important for first impressions. Within the registration flow, the system takes whatever behavioral signals are available (vocabulary in the user's goal statement, pacing of form completion, question choices where offered) and generates an initial BB estimate. This initial estimate seeds the behavioral DNA and determines the first-session content routing. A BB≥3 new user gets advanced content immediately. A BB≤2 new user gets scaffolded onboarding with extra context and simpler initial challenges.

Three Adaptive Paths

BB ≥ 3
Fast-Track
BB = 3
Standard
BB ≤ 2
Guided

Fast-Track (BB≥3): Advanced content immediately. No scaffolding, minimal setup. Assumes the user can handle multi-step reasoning, domain-specific vocabulary, and abstract frameworks from the first session. JEPA monitoring is still active but dropout thresholds are set higher (user can tolerate more difficulty before intervention is needed). Challenge bonus injections are frequent.

Standard (BB=3): Standard progression through content. Moderate scaffolding, gradual complexity increase. Most users land here. JEPA thresholds at default settings (65% dropout → encourage, 35% → hint). Challenge bonuses at the end of sessions that complete above the engagement baseline.

Guided (BB≤2): Extra scaffolding, simplified initial content, frequent success moments built into the session structure. JEPA dropout threshold is lower (60% → intervention) because early-stage learners are more fragile — a discouraging experience in the first few sessions has outsized negative impact on retention. Hints are proactive rather than reactive: they appear before the user signals struggle, not after.

BB+JEPA Integration Across the Discovery Engine

The BB+JEPA framework is not confined to the learning experience layer. The same complexity-matching principle that prevents student dropout also guides the discovery engine's hypothesis evaluation pipeline. A scientific hypothesis with BB complexity 4 cannot be adequately evaluated by a validation pipeline that only operates at BB=3 — the pipeline would miss the meta-cognitive dimensions of the hypothesis, evaluate it at a shallower level than it merits, and potentially reject a valid high-BB hypothesis because the validator lacks the conceptual architecture to assess it.

The discovery engine therefore measures the BB complexity of each hypothesis before routing it to a validator. A hypothesis about the arithmetic structure of Riemann zeros — an approach that requires reasoning about the distribution of prime gaps at multiple levels of abstraction simultaneously — has BB complexity approximately 5. Validating it requires the full 12-engine mathematical synthesis, which is the discovery engine's highest-capability validation pathway. A hypothesis about a simpler biomarker correlation may be BB=3 and can be validated with a streamlined two-stage pipeline.

Discovery Engine BB Routing: BB≤2 hypotheses route to pattern-matching validators. BB=3 hypotheses route to structured reasoning validators. BB=4 hypotheses require multi-stage synthesis validators. BB=5 hypotheses activate the full 12-engine mathematical synthesis. The routing is automatic — the discovery engine estimates hypothesis BB complexity from the structural features of the hypothesis statement before validation begins.

This has a practical implication for the Riemann Hypothesis work. The arithmetic-site approach (Article 41) reached a 97.2% computational verification score because the evolutionary orchestrator seeded it with BB=5 complexity hypotheses, and the validation pipeline was calibrated to handle BB=5 material. Earlier runs of the same sub-problem with a BB=3 validator produced lower scores not because the hypotheses were weaker, but because the validator was unable to recognize their full strength. The BB mismatch between hypothesis and validator was a systematic source of underevaluation that was resolved by upgrading the validator's complexity ceiling.

The broader principle: complexity-matching is not just a user experience feature. It is an architectural requirement for any system that must evaluate or transmit high-BB material accurately. A BB=3 system evaluating a BB=5 hypothesis will produce a BB=3 assessment of a BB=5 thing — which is necessarily incomplete. The discovery engine's investment in BB=5 validation capability is what makes it capable of recognizing when it has found something genuinely novel at the highest levels of conceptual complexity.

The Architectural Principle: Measure Complexity First

The deeper principle behind BB+JEPA is that content delivery without complexity measurement is guesswork. Every learning system that delivers the same content to all users is implicitly assuming that all users have the same cognitive complexity capacity — an assumption that is demonstrably false and leads to systematic failure at both ends of the distribution (too hard for low-BB users, too easy for high-BB users).

The BB measurement is implicit by design. Users do not take a complexity assessment test. They do not see a BB score. They experience content that happens to be matched to their cognitive level, which feels natural — like being understood — rather than being assessed and sorted, which feels evaluative and threatening.

The Design Payoff: When BB+JEPA is working correctly, users experience no system at all. They experience learning. Content appears at the right difficulty. Sessions end at the right time. Hints appear when needed without being asked for. The invisible measurement infrastructure makes the experience feel human and responsive rather than mechanical and one-size-fits-all. The BB engine is what converts a content delivery system into what feels like a thoughtful human tutor.

Dropout Prevention: The Business Consequence

The dropout prevention thresholds (60% for onboarding, 65% for quests and study sessions) translate directly into retention metrics. Every user who receives a timely intervention at the dropout prediction threshold has a higher probability of completing the current session and returning for future sessions. The intervention cost is small (inject a hint, offer encouragement, simplify the next scene). The retention benefit is large (users who complete sessions have 3-5x higher lifetime value than users who abandon sessions).

JEPA's prediction capability is what makes the intervention timely rather than reactive. A system that detects disengagement after the user has already disengaged cannot recover the session — the user has already left. A system that predicts disengagement one scene before it occurs can intervene in the current scene, changing the trajectory before the dropout occurs. This is the economic value of prediction over reaction: it is always cheaper to prevent a problem than to recover from one.

The JEPA architecture also enables a subtler optimization: not all dropout prevention interventions are equal. A hint injected at 60% dropout risk (early intervention) has higher expected value than a session simplification triggered at 85% dropout risk (late intervention), because early intervention preserves the session's challenge trajectory while late intervention requires resetting it. The graduated threshold system (ADD_HINT_AVAILABILITY at 35%, INJECT_ENCOURAGEMENT at 50%, SIMPLIFY_NEXT_SCENE at 65%) matches intervention cost to dropout risk — low-cost interventions early, higher-cost interventions only when necessary.

"JEPA's prediction horizon is one scene. That is enough. One scene of advance warning is the difference between a timely nudge that keeps the user engaged and a late intervention that cannot reverse a decision already made."

What the 12/12 Test Results Actually Mean

The 12/12 test pass rate reflects that all integration points work correctly in the test environment. What the tests verify: that BB level inference produces consistent output for consistent input, that JEPA prediction runs without error, that the threshold routing produces the correct action labels, that the integration with each of the 7 feature modules (onboarding, story-quest, interview, report, life composition, study session, ASI/ALICE) correctly receives and applies the BB+JEPA outputs.

What the tests do not verify: production accuracy of BB inference on real users, real-time JEPA prediction accuracy in live sessions, long-run calibration of the threshold values. These are empirical questions that can only be answered with production data. The tests provide a foundation of correctness; production monitoring provides the accuracy feedback loop.

Honest Assessment of Phase 3: The 12/12 test pass rate and 7/7 feature completeness are real — all integration points are working. What the metrics do not capture: the BB level inference is most accurate for users with clear behavioral signals (high-BB users with distinctive vocabulary and reasoning patterns, very low-BB users with simple patterns). For the middle range of BB=3 users, the inference is less precise (confidence intervals are wider). JEPA dropout predictions are validated on historical session data; real-time accuracy in production is expected to be slightly lower during the first 4-6 weeks as the model calibrates to the actual user distribution.