Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

AI dynamic difficulty calibration and prerequisite gap detection during study sessions

Open
#52 2 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
28/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
nodejs, typescript
Domain
ai, cli

Research direction

This is a new calibration loop around palee test and palee tutor: prompts must score conceptual, practical, debug, and Feynman dimensions and emit the assessment_proposal JSON in the issue. Candidate depends_on edges must go through detectCycle() and an anomaly gate before a y/N confirmation; approved changes update difficulty and depends_on in note frontmatter atomically without rewriting the body. Done means the listed acceptance criteria hold; no source paths are named in the issue, so start from the existing test/tutor CLI entry points and graph helpers.

Written by the indexing model from the issue text.

Description

AI breaking core enhancement help wanted priority: medium working

Context and Problem Statement

When onboarding a large curriculum (such as 25 modules in comprehensive study guides), two major friction points occur:

  1. Inaccurate Static Difficulty: Assigning a blanket difficulty rating during initial adoption is only a placeholder. Cognitive difficulty varies significantly depending on the learner's experience.
  2. Impractical Dependency Wiring: Expecting a learner to manually wire hundreds of depends_on relationships upfront creates substantial onboarding friction.

We need the system to dynamically learn, calibrate, and refine topic difficulty ratings and prerequisite relationships as the learner actively studies and tests their knowledge.

Proposed Solution

Leverage palee test and palee tutor as an active evaluation and calibration loop:

  1. Cognitive Rubric Evaluation (Bloom's Taxonomy):
    During test dialogues, evaluate learner understanding across four distinct dimensions:
  • Conceptual: Core definitions, mental models, and principles.
  • Practical: CLI commands, syntax, and standard configurations.
  • Debug: Edge cases, incident diagnosis, and underlying OS/system behaviors.
  • Feynman: Plain-language explanatory ability.

Based on learner responses and the intrinsic depth of the note, the AI suggests updating the topic's difficulty (eginner, intermediate, dvanced).

  1. Prerequisite Gap Detection:
    If a learner struggles with a topic due to an unmastered prerequisite (for example, attempting to debug Kubernetes Ingress without understanding ClusterIP Services), the AI identifies the missing concept in the vault and suggests adding it to depends_on.

  2. Human Confirmation Gate:
    The AI never modifies files directly. It returns a structured proposal with explicit evidence. PALEE validates the proposal against graph invariants (cycle detection) and requires human confirmation before writing changes to the note frontmatter.

Proposed Implementation

Structured Assessment Proposal Schema

The AI output schema will include candidate metadata adjustments:
json { "type": "assessment_proposal", "topic_id": "T-k8s-ingress", "scores": { "conceptual": 0.85, "practical": 0.70, "debug": 0.40, "feynman": 0.75 }, "suggested_difficulty": "intermediate", "suggested_dependencies": [ { "topic_id": "T-k8s-services", "reason": "Understanding ClusterIP packet routing is required before debugging Ingress controller proxying." } ], "evidence": "Demonstrated solid understanding of routing rules, but struggled when upstream service endpoints were unready." }

Invariant & Anomaly Checks
  1. Graph Cycle Detection: Candidate dependencies are checked with detectCycle() before display.
  2. Anomaly Gate: If mastery score jumps unexpectedly (>0.40 in under 10 minutes), require typing explicit CONFIRM.
  3. Frontmatter Updates: On user approval, update difficulty and depends_on atomically, preserving existing custom properties.

Acceptance Criteria

  • Prompts for palee test include cognitive evaluation criteria across conceptual, practical, debug, and Feynman dimensions.
  • AI session returns structured proposal with difficulty adjustments, prerequisite suggestions, and evidence.
  • Graph cycle check runs on all candidate dependencies before presenting to the user.
  • User is presented with a clear summary and must confirm (y/N) before changes are applied.
  • Anomaly checks trigger on out-of-band score increases.
  • Frontmatter updates are atomic and preserve note body and tags.
Dominant language
TypeScript
Stars
1
Forks
0
Avg merge
1d 1h
Merged PRs (30d)
132

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Kuldeep2822k/cli

All issues in Kuldeep2822k/cli

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.