Task Selection

Graspful doesn't show problems randomly or in a fixed sequence. It maintains a priority queue for every student, re-evaluated on each interaction, to surface the single highest-value task at any moment.

Why order matters

Two students with identical knowledge can have wildly different optimal next steps. One might be forgetting a critical prerequisite. The other might be ready for a section exam. Showing both the same problem wastes time for at least one of them.

The task selector solves this by ranking every possible task into five priority tiers, then picking the highest-priority item. Within a tier, tasks are ordered by urgency (e.g., lowest memory strength first for reviews, highest graph value first for new lessons).

The priority system

Every task falls into exactly one priority tier. P1 always beats P2, P2 always beats P3, and so on. The system never skips a higher priority to serve a lower one.

P1Remediation

The student is stuck. They've failed a concept twice or more, and the system has identified a weak prerequisite causing the block. P1 tasks target that specific prerequisite with focused practice.

Trigger: failCount >= 2 on any active concept

P2Urgent Review

A previously mastered concept has decayed below 0.3 memory strength. If the student doesn't review soon, they'll effectively forget it. P2 prevents hard-won knowledge from disappearing.

Trigger: memory strength < 0.3

P3Section Exams

All concepts in a section have been mastered and the section has an exam configured. Time for the cumulative assessment that certifies the student's knowledge across the section.

Trigger: all section concepts mastered + exam enabled

P4New Lessons

The knowledge frontier — the highest-value concept the student is ready to learn next. Prerequisites are met, and this concept unlocks the most downstream knowledge in the graph.

Trigger: prerequisites mastered, concept not yet started

P5Standard Reviews

Memory strength is between 0.3 and 0.5 — the concept is due for reinforcement but not yet at risk of being lost. These fill gaps between higher-priority work.

Trigger: memory strength 0.3 - 0.5

Plateau detection and remediation

When a student fails the same concept twice (failCount >= 2), the system declares a plateau. Instead of hammering the same concept again, it runs a backward search through the prerequisite graph using BFS to find the weakest upstream concept.

How the diagnosis works

  • 1.The student fails a concept for the second time (e.g., "Subnet Design").
  • 2.The system walks backward through the prerequisite graph via BFS, inspecting each ancestor's mastery level.
  • 3.It finds the weakest prerequisite (e.g., "CIDR Notation" at 40% mastery).
  • 4.That prerequisite becomes a P1 remediation task. The student practices it until mastery is restored.
  • 5.Once the prerequisite is solid, the original concept is retried automatically.

This is the key insight: when a student is stuck, the problem usually isn't the current concept. It's a gap in something they were supposed to already know. Remediation targets the root cause, not the symptom.

Interleaving

Research shows that mixing different concept types within a study session (interleaving) produces stronger long-term retention than blocking (studying one topic at a time). Graspful's priority system creates natural interleaving: a session might alternate between a new lesson (P4), a review (P5), remediation on a different concept (P1), and then back to new material.

The priority queue doesn't force interleaving artificially. It emerges from the fact that different concepts are at different stages of the learning lifecycle. The result is a varied, engaging session that also happens to optimize retention.

Example session

Here's what a typical 15-minute session might look like. The task selector re-evaluates after every answer.

example-session-flow.yaml
# Student: studying AWS SAA-C03, 15-minute session
# The task selector picks these in order:

- task: 1
  priority: P2  # Urgent Review
  concept: vpc-basics
  reason: "memory strength 0.22 — below 0.3 threshold"
  action: review problem on VPC CIDR ranges

- task: 2
  priority: P4  # New Lesson
  concept: nacl-vs-security-groups
  reason: "prerequisites met, highest graph value on frontier"
  action: instruction + KP1 practice (recognition)

- task: 3
  priority: P5  # Standard Review
  concept: shared-responsibility
  reason: "memory strength 0.41 — due for reinforcement"
  action: review problem on customer vs. AWS duties

- task: 4
  priority: P4  # New Lesson
  concept: nacl-vs-security-groups
  reason: "KP1 passed, advancing to KP2"
  action: KP2 practice (guided application)

- task: 5
  priority: P1  # Remediation
  concept: cidr-notation       # prerequisite of subnet-design
  reason: "subnet-design failCount=2, BFS found cidr-notation at 0.38 mastery"
  action: targeted practice on CIDR notation

How task selection connects to other systems

Task selection sits at the center of the adaptive engine. It reads from the student model, knowledge graph, and spaced repetition schedule, then outputs a single decision: what to show next.

  • Knowledge graph — provides the prerequisite structure used for frontier calculation and BFS remediation diagnosis.
  • Student model — provides mastery levels, fail counts, and concept states that determine priority tier assignment.
  • Spaced repetition — provides memory strength scores that trigger P2 and P5 reviews at the right moment.
  • Gamification — awards XP based on the task type completed, with harder tasks earning more.

Next steps